Function at 0x40ea30
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x628
mov esi, esp
mov dword [esi + 0x3b0], 0x1a019f72
lea eax, [esi + 0x3b0]
mov dword [esi], eax
mov eax, dword [esi + 0x3b0]
mov ecx, eax
sub ecx, 0x81302e69
je 0x4130b2
jmp 0x40ea69
mov ecx, eax
sub ecx, 0x82ca7346
je 0x413464
jmp 0x40ea79
mov ecx, eax
sub ecx, 0x82ecf86e
je 0x4136a2
jmp 0x40ea89
mov ecx, eax
sub ecx, 0x8336689d
je 0x40f924
jmp 0x40ea99
mov ecx, eax
sub ecx, 0x85e562e0
je 0x411aaa
jmp 0x40eaa9
mov ecx, eax
sub ecx, 0x874cabb2
je 0x4112ba
jmp 0x40eab9
mov ecx, eax
sub ecx, 0x8879410b
je 0x4124b8
jmp 0x40eac9
mov ecx, eax
sub ecx, 0x89b005ff
je 0x4137f8
jmp 0x40ead9
mov ecx, eax
sub ecx, 0x8acc3a21
je 0x41252c
jmp 0x40eae9
mov ecx, eax
sub ecx, 0x8bbf12c8
je 0x4133a1
jmp 0x40eaf9
mov ecx, eax
sub ecx, 0x8f84f3dc
je 0x4117a6
jmp 0x40eb09
mov ecx, eax
sub ecx, 0x91234b57
je 0x410648
jmp 0x40eb19
mov ecx, eax
sub ecx, 0x91aa956f
je 0x40fbaf
jmp 0x40eb29
mov ecx, eax
sub ecx, 0x91ab4146
je 0x4120d0
jmp 0x40eb39
mov ecx, eax
sub ecx, 0x92a567df
je 0x411d4d
jmp 0x40eb49
mov ecx, eax
sub ecx, 0x9386fab9
je 0x411b7d
jmp 0x40eb59
mov ecx, eax
sub ecx, 0x95ec8a90
je 0x4112db
jmp 0x40eb69
mov ecx, eax
sub ecx, 0x973dc82a
je 0x4131c8
jmp 0x40eb79
mov ecx, eax
sub ecx, 0x98ab3ccc
je 0x411b57
jmp 0x40eb89
mov ecx, eax
sub ecx, 0x98ddb7b8
je 0x4109a1
jmp 0x40eb99
mov ecx, eax
sub ecx, 0x99d15047
je 0x412441
jmp 0x40eba9
mov ecx, eax
sub ecx, 0x9f26af5b
je 0x410caf
jmp 0x40ebb9
mov ecx, eax
sub ecx, 0xa15eea64
je 0x410cbc
jmp 0x40ebc9
mov ecx, eax
sub ecx, 0xa162165c
je 0x41187f
jmp 0x40ebd9
mov ecx, eax
sub ecx, 0xa195b406
je 0x410541
jmp 0x40ebe9
mov ecx, eax
sub ecx, 0xa2914342
je 0x40fd8e
jmp 0x40ebf9
mov ecx, eax
sub ecx, 0xa31bc2ca
je 0x40fec2
jmp 0x40ec09
mov ecx, eax
sub ecx, 0xa43bafc2
je 0x411866
jmp 0x40ec19
mov ecx, eax
sub ecx, 0xa58869aa
je 0x413322
jmp 0x40ec29
mov ecx, eax
sub ecx, 0xa654b335
je 0x41342c
jmp 0x40ec39
mov ecx, eax
sub ecx, 0xa8510af1
je 0x40fe0a
jmp 0x40ec49
mov ecx, eax
sub ecx, 0xa9e8440b
je 0x412a8f
jmp 0x40ec59
mov ecx, eax
sub ecx, 0xac6490a9
je 0x411f15
jmp 0x40ec69
mov ecx, eax
sub ecx, 0xafe9c6cf
je 0x40fe23
jmp 0x40ec79
mov ecx, eax
sub ecx, 0xb041700b
je 0x411cef
jmp 0x40ec89
mov ecx, eax
sub ecx, 0xb15becb3
je 0x41380d
jmp 0x40ec99
mov ecx, eax
sub ecx, 0xb2107126
je 0x4119ee
jmp 0x40eca9
mov ecx, eax
sub ecx, 0xb29756dd
je 0x41097a
jmp 0x40ecb9
mov ecx, eax
sub ecx, 0xb3100fdd
je 0x41051a
jmp 0x40ecc9
mov ecx, eax
sub ecx, 0xb4c049c1
je 0x411303
jmp 0x40ecd9
mov ecx, eax
sub ecx, 0xb5405d50
je 0x41191e
jmp 0x40ece9
mov ecx, eax
sub ecx, 0xb54e1519
je 0x4123e8
jmp 0x40ecf9
mov ecx, eax
sub ecx, 0xb659bc57
je 0x410534
jmp 0x40ed09
mov ecx, eax
sub ecx, 0xb7bc0be1
je 0x4108b2
jmp 0x40ed19
mov ecx, eax
sub ecx, 0xb7c5c24d
je 0x412556
jmp 0x40ed29
mov ecx, eax
sub ecx, 0xb84b7f31
je 0x412b6a
jmp 0x40ed39
mov ecx, eax
sub ecx, 0xb8bdf016
je 0x4137b9
jmp 0x40ed49
mov ecx, eax
sub ecx, 0xbcd74f90
je 0x4108d3
jmp 0x40ed59
mov ecx, eax
sub ecx, 0xbd0edff1
je 0x4119c0
jmp 0x40ed69
mov ecx, eax
sub ecx, 0xbdf9f070
je 0x40fef5
jmp 0x40ed79
mov ecx, eax
sub ecx, 0xc847af0c
je 0x411c7f
jmp 0x40ed89
mov ecx, eax
sub ecx, 0xc8dc70d2
je 0x41294c
jmp 0x40ed99
mov ecx, eax
sub ecx, 0xc9498d5d
je 0x412bb9
jmp 0x40eda9
mov ecx, eax
sub ecx, 0xcae3e44b
je 0x410987
jmp 0x40edb9
mov ecx, eax
sub ecx, 0xcbb0a690
je 0x4117bf
jmp 0x40edc9
mov ecx, eax
sub ecx, 0xcbcfb5ca
je 0x412aeb
jmp 0x40edd9
mov ecx, eax
sub ecx, 0xccf1341f
je 0x40f913
jmp 0x40ede9
mov ecx, eax
sub ecx, 0xcd59c508
je 0x411c8c
jmp 0x40edf9
mov ecx, eax
sub ecx, 0xcda5b7a9
je 0x413492
jmp 0x40ee09
mov ecx, eax
sub ecx, 0xcdd51620
je 0x41192b
jmp 0x40ee19
mov ecx, eax
sub ecx, 0xd1869a19
je 0x40fedc
jmp 0x40ee29
mov ecx, eax
sub ecx, 0xd28fce5d
je 0x4105e5
jmp 0x40ee39
mov ecx, eax
sub ecx, 0xd300daf3
je 0x4119cd
jmp 0x40ee49
mov ecx, eax
sub ecx, 0xd334faf8
je 0x411b70
jmp 0x40ee59
mov ecx, eax
sub ecx, 0xd447feac
je 0x412a9c
mov eax, dword [esi]
mov dword [eax], 0x55ebf98c
mov byte [esi + 0xa], 0
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xd7522f6
mov dword [esi + 0x300], 0
jmp 0x413976
mov al, byte [esi + 0x1c8]
mov byte [esi + 0x1e4], al
mov byte [esi + 0x434], 0x48
mov byte [esi + 0x435], 0x39
mov eax, 2
mov byte [esi + eax + 0x434], 0
add eax, 1
cmp eax, 8
jne 0x40fbce
xor eax, eax
cmp eax, 8
jae 0x40fc0e
movzx edx, byte [esi + eax + 0x434]
mov ecx, eax
add ecx, 0xcae98936
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0xf2
mov byte [esi + eax + 0x434], cl
add eax, 1
jmp 0x40fbe0
mov eax, dword [esi + 4]
lea ecx, [esi + 0x434]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b40
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x1c], al
mov eax, dword [esi]
mov dword [eax], 0xe347e284
jmp 0x413976
mov al, byte [esi + 0x1b4]
mov byte [esi + 0x1f0], al
mov byte [esi + 0x64], 0xbe
mov byte [esi + 0x65], 0x39
mov eax, 2
mov byte [esi + eax + 0x64], 0
add eax, 1
cmp eax, 4
jne 0x40fda7
xor eax, eax
cmp eax, 4
jae 0x40fdd2
mov cl, byte [esi + eax + 0x64]
mov dl, al
add dl, 0xf6
xor dl, cl
add dl, 0x32
mov byte [esi + eax + 0x64], dl
add eax, 1
jmp 0x40fdb6
mov eax, dword [esi + 4]
lea ecx, [esi + 0x64]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b40
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x1d], al
mov eax, dword [esi]
mov dword [eax], 0xa8510af1
jmp 0x413976
mov eax, 0xafe9c6cf
test byte [esi + 0x1d], 1
jne 0x40fe1a
mov eax, 0xfc34a41d
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov al, byte [esi + 0x1b0]
mov byte [esi + 0x1f4], al
mov byte [esi + 0x60], 0x64
mov byte [esi + 0x61], 1
mov eax, 2
mov byte [esi + eax + 0x60], 0
add eax, 1
cmp eax, 4
jne 0x40fe3c
xor eax, eax
cmp eax, 4
jae 0x40fe8a
movzx edi, byte [esi + eax + 0x60]
mov ecx, 0xff
sub ecx, eax
mov edx, 0xff
sub edx, eax
and ecx, edx
mov edx, edi
or edx, eax
xor edi, 0xffffffff
or ecx, edi
and edx, ecx
mov byte [esi + eax + 0x60], dl
mov ecx, eax
and ecx, 2
or eax, 0x792326e2
add ecx, eax
add ecx, 0x86dcd91f
mov eax, ecx
jmp 0x40fe4b
mov eax, dword [esi + 4]
lea ecx, [esi + 0x60]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b40
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x1e], al
mov eax, dword [esi]
mov dword [eax], 0xa31bc2ca
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x1ce37966
jmp 0x413976
mov eax, 0xbdf9f070
test byte [esi + 0x1e], 1
jne 0x40feec
mov eax, 0xfc34a41d
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov al, byte [esi + 0x1ac]
mov byte [esi + 0x1f8], al
mov byte [esi + 0x2e8], 0xee
mov byte [esi + 0x2e9], 0xe2
mov byte [esi + 0x2ea], 0x92
mov eax, 3
mov byte [esi + eax + 0x2e8], 0
add eax, 1
cmp eax, 7
jne 0x40ff1b
xor eax, eax
cmp eax, 7
jae 0x40ff74
movzx edx, byte [esi + eax + 0x2e8]
mov ecx, eax
add ecx, 0x4e8d021c
mov edi, 0xe3
sub edi, eax
and edi, edx
xor ecx, edx
add ecx, edx
sub ecx, edi
mov edi, eax
add edi, 0x1c
and edi, edx
mov edx, ecx
xor edx, edi
xor edi, 0xffffffff
and ecx, edi
shl ecx, 1
sub ecx, edx
add cl, 0x74
mov byte [esi + eax + 0x2e8], cl
add eax, 1
jmp 0x40ff2d
mov eax, dword [esi + 4]
lea ecx, [esi + 0x2e8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b40
add esp, 0xc
cmp eax, 0
setne cl
xor cl, 0xff
mov eax, 0x7944d9b4
test cl, 1
jne 0x40ffaf
mov eax, 0x69e95000
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x6265ea58
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xa195b406
jmp 0x413976
mov eax, dword [esi + 0x3c]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41055a
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov dword [esi + 0x80], eax
mov ebx, dword [0x44be2c]
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x460], eax
mov edx, dword [esi + 0x80]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x7c]
xor ecx, ecx
lea ecx, [esi + 0x3c]
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 + 0x460]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call ebx
cmp eax, 0
setge al
and al, 1
mov byte [esi + 0x1f], al
mov eax, dword [esi]
mov dword [eax], 0x3fdccf24
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xe1a3d88d
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x2b245a59
jmp 0x413976
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.004082e0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xbcd74f90
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x70431b13
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xcae3e44b
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xe0ae9f15
jmp 0x413976
mov al, byte [esi + 0x184]
mov byte [esi + 0x218], al
mov byte [esi + 0x40c], 0xd3
mov byte [esi + 0x40d], 0x49
mov eax, 2
mov byte [esi + eax + 0x40c], 0
add eax, 1
cmp eax, 8
jne 0x4109c0
xor eax, eax
cmp eax, 8
jae 0x4109f4
mov cl, byte [esi + eax + 0x40c]
mov dl, al
add dl, 0x12
xor dl, cl
add dl, 0xa6
mov byte [esi + eax + 0x40c], dl
add eax, 1
jmp 0x4109d2
mov eax, dword [esi + 4]
lea ecx, [esi + 0x40c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b40
add esp, 0xc
mov ecx, 0x1fb0c9c9
cmp eax, 0
jne 0x410a26
mov ecx, 0x5d8f55ea
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xa15eea64
jmp 0x413976
mov al, byte [esi + 0x18]
mov byte [esi + 0x22c], al
mov byte [esi + 0x54], 0x58
mov byte [esi + 0x55], 0x3f
mov eax, 2
mov byte [esi + eax + 0x54], 0
add eax, 1
cmp eax, 7
jne 0x410cd2
xor eax, eax
cmp eax, 7
jae 0x410d13
mov dl, byte [esi + eax + 0x54]
mov edi, eax
add edi, 0x35
mov ecx, 0x4a
sub ecx, eax
and ecx, 0x71
and edi, 0x8e
or ecx, edi
xor cl, dl
xor cl, 0x8e
mov dl, 0xf6
sub dl, cl
mov byte [esi + eax + 0x54], dl
add eax, 1
jmp 0x410ce1
mov eax, dword [esi + 4]
lea ecx, [esi + 0x54]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b40
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x20], al
mov eax, dword [esi]
mov dword [eax], 0xfb91f901
jmp 0x413976
mov eax, dword [esi + 0xd8]
sub esp, 4
mov dword [esp], eax
call fcn.004082e0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x95ec8a90
jmp 0x413976
lea ecx, [esi + 0x500]
sub esp, 4
mov dword [esp], 0x1000
call fcn.0043abe0
mov dword [esi + 0x4d4], eax
mov eax, dword [esi]
mov dword [eax], 0xb4c049c1
jmp 0x413976
mov eax, 0x5431b58d
cmp dword [esi + 0x4d4], 0
jge 0x411316
mov eax, 0x59986bec
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi + 0x308]
mov dword [esi + 0x90], eax
mov eax, dword [esi]
mov dword [eax], 0xcbb0a690
jmp 0x413976
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
cmp dword [esi + 0x90], eax
setae al
and al, 1
mov byte [esi + 0x22], al
mov eax, dword [esi]
mov dword [eax], 0x77c98238
jmp 0x413976
mov eax, dword [esi + 0x30c]
mov dword [esi + 0x378], eax
mov eax, dword [esi]
mov dword [eax], 0xa162165c
jmp 0x413976
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov edi, dword [esi + 0x378]
sub edi, eax
sar edi, 1
mov eax, dword [esi + 0xdc]
xor ecx, ecx
sub ecx, eax
mov eax, edi
sub eax, ecx
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4118be
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x94]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00418360
add esp, 0xc
mov ecx, dword [esi + 0x8c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409d30
add esp, 8
mov dword [esi + 0x4dc], eax
mov eax, dword [esi]
mov dword [eax], 0xb5405d50
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xcdd51620
jmp 0x413976
mov eax, dword [esi + 0x8c]
sub esp, 4
mov dword [esp], eax
call fcn.004082e0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x1b9b7d86
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xd300daf3
jmp 0x413976
mov eax, dword [esi + 0x94]
sub esp, 4
mov dword [esp], eax
call fcn.004082e0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xb2107126
jmp 0x413976
mov eax, dword [esi + 0x370]
sub esp, 4
mov dword [esp], eax
call fcn.004182a0
add esp, 4
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edi, edi
sub edi, ecx
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411a25
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0x370]
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.0040a9e0
add esp, 0x10
lea ecx, [esi + 0x598]
sub esp, 4
mov dword [esp], 1
call fcn.00408dd0
mov eax, dword [esi]
mov dword [eax], 0x41096fc4
mov dword [esi + 0x310], 0
jmp 0x413976
mov eax, dword [esi + 0x88]
sub esp, 4
mov dword [esp], eax
call fcn.00401ba0
add esp, 4
cmp dword [esi + 0x98], eax
setb al
and al, 1
mov byte [esi + 0x23], al
mov eax, dword [esi]
mov dword [eax], 0x2433f94c
jmp 0x413976
mov eax, 0xd334faf8
test byte [esi + 0x24], 1
jne 0x411b67
mov eax, 0x9386fab9
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x50fcc9bb
jmp 0x413976
mov eax, dword [esi + 0xe8]
sub esp, 4
mov dword [esp], eax
call fcn.004182a0
add esp, 4
mov edi, eax
mov eax, edi
and eax, 1
or edi, 1
add edi, eax
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411bb5
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xe8]
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.0040a9e0
add esp, 0x10
mov eax, dword [esi + 0xec]
mov dword [esi + 0x468], eax
mov ecx, dword [esi + 0xe4]
mov edx, dword [esi + 0xe0]
mov edi, dword [esi + 0x4d0]
mov ebx, dword [esi + 0x4cc]
xor eax, eax
sub esp, 0x1c
lea eax, [esi + 0x598]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esi + 0x468]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0
call fcn.00422e30
add esp, 0x1c
mov eax, dword [esi]
mov dword [eax], 0x58f7d17
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xcd59c508
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xed30bdb3
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xf64cc6bc
jmp 0x413976
mov eax, dword [esi + 0x4c]
sub esp, 4
mov dword [esp], eax
call fcn.0043a8a0
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x5fcb42e
jmp 0x413976
mov eax, 0x113dd1a6
test byte [esi + 0x25], 1
jne 0x411f25
mov eax, 0x48bd696e
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi + 0x100]
sub esp, 4
mov dword [esp], eax
call fcn.004182a0
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 0x412101
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov dword [esi + 0x37c], eax
mov eax, dword [esi + 0x37c]
mov ecx, dword [esi + 0x100]
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.0040a9e0
add esp, 0x10
mov eax, dword [esi]
mov dword [eax], 0x53bd2d06
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x314], eax
jmp 0x413976
mov eax, dword [esi + 0x110]
sub esp, 4
mov dword [esp], eax
call fcn.00401ba0
add esp, 4
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
mov ecx, 0xc
mul ecx
seto dl
add eax, 4
setb cl
or dl, cl
mov ecx, 0xffffffff
test dl, 1
jne 0x412420
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov dword [esi + 0x384], eax
mov eax, dword [esi]
mov dword [eax], 0x99d15047
jmp 0x413976
mov eax, dword [esi + 0x384]
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov eax, dword [esi + 0x384]
add eax, 4
mov dword [esi + 0x9c], eax
cmp dword [esi + 0x30], 0
sete al
and al, 1
mov byte [esi + 0x27], al
mov eax, dword [esi]
mov dword [eax], 0x3df40716
jmp 0x413976
mov edi, dword [esi + 0x31c]
mov ecx, edi
call fcn.00418430
add edi, 0xc
mov dword [esi + 0x388], edi
mov ecx, dword [esi + 0x388]
mov eax, 0x57ec70af
cmp ecx, dword [esi + 0x4e4]
je 0x4124e6
mov eax, 0x8879410b
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x388]
mov dword [esi + 0x31c], eax
jmp 0x413976
mov eax, dword [esi + 0x320]
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0xa0]
mov eax, 0x5e53a668
cmp ecx, dword [esi + 0x30]
jb 0x41254d
mov eax, 0xb7c5c24d
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xc8dc70d2
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x328], eax
mov dword [esi + 0x324], ecx
jmp 0x413976
mov edi, dword [esi + 0x324]
mov eax, dword [esi + 0x328]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0xfc]
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0xf8]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x104]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x10c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x78]
sub esp, 4
mov dword [esp], 2
call fcn.00408dd0
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x40]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.00418c30
add esp, 0x10
mov ecx, dword [esi + 0x78]
call fcn.00409820
mov eax, 0xa9e8440b
cmp dword [esi + 0x34], 0
je 0x4129d7
mov eax, 0xebe225
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xd447feac
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xeb381601
jmp 0x413976
mov eax, 0xf48829fe
test byte [esi + 0x29], 1
jne 0x412b7a
mov eax, 0x4a85e931
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x7944d9b4
jmp 0x413976
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xac]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401bb0
add esp, 8
mov edi, eax
mov ecx, dword [esi + 0x4c0]
mov eax, dword [esi + 0x350]
mov cl, byte [ecx]
mov byte [esi + 0x298], cl
mov byte [eax], 0x4f
mov byte [eax + 1], 0xb9
mov byte [eax + 2], 0x2a
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x4130f6
mov eax, dword [esi + 0x350]
xor ecx, ecx
cmp ecx, 5
jae 0x413124
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0x37
xor dh, dl
add dh, 0xed
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x41310a
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004018c0
add esp, 8
mov dword [esi + 0x39c], eax
mov ecx, dword [esi + 0x4c4]
mov eax, dword [esi + 0x354]
mov cl, byte [ecx]
mov byte [esi + 0x29c], cl
mov byte [eax], 0xbd
mov byte [eax + 1], 0xa7
mov byte [eax + 2], 0x1e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x413160
mov eax, dword [esi + 0x354]
xor ecx, ecx
cmp ecx, 4
jae 0x41318e
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0xfa
xor dh, dl
add dh, 0x1e
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x413174
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004018c0
add esp, 8
mov dword [esi + 0x3a0], eax
mov eax, dword [esi + 0xb4]
shl eax, 3
add eax, dword [esi + 0xb0]
mov dword [esi + 0x3a4], eax
mov eax, dword [esi]
mov dword [eax], 0x973dc82a
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0x479c4851
jmp 0x413976
mov eax, dword [esi + 0x340]
add eax, 0xfffffff8
mov dword [esi + 0x124], eax
mov ecx, dword [esi + 0x124]
call fcn.00418700
mov ecx, dword [esi + 0x124]
mov eax, 0x286bf0f8
cmp ecx, dword [esi + 0x14]
je 0x413351
mov eax, 0xa58869aa
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x124]
mov dword [esi + 0x340], eax
jmp 0x413976
mov eax, dword [esi]
mov dword [eax], 0xd5268734
jmp 0x413976
mov eax, dword [esi + 0xcc]
sub eax, 0xffffffff
mov dword [esi + 0x4fc], eax
mov eax, dword [esi]
mov dword [eax], 0xd7522f6
mov eax, dword [esi + 0x4fc]
mov dword [esi + 0x300], eax
jmp 0x413976
add byte [eax + edi*4], dh
cmp dword [ebx - 0x77ff38fa], ecx
push edi
push cs
hlt
call [edi]
ret 0x83cb
nop
clc
into
lodsb al, byte [esi]
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x378]
mov edi, eax
and edi, ecx
xor edi, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and edi, eax
xor edi, 0xffffffff
sar edi, 2
mov ecx, dword [esi + 0xdc]
mov eax, edi
xor eax, 0xffffffff
mov ebx, ecx
and ebx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, edi
and edx, eax
imul edx, ebx
mov ebx, edi
and ebx, ecx
mov eax, edi
or eax, ecx
imul eax, ebx
add eax, edx
sar eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x413708
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004082d0
add esp, 4
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00418360
add esp, 0xc
mov ecx, dword [esi + 0x8c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409d30
add esp, 8
mov eax, dword [esi]
mov dword [eax], 0xa162165c
jmp 0x413976
add byte [eax], al
add byte [ebx + 0xc8908ec], al
and al, 0x89
inc esp
and al, 4
call fcn.00401b80
add esp, 4
mov dword [esp], eax
call fcn.00401900
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x42453564
jmp 0x413976
jnp 0x41378c
cld
fst qword [eax]
imul esp, dword [ebp + ebx*2 - 0x75], 6
mov dword [eax], 0xcd59c508
jmp 0x413976
shr dword [ecx + 0x5b], 1
push esi
push ds
and edx, esi
push edi
mov eax, dword [esi]
mov dword [eax], 0xf9cd11a4
jmp 0x413976
add ebx, ebp
sbb eax, 0xe8928d43
cwde
nop
idiv byte fs:[edx - 0x75]
push es
mov dword [eax], 0x2b5cd2cc
jmp 0x413976
jmp 0x40ea53