Function at 0x40fb90
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x720
mov esi, esp
mov al, byte [esi + 0x1ec]
mov byte [esi + 0x1f0], al
mov byte [esi + 0x428], 0xbf
mov byte [esi + 0x429], 0x19
mov eax, 2
mov byte [esi + eax + 0x428], 0
add eax, 1
cmp eax, 5
jne 0x40fbc0
xor eax, eax
cmp eax, 5
jae 0x40fc0a
movzx edx, byte [esi + eax + 0x428]
mov ecx, eax
add ecx, 0x688fa03a
mov edi, eax
shl edi, 1
add edi, 0x75
mov ebx, ecx
sub ebx, edi
and ebx, edx
xor edx, 0xffffffff
and ecx, edx
or ebx, ecx
add bl, 0xde
mov byte [esi + eax + 0x428], bl
add eax, 1
jmp 0x40fbd2
sub esp, 8
lea eax, [esi + 0x428]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00401980
add esp, 8
mov dword [esi + 0xa4], eax
push eax
mov ebx, esp
push eax
mov edi, esp
mov dword [ebx], 0x7a88c456
mov dword [edi], ebx
mov dword [esi], edi
mov dword [esi + 4], ebx
mov eax, dword [ebx]
mov ecx, eax
sub ecx, 0x801afc50
je 0x412e07
jmp 0x40fc50
mov ecx, eax
sub ecx, 0x822c6d94
je 0x412e14
jmp 0x40fc60
mov ecx, eax
sub ecx, 0x844bcd94
je 0x41283e
jmp 0x40fc70
mov ecx, eax
sub ecx, 0x86012645
je 0x410d65
jmp 0x40fc80
mov ecx, eax
sub ecx, 0x864d9581
je 0x411411
jmp 0x40fc90
mov ecx, eax
sub ecx, 0x8812bf7a
je 0x410e2c
jmp 0x40fca0
mov ecx, eax
sub ecx, 0x88a96c1c
je 0x4140f5
jmp 0x40fcb0
mov ecx, eax
sub ecx, 0x89913f63
je 0x4140c8
jmp 0x40fcc0
mov ecx, eax
sub ecx, 0x8b4ac4dd
je 0x41389d
jmp 0x40fcd0
mov ecx, eax
sub ecx, 0x8cc82e89
je 0x410e1f
jmp 0x40fce0
mov ecx, eax
sub ecx, 0x8d486962
je 0x4129e7
jmp 0x40fcf0
mov ecx, eax
sub ecx, 0x8de77949
je 0x4133cd
jmp 0x40fd00
mov ecx, eax
sub ecx, 0x975d748a
je 0x414414
jmp 0x40fd10
mov ecx, eax
sub ecx, 0x976d9bdf
je 0x41137b
jmp 0x40fd20
mov ecx, eax
sub ecx, 0x977eddf9
je 0x41313e
jmp 0x40fd30
mov ecx, eax
sub ecx, 0x97c3fc10
je 0x413b23
jmp 0x40fd40
mov ecx, eax
sub ecx, 0x995f4e1b
je 0x4142ca
jmp 0x40fd50
mov ecx, eax
sub ecx, 0x9a881373
je 0x412b82
jmp 0x40fd60
mov ecx, eax
sub ecx, 0x9b886509
je 0x41430c
jmp 0x40fd70
mov ecx, eax
sub ecx, 0x9c639293
je 0x4133a3
jmp 0x40fd80
mov ecx, eax
sub ecx, 0x9efaf356
je 0x41386a
jmp 0x40fd90
mov ecx, eax
sub ecx, 0xa0eb7dcc
je 0x4139a6
jmp 0x40fda0
mov ecx, eax
sub ecx, 0xa1805d6e
je 0x41427c
jmp 0x40fdb0
mov ecx, eax
sub ecx, 0xa1aa0683
je 0x4109cc
jmp 0x40fdc0
mov ecx, eax
sub ecx, 0xa5f656a1
je 0x412a56
jmp 0x40fdd0
mov ecx, eax
sub ecx, 0xa623a5b3
je 0x411956
jmp 0x40fde0
mov ecx, eax
sub ecx, 0xaa0cf0a2
je 0x4142fc
jmp 0x40fdf0
mov ecx, eax
sub ecx, 0xaa565605
je 0x41143c
jmp 0x40fe00
mov ecx, eax
sub ecx, 0xaad66da0
je 0x4138bc
jmp 0x40fe10
mov ecx, eax
sub ecx, 0xabc12fdc
je 0x412163
jmp 0x40fe20
mov ecx, eax
sub ecx, 0xacef1477
je 0x411bc2
jmp 0x40fe30
mov ecx, eax
sub ecx, 0xb096a062
je 0x4128ea
jmp 0x40fe40
mov ecx, eax
sub ecx, 0xb0ce6be9
je 0x4107ba
jmp 0x40fe50
mov ecx, eax
sub ecx, 0xb185d035
je 0x4114a1
jmp 0x40fe60
mov ecx, eax
sub ecx, 0xb5e66044
je 0x410c0d
jmp 0x40fe70
mov ecx, eax
sub ecx, 0xb6d5f8c0
je 0x412c42
jmp 0x40fe80
mov ecx, eax
sub ecx, 0xb7d7fa95
je 0x410e12
jmp 0x40fe90
mov ecx, eax
sub ecx, 0xb955c46b
je 0x41277c
jmp 0x40fea0
mov ecx, eax
sub ecx, 0xbab487c8
je 0x410ca4
jmp 0x40feb0
mov ecx, eax
sub ecx, 0xbdf9e5b7
je 0x4131ca
jmp 0x40fec0
mov ecx, eax
sub ecx, 0xbe7bcaff
je 0x411720
jmp 0x40fed0
mov ecx, eax
sub ecx, 0xbf6d6d9f
je 0x413db0
jmp 0x40fee0
mov ecx, eax
sub ecx, 0xbf9025fa
je 0x412b70
jmp 0x40fef0
mov ecx, eax
sub ecx, 0xc0da8859
je 0x411c9a
jmp 0x40ff00
mov ecx, eax
sub ecx, 0xc1022758
je 0x4141fc
jmp 0x40ff10
mov ecx, eax
sub ecx, 0xc119c9c6
je 0x413942
jmp 0x40ff20
mov ecx, eax
sub ecx, 0xc20cc345
je 0x4117b8
jmp 0x40ff30
mov ecx, eax
sub ecx, 0xc23b2079
je 0x4121e6
jmp 0x40ff40
mov ecx, eax
sub ecx, 0xc3cf9cc1
je 0x413b05
jmp 0x40ff50
mov ecx, eax
sub ecx, 0xc409265a
je 0x414321
jmp 0x40ff60
mov ecx, eax
sub ecx, 0xc6aeaf95
je 0x4132fd
jmp 0x40ff70
mov ecx, eax
sub ecx, 0xca96ddfa
je 0x41142a
jmp 0x40ff80
mov ecx, eax
sub ecx, 0xcaaa6e9e
je 0x4141ea
jmp 0x40ff90
mov ecx, eax
sub ecx, 0xcafe421c
je 0x410e39
jmp 0x40ffa0
mov ecx, eax
sub ecx, 0xcc20753b
je 0x412c72
jmp 0x40ffb0
mov ecx, eax
sub ecx, 0xd3f9259d
je 0x4128b2
jmp 0x40ffc0
mov ecx, eax
sub ecx, 0xd510e319
je 0x411a4d
jmp 0x40ffd0
mov ecx, eax
sub ecx, 0xd7087fb8
je 0x414244
jmp 0x40ffe0
mov ecx, eax
sub ecx, 0xd73f31ac
je 0x412b4a
jmp 0x40fff0
mov ecx, eax
sub ecx, 0xd8e29ab7
je 0x412752
jmp 0x410000
mov ecx, eax
sub ecx, 0xda9339ef
je 0x4138aa
jmp 0x410010
mov ecx, eax
sub ecx, 0xdc8ca3c3
je 0x413e14
jmp 0x410020
mov ecx, eax
sub ecx, 0xdd50a65c
je 0x413d60
jmp 0x410030
mov ecx, eax
sub ecx, 0xdf1e365c
je 0x41146c
mov eax, dword [edi]
mov dword [eax], 0xaa0cf0a2
mov byte [esi + 0xf], 1
jmp 0x41442f
mov eax, 0x77f429c0
cmp dword [esi + 0x44], 1
jl 0x4109dc
mov eax, 0xe7d02aaa
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x41442f
mov al, byte [esi + 0x1cc]
mov byte [esi + 0x208], al
mov byte [esi + 0x400], 0x1a
mov byte [esi + 0x401], 0x9b
mov eax, 2
mov byte [esi + eax + 0x400], 0
add eax, 1
cmp eax, 8
jne 0x410c2c
xor eax, eax
cmp eax, 8
jae 0x410c69
mov cl, byte [esi + eax + 0x400]
mov dl, al
add dl, 0x1b
xor dl, cl
add dl, 0x79
mov byte [esi + eax + 0x400], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x410c3e
mov eax, dword [esi + 8]
lea ecx, [esi + 0x400]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b30
add esp, 0xc
mov ecx, 0xbab487c8
cmp eax, 0
jne 0x410c9b
mov ecx, 0xb7d7fa95
mov eax, dword [edi]
mov dword [eax], ecx
jmp 0x41442f
mov al, byte [esi + 0x1c8]
mov byte [esi + 0x20c], al
mov byte [esi + 0x3f8], 0xbc
mov byte [esi + 0x3f9], 0x19
mov eax, 2
mov byte [esi + eax + 0x3f8], 0
add eax, 1
cmp eax, 6
jne 0x410cc3
mov eax, dword [edi]
mov dword [eax], 0xece6f824
jmp 0x41442f
mov al, byte [esi + 0x1c4]
mov byte [esi + 0x210], al
mov byte [esi + 0x2f4], 0xf6
mov byte [esi + 0x2f5], 0xe6
mov byte [esi + 0x2f6], 0x9a
mov eax, 3
mov byte [esi + eax + 0x2f4], 0
add eax, 1
cmp eax, 5
jne 0x410d8b
xor eax, eax
cmp eax, 5
jae 0x410dcf
movzx edx, byte [esi + eax + 0x2f4]
mov ecx, eax
add ecx, 0x9120989b
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0xf0
xor ecx, 7
sub edx, ecx
mov byte [esi + eax + 0x2f4], dl
add eax, 1
jmp 0x410d9d
mov eax, dword [esi + 8]
sub esp, 0xc
lea ecx, [esi + 0x2f4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00401b30
add esp, 0xc
sub eax, 1
mov cl, 1
sbb cl, 0xff
mov eax, 0x6592302d
test cl, 1
jne 0x410e09
mov eax, 0xcafe421c
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x8cc82e89
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x8812bf7a
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x6592302d
jmp 0x41442f
mov al, byte [esi + 0x1c0]
mov byte [esi + 0x214], al
mov byte [esi + 0x3f0], 0xdc
mov byte [esi + 0x3f1], 0x4b
mov eax, 2
mov byte [esi + eax + 0x3f0], 0
add eax, 1
cmp eax, 8
jne 0x410e58
xor eax, eax
cmp eax, 8
jae 0x410e8c
mov cl, byte [esi + eax + 0x3f0]
mov dl, al
add dl, 0x73
xor dl, cl
add dl, 0xc1
mov byte [esi + eax + 0x3f0], dl
add eax, 1
jmp 0x410e6a
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3f0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x348], eax
mov al, byte [esi + 0x1bc]
mov byte [esi + 0x218], al
mov byte [esi + 0x5c], 0xe5
mov byte [esi + 0x5d], 0x71
mov eax, 2
mov byte [esi + eax + 0x5c], 0
add eax, 1
cmp eax, 4
jne 0x410ec6
xor eax, eax
cmp eax, 4
jae 0x410efd
mov dl, byte [esi + eax + 0x5c]
mov edi, eax
xor edi, 0x14
mov ecx, eax
shl ecx, 1
and ecx, 0xd6
sub ecx, edi
xor cl, dl
add cl, 0x64
mov byte [esi + eax + 0x5c], cl
add eax, 1
jmp 0x410ed5
mov eax, dword [esi + 8]
lea ecx, [esi + 0x5c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401980
add esp, 8
mov dword [esi + 0x34c], eax
mov al, byte [esi + 0x1b8]
mov byte [esi + 0x21c], al
mov byte [esi + 0x3e8], 0x9a
mov byte [esi + 0x3e9], 0x2b
mov eax, 2
mov byte [esi + eax + 0x3e8], 0
add eax, 1
cmp eax, 5
jne 0x410f3a
xor eax, eax
cmp eax, 5
jae 0x410fa3
movzx ebx, byte [esi + eax + 0x3e8]
mov edx, pe_nt_image_headers32
sub edx, eax
mov ecx, pe_nt_image_headers32
sub ecx, eax
and ecx, edx
or ecx, ebx
mov edx, pe_nt_image_headers32
sub edx, eax
mov edi, pe_nt_image_headers32
sub edi, eax
or edx, edi
and edx, ebx
xor ecx, 0xffffffff
or edx, ecx
add dl, 0x5d
mov byte [esi + eax + 0x3e8], dl
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 6
mov edi, eax
xor edi, 1
add eax, edi
sub eax, edx
add eax, ecx
jmp 0x410f4c
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3e8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x350], eax
mov al, byte [esi + 0x1b4]
mov byte [esi + 0x220], al
mov byte [esi + 0x58], 0x50
mov byte [esi + 0x59], 0xcb
mov eax, 2
mov byte [esi + eax + 0x58], 0
add eax, 1
cmp eax, 4
jne 0x410fdd
xor eax, eax
cmp eax, 4
jae 0x41103c
mov bl, byte [esi + eax + 0x58]
movzx edx, bl
mov edi, eax
add edi, 0x1a20bb3
xor edi, edx
mov edx, 0x7e5df44c
sub edx, eax
mov ecx, 0x7e5df44c
sub ecx, eax
and edx, ecx
or edx, edi
shl edx, 1
add edx, 2
add edx, eax
add dl, 0xb2
add dl, bl
add dl, 0x82
mov byte [esi + eax + 0x58], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 0x20471971
add eax, ecx
add eax, 0xdfb8e690
jmp 0x410fec
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x58]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x68]
movzx eax, word [esi + 0x68]
or eax, 0xc00
mov word [esi + 0x2b0], ax
fldcw word [esi + 0x2b0]
fistp dword [esi + 0x48c]
fldcw word [esi + 0x68]
mov eax, dword [esi + 0x48c]
mov dword [esi + 0x498], eax
mov al, byte [esi + 0x1b0]
mov byte [esi + 0x224], al
mov byte [esi + 0x2ec], 0xa2
mov byte [esi + 0x2ed], 0x96
mov byte [esi + 0x2ee], 0xf6
mov eax, 3
mov byte [esi + eax + 0x2ec], 0
add eax, 1
cmp eax, 7
jne 0x4110a8
xor eax, eax
cmp eax, 7
jae 0x4110e6
movzx edx, byte [esi + eax + 0x2ec]
mov edi, eax
add edi, 0x7e
mov ecx, eax
add ecx, 0x7e
and ecx, edx
or edi, edx
xor ecx, edi
add cl, 0x8a
mov byte [esi + eax + 0x2ec], cl
add eax, 1
jmp 0x4110ba
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x2ec]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x66]
movzx eax, word [esi + 0x66]
or eax, 0xc00
mov word [esi + 0x2ae], ax
fldcw word [esi + 0x2ae]
fistp dword [esi + 0x488]
fldcw word [esi + 0x66]
mov eax, dword [esi + 0x488]
mov dword [esi + 0x49c], eax
mov al, byte [esi + 0x1ac]
mov byte [esi + 0x228], al
mov byte [esi + 0x38], 0x32
mov byte [esi + 0x39], 0x35
mov byte [esi + 0x3a], 0x8e
mov eax, 3
mov byte [esi + eax + 0x38], 0
add eax, 1
cmp eax, 4
jne 0x41114c
xor eax, eax
cmp eax, 4
jae 0x411180
mov cl, byte [esi + eax + 0x38]
mov dl, al
add dl, 0x22
xor dl, cl
add dl, 0x56
mov byte [esi + eax + 0x38], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x41115b
lea eax, [esi + 0x38]
mov dword [esi + 0x4a0], eax
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x55c1bc6d
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x34]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411394
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xac], eax
mov eax, dword [0x44f268]
mov dword [esi + 0x44c], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x434], eax
mov edx, dword [esi + 0xac]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x70]
xor ecx, ecx
lea ecx, [esi + 0x34]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0x434]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call dword [esi + 0x44c]
cmp eax, 0
setge al
and al, 1
mov byte [esi + 0x1a], al
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x864d9581
jmp 0x41442f
mov eax, 0xdf1e365c
test byte [esi + 0x1a], 1
jne 0x411421
mov eax, 0xca96ddfa
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x41442f
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xaa565605
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0xe443bdb
jmp 0x41442f
mov eax, dword [esi + 0x350]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4114d2
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0x350]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
lea ecx, [esi + 0x690]
sub esp, 4
mov dword [esp], 1
call fcn.00409090
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x778c1a66
mov dword [esi + 0x308], 0
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x4219d1a0
jmp 0x41442f
lea ecx, [esi + 0x690]
call fcn.00409ae0
lea ecx, [esi + 0x690]
call fcn.00409170
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xe08d4b7b
mov ebx, dword [esi + 4]
jmp 0x41442f
mov al, byte [esi + 0x194]
mov byte [esi + 0x238], al
mov byte [esi + 0x3d8], 0x7f
mov byte [esi + 0x3d9], 0xb
mov eax, 2
mov byte [esi + eax + 0x3d8], 0
add eax, 1
cmp eax, 5
jne 0x411975
xor eax, eax
cmp eax, 5
jae 0x4119f4
movzx edx, byte [esi + eax + 0x3d8]
mov edi, eax
add edi, 0xd4c56c83
mov dword [esi + 0x98], eax
mov ecx, dword [esi + 0x98]
add ecx, 3
and ecx, edx
shl ecx, 1
add edi, edx
sub ecx, edi
mov edx, edi
shl edx, 1
and edx, 2
mov eax, 1
sub eax, edi
mov edi, dword [esi]
and eax, 1
add ecx, 0x8f
and ecx, 0xfe
or ecx, eax
xor ecx, 0xfe
add ecx, edx
mov eax, dword [esi + 0x98]
mov byte [esi + eax + 0x3d8], cl
mov eax, dword [esi + 0x98]
add eax, 1
jmp 0x411987
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3d8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call fcn.00401b30
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x1b], al
mov eax, dword [edi]
mov dword [eax], 0x5bfae4f4
jmp 0x41442f
mov al, byte [esi + 0x190]
mov byte [esi + 0x23c], al
mov byte [esi + 0x50], 0xca
mov byte [esi + 0x51], 0x5b
mov eax, 2
mov byte [esi + eax + 0x50], 0
add eax, 1
cmp eax, 4
jne 0x411a66
xor ebx, ebx
cmp ebx, 4
jae 0x411ac9
movzx edi, byte [esi + ebx + 0x50]
mov ecx, ebx
add ecx, 0x70f84b0f
mov edx, 0xf07b4f0
sub edx, ebx
mov eax, edx
xor eax, 0x65132b5d
or edx, 0x9aecd4a2
and edx, eax
and ecx, 0x65132b5d
or edx, ecx
mov ecx, edi
xor ecx, 0x5d
mov eax, edi
xor eax, 0x5d
or ecx, eax
and ecx, edx
xor edi, 0x5d
or edi, edx
xor edi, 0xffffffff
or ecx, edi
add cl, 0xb5
mov byte [esi + ebx + 0x50], cl
add ebx, 1
jmp 0x411a75
mov eax, dword [esi + 8]
lea ecx, [esi + 0x50]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b30
add esp, 0xc
mov ecx, 0x79511281
cmp eax, 0
jne 0x411af8
mov ecx, 0xf581c8d
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], ecx
mov ebx, dword [esi + 4]
jmp 0x41442f
mov al, byte [esi + 0x188]
mov byte [esi + 0x244], al
mov byte [esi + 0x2e4], 0xa6
mov byte [esi + 0x2e5], 0xd2
mov byte [esi + 0x2e6], 0x42
mov eax, 3
mov byte [esi + eax + 0x2e4], 0
add eax, 1
cmp eax, 8
jne 0x411be8
xor eax, eax
cmp eax, 8
jae 0x411c43
mov cl, byte [esi + eax + 0x2e4]
mov byte [esi + 0x15], cl
movzx edi, cl
mov ecx, eax
shl ecx, 1
and ecx, 0xa9b0b220
mov edx, eax
xor edx, 0x54d85910
add edx, ecx
mov ecx, edx
and ecx, edi
shl ecx, 1
sub edx, ecx
add dl, byte [esi + 0x15]
add dl, 0xb0
mov byte [esi + eax + 0x2e4], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x411bfa
mov eax, dword [esi + 8]
sub esp, 0xc
lea ecx, [esi + 0x2e4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00401b30
add esp, 0xc
sub eax, 1
mov cl, 1
sbb cl, 0xff
mov eax, 0x6592302d
test cl, 1
mov edi, dword [esi]
jne 0x411c7f
mov eax, 0xc0da8859
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x41442f
mov al, byte [esi + 0x184]
mov byte [esi + 0x248], al
mov byte [esi + 0x3c8], 0xef
mov byte [esi + 0x3c9], 0x91
mov eax, 2
mov byte [esi + eax + 0x3c8], 0
add eax, 1
cmp eax, 6
jne 0x411cb9
xor ebx, ebx
cmp ebx, 6
jae 0x411d45
movzx edx, byte [esi + ebx + 0x3c8]
mov dword [esi + 0x454], edx
mov eax, ebx
xor eax, 0x46454ce4
mov ecx, ebx
shl ecx, 1
and ecx, 0x73756636
sub ecx, eax
mov edi, ecx
and edi, edx
mov edx, edi
and edx, 0xfd
mov eax, edi
and eax, 2
xor eax, 2
imul eax, edx
mov edx, edi
and edx, 2
or edi, 2
imul edi, edx
add edi, eax
add ecx, dword [esi + 0x454]
sub ecx, edi
mov eax, ecx
shl eax, 1
and eax, 0xbeb500e6
xor ecx, 0x5f5a8073
mov edx, ecx
and edx, eax
xor ecx, eax
add ecx, 1
shl edx, 1
add ecx, edx
mov byte [esi + ebx + 0x3c8], cl
add ebx, 1
jmp 0x411ccb
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3c8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x2fc], eax
mov al, byte [esi + 0x180]
mov byte [esi + 0x24c], al
mov byte [esi + 0x4c], 0xf4
mov byte [esi + 0x4d], 7
mov eax, 2
mov byte [esi + eax + 0x4c], 0
add eax, 1
cmp eax, 4
jne 0x411d7f
xor eax, eax
cmp eax, 4
jae 0x411ddb
movzx edx, byte [esi + eax + 0x4c]
mov edi, eax
add edi, 0x795d17c1
mov ecx, 0x6a2e83e
sub ecx, eax
and ecx, 0x2ba902ac
and edi, 0xd456fd53
or ecx, edi
xor ecx, edx
xor ecx, 0x2ba902ac
add ecx, 0xa12e893a
mov edx, ecx
xor edx, 0x48
shl ecx, 1
and ecx, 0x6e
sub ecx, edx
add cl, 0x49
mov byte [esi + eax + 0x4c], cl
add eax, 1
jmp 0x411d8e
mov eax, dword [esi + 8]
lea ecx, [esi + 0x4c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x354], eax
mov al, byte [esi + 0x17c]
mov byte [esi + 0x250], al
mov byte [esi + 0x3c0], 0xb7
mov byte [esi + 0x3c1], 0x5b
mov eax, 2
mov byte [esi + eax + 0x3c0], 0
add eax, 1
cmp eax, 5
jne 0x411e18
xor ebx, ebx
cmp ebx, 5
jae 0x411e9c
movzx eax, byte [esi + ebx + 0x3c0]
mov dword [esi + 0x43c], eax
mov edx, ebx
add edx, 0x70dec78f
mov ecx, edx
and ecx, eax
mov eax, ecx
and eax, 2
xor eax, 2
mov edi, ecx
and edi, 0xfd
imul edi, eax
mov eax, ecx
and eax, 2
or ecx, 2
imul ecx, eax
add ecx, edi
add edx, dword [esi + 0x43c]
mov eax, edx
sub eax, ecx
and edx, 1
or eax, 1
add eax, 0x34
add edx, eax
mov byte [esi + ebx + 0x3c0], dl
mov ecx, ebx
shl ecx, 1
and ecx, 2
mov eax, ebx
shl eax, 1
and eax, 2
add ebx, 1
sub ebx, eax
add ebx, ecx
jmp 0x411e2a
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3c0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401980
add esp, 8
mov dword [esi + 0x358], eax
mov al, byte [esi + 0x178]
mov byte [esi + 0x254], al
mov byte [esi + 0x3b8], 0xfa
mov byte [esi + 0x3b9], 0x71
mov eax, 2
mov byte [esi + eax + 0x3b8], 0
add eax, 1
cmp eax, 5
jne 0x411edc
xor eax, eax
cmp eax, 5
jae 0x411f4c
movzx ecx, byte [esi + eax + 0x3b8]
mov dword [esi + 0x45c], ecx
mov ebx, 0x13
sub ebx, eax
or ebx, ecx
mov edx, 0x13
sub edx, eax
mov edi, 0x13
sub edi, eax
and edx, edi
mov edi, 0x13
sub edi, eax
mov ecx, 0x13
sub ecx, eax
and edi, ecx
or edx, edi
and edx, dword [esi + 0x45c]
sub edx, ebx
add dl, 0x63
mov byte [esi + eax + 0x3b8], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x411eee
mov eax, dword [esi + 8]
lea ecx, [esi + 0x3b8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0x35c], eax
mov al, byte [esi + 0x174]
mov byte [esi + 0x258], al
mov byte [esi + 0x3b0], 0xbc
mov byte [esi + 0x3b1], 0x19
mov eax, 2
mov byte [esi + eax + 0x3b0], 0
add eax, 1
cmp eax, 7
jne 0x411f8c
xor eax, eax
cmp eax, 7
jae 0x411fdd
movzx edx, byte [esi + eax + 0x3b0]
mov ecx, eax
add ecx, 0x405aafba
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0xba
xor ecx, 0xbe3a915d
mov edi, ecx
add edi, edx
and ecx, 1
or edi, 1
add ecx, edi
mov byte [esi + eax + 0x3b0], cl
add eax, 1
jmp 0x411f9e
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x3b0]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x64]
movzx eax, word [esi + 0x64]
or eax, 0xc00
mov word [esi + 0x2ac], ax
fldcw word [esi + 0x2ac]
fistp dword [esi + 0x494]
fldcw word [esi + 0x64]
mov eax, dword [esi + 0x494]
mov dword [esi + 0x4a8], eax
mov al, byte [esi + 0x170]
mov byte [esi + 0x25c], al
mov byte [esi + 0x2dc], 0xf6
mov byte [esi + 0x2dd], 0xe6
mov byte [esi + 0x2de], 0x9a
mov eax, 3
mov byte [esi + eax + 0x2dc], 0
add eax, 1
cmp eax, 8
jne 0x41204c
xor eax, eax
cmp eax, 8
jae 0x412080
mov cl, byte [esi + eax + 0x2dc]
mov dl, al
add dl, 0x9b
xor dl, cl
add dl, 0xf9
mov byte [esi + eax + 0x2dc], dl
add eax, 1
jmp 0x41205e
mov eax, dword [esi + 8]
sub esp, 8
lea ecx, [esi + 0x2dc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401910
add esp, 8
fnstcw word [esi + 0x62]
movzx eax, word [esi + 0x62]
or eax, 0xc00
mov word [esi + 0x2aa], ax
fldcw word [esi + 0x2aa]
fistp dword [esi + 0x490]
fldcw word [esi + 0x62]
mov eax, dword [esi + 0x490]
mov dword [esi + 0x4ac], eax
sub esp, 4
mov eax, dword [esi + 0x2fc]
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4120fa
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xc0]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esi + 0x2fc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0x4e8]
sub esp, 4
mov dword [esp], eax
call fcn.00418c90
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xabc12fdc
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0xc0]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0xf5bc49ec
jmp 0x41442f
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xcc20753b
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffe
mov dword [esi + 0x4b8], eax
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x5ffa2ecd
mov eax, dword [esi + 0x4b8]
mov dword [esi + 0x30c], eax
mov ebx, dword [esi + 4]
jmp 0x41442f
mov edi, dword [esi + 0x310]
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
sub edi, eax
sar edi, 1
mov ecx, dword [esi + 0x360]
mov edx, edi
and edx, ecx
shl edx, 1
mov eax, edi
xor eax, ecx
add eax, edx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4127b6
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov ecx, dword [esi + 0x80]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00418cc0
add esp, 0xc
mov ecx, dword [esi + 0xc4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409fe0
add esp, 8
mov dword [esi + 0x4bc], eax
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x6fdb7fc4
jmp 0x41442f
mov eax, dword [esi + 0x4bc]
mov ecx, dword [esi + 0x80]
mov edx, eax
xor edx, 0xffffffff
and edx, ecx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edx
sar eax, 1
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412873
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x80]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043b5e0
add esp, 8
mov eax, dword [edi]
mov dword [eax], 0xd3f9259d
jmp 0x41442f
mov eax, dword [esi + 0x80]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x2b6ad946
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x35c]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
sub edi, 0x6069684b
add edi, 1
add edi, 0x6069684b
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412927
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0x35c]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
lea ecx, [esi + 0x608]
sub esp, 4
mov dword [esp], 1
call fcn.00409090
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x798cb372
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x3e27348
jmp 0x41442f
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
sub edi, 0xb2b9ab98
add edi, 1
add edi, 0xb2b9ab98
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412a93
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd4]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x440], eax
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0xc8]
mov edi, dword [esi + 0x4ac]
mov eax, dword [esi + 0x4a8]
mov dword [esi + 0x430], eax
xor eax, eax
sub esp, 0x1c
lea eax, [esi + 0x608]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esi + 0x440]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov eax, dword [esi + 0x430]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
call fcn.004243f0
add esp, 0x1c
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xd73f31ac
jmp 0x41442f
mov eax, dword [esi + 0xd8]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xbf9025fa
mov ebx, dword [esi + 4]
jmp 0x41442f
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x9a881373
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0xd0]
add eax, 1
mov dword [esi + 0x4c0], eax
mov eax, dword [edi]
mov dword [eax], 0x61b69b93
jmp 0x41442f
mov eax, dword [esi + 0x74]
sub esp, 4
mov dword [esp], eax
call fcn.0043d1b0
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0x69496f1a
jmp 0x41442f
lea ecx, [esi + 0x4e8]
call fcn.00418d80
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x6592302d
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0xa0eb7dcc
jmp 0x41442f
mov eax, dword [esi + 0xdc]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412e45
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0xdc]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov eax, dword [esi + 0xe0]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412eb6
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xe0]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov al, byte [esi + 0x154]
mov byte [esi + 0x274], al
mov byte [esi + 0x398], 0x9a
mov byte [esi + 0x399], 0x27
mov eax, 2
mov byte [esi + eax + 0x398], 0
add eax, 1
cmp eax, 8
jne 0x412f15
xor eax, eax
cmp eax, 8
jae 0x412fa3
movzx ecx, byte [esi + eax + 0x398]
mov edx, ecx
shl edx, 1
xor edx, 0xffffffff
add edx, ecx
mov edi, ecx
xor edi, 0xffffffff
and edx, edi
mov edi, 0xcd1bddb6
sub edi, eax
mov ebx, 0xcd1bddb6
sub ebx, eax
and edi, ebx
mov ebx, edi
shl ebx, 1
xor ebx, 0xffffffff
add edi, ebx
mov ebx, edx
shl ebx, 1
xor ebx, 0xffffffff
add edx, ebx
mov ebx, dword [esi + 4]
and edi, edx
mov edx, eax
add edx, 0x32e42249
or edx, ecx
xor edi, 0xffffffff
and edx, edi
mov ecx, edx
shl ecx, 1
and ecx, 0x316a924
mov edi, edx
and edi, ecx
shl edi, 1
xor edx, ecx
xor edx, 0x92
add edx, edi
add dl, 1
mov byte [esi + eax + 0x398], dl
add eax, 1
jmp 0x412f27
mov eax, dword [esi + 8]
lea ecx, [esi + 0x398]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018b0
add esp, 8
mov dword [esi + 0xec], eax
mov eax, 0x373f6c69
cmp dword [esi + 0xec], 0
mov edi, dword [esi]
jne 0x412fd9
mov eax, 0x75ecb9e3
mov ecx, dword [edi]
mov dword [ecx], eax
mov dword [esi + 0x318], 0
jmp 0x41442f
mov eax, dword [esi + 0xf4]
sub esp, 4
mov dword [esp], eax
call fcn.00418c20
add esp, 4
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41316f
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004083e0
add esp, 4
mov dword [esi + 0x36c], eax
mov eax, dword [esi + 0x36c]
mov ecx, dword [esi + 0xf4]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aae0
add esp, 0x10
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xbdf9e5b7
mov eax, dword [esi + 0x36c]
mov dword [esi + 0x31c], eax
jmp 0x41442f
mov eax, dword [esi + 0x31c]
mov dword [esi + 0xf8], eax
mov al, byte [esi + 0x14c]
mov byte [esi + 0x27c], al
mov byte [esi + 0x30], 0x6b
mov byte [esi + 0x31], 0x17
mov byte [esi + 0x32], 0x8e
mov eax, 3
mov byte [esi + eax + 0x30], 0
add eax, 1
cmp eax, 4
jne 0x4131f3
xor eax, eax
cmp eax, 4
jae 0x41323b
movzx edi, byte [esi + eax + 0x30]
mov ecx, 0xa2
sub ecx, eax
or ecx, edi
mov edx, 0xa2
sub edx, eax
mov ebx, 0xa2
sub ebx, eax
or edx, ebx
mov ebx, dword [esi + 4]
and edx, edi
xor ecx, 0xffffffff
or edx, ecx
add dl, 0x2f
mov byte [esi + eax + 0x30], dl
add eax, 1
jmp 0x413202
lea eax, [esi + 0x30]
sub esp, 8
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401980
add esp, 8
mov dword [esi + 0xfc], eax
mov eax, 0x2c7305ea
cmp dword [esi + 0xfc], 0
mov edi, dword [esi]
jne 0x41326e
mov eax, 0xe4635c54
mov ecx, dword [edi]
mov dword [ecx], eax
mov dword [esi + 0x32c], 0
mov dword [esi + 0x328], 0
jmp 0x41442f
mov eax, dword [esi + 0x84]
imul ecx, dword [esi + 0x20], 0xc
add eax, ecx
mov dword [esi + 0x4c4], eax
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x11ca17d1
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x324]
mov dword [esi + 0x88], eax
mov ecx, dword [esi + 0x88]
mov eax, 0x6e74f282
cmp ecx, dword [esi + 0x20]
jb 0x4133c4
mov eax, 0x8de77949
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0xe4635c54
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x32c], eax
mov dword [esi + 0x328], ecx
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x550acf69
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0xda9339ef
jmp 0x41442f
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xaad66da0
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0xf727e207
jmp 0x41442f
mov eax, 0x5f54cbf9
cmp dword [esi + 0xf8], 0
je 0x413955
mov eax, 0x2fd659b3
mov edi, dword [esi]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x6592302d
jmp 0x41442f
mov eax, 0x97c3fc10
test byte [esi + 0x1e], 1
jne 0x413b15
mov eax, 0x394993b1
mov edi, dword [esi]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [edi]
mov dword [eax], 0x697c6156
jmp 0x41442f
mov eax, 0x324e4d0f
test byte [esi + 0x1f], 1
jne 0x413d70
mov eax, 0xe59a4b57
mov edi, dword [esi]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 4]
jmp 0x41442f
mov edi, dword [esi + 0x334]
mov ecx, edi
call fcn.00418f50
add edi, 8
mov dword [esi + 0x37c], edi
mov ecx, dword [esi + 0x37c]
mov eax, 0x324e4d0f
cmp ecx, dword [esi + 0x4cc]
je 0x413dde
mov eax, 0xbf6d6d9f
mov edi, dword [esi]
mov ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x334], eax
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x338]
mov dword [esi + 0x94], eax
mov ecx, dword [esi + 0x94]
mov eax, 0x16aed4f4
cmp ecx, dword [esi + 0x28]
jb 0x413e35
mov eax, 0xf108b238
mov edi, dword [esi]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x2c]
add eax, 0xfffffffc
mov dword [esi + 0x380], eax
mov eax, dword [esi + 0x380]
mov eax, dword [eax]
shl eax, 3
add eax, dword [esi + 0x2c]
mov dword [esi + 0x384], eax
mov eax, dword [edi]
mov dword [eax], 0x88a96c1c
jmp 0x41442f
mov ecx, dword [esi + 0x384]
mov eax, 0x32a5b506
cmp dword [esi + 0x2c], ecx
je 0x41410a
mov eax, 0x38ee6df
mov ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 0x384]
mov dword [esi + 0x344], eax
jmp 0x41442f
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xc1022758
mov ebx, dword [esi + 4]
jmp 0x41442f
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0xaeac735
mov ebx, dword [esi + 4]
jmp 0x41442f
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.004083f0
add esp, 4
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x66ae64ba
mov ebx, dword [esi + 4]
jmp 0x41442f
lea ecx, [esi + 0x4f8]
call fcn.00409170
mov eax, dword [edi]
mov dword [eax], 0x50823f92
jmp 0x41442f
mov eax, dword [esi + 0xa8]
add eax, 0xd81c8363
add eax, 1
sub eax, 0xd81c8363
mov dword [esi + 0x4d4], eax
mov eax, dword [edi]
mov dword [eax], 0x2bb07a34
mov eax, dword [esi + 0x4d4]
mov dword [esi + 0x304], eax
jmp 0x41442f
mov al, byte [esi + 0xf]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
and al, 0xdc
jle 0x414351
sti
and dword [edx], 0x11
mov eax, dword [edi]
mov dword [eax], 0x29ea29da
jmp 0x41442f
arpl word [edx - 0x884713c], bx
nop
std
mov dl, byte [ecx + 0x6dc6e526]
xor byte [ebx], cl
mov edi, dword [esi]
mov eax, dword [edi]
mov dword [eax], 0x8cc82e89
mov ebx, dword [esi + 4]
jmp 0x41442f
retf 0x44cb
cmp byte [ebp - 0x3c], 0x3f
mov bh, 0xa6
jmp 0xf8cfd211
jmp 0x40fc3e