Function at 0x40ea50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x568
mov esi, esp
mov dword [esi + 0x358], 0x8a9a9509
lea eax, [esi + 0x358]
mov dword [esi], eax
mov eax, dword [esi + 0x358]
mov ecx, eax
sub ecx, 0x8069ff27
je 0x41179c
jmp 0x40ea89
mov ecx, eax
sub ecx, 0x80fee284
je 0x412276
jmp 0x40ea99
mov ecx, eax
sub ecx, 0x81e43b23
je 0x41302d
jmp 0x40eaa9
mov ecx, eax
sub ecx, 0x84b282dc
je 0x41305b
jmp 0x40eab9
mov ecx, eax
sub ecx, 0x86c24744
je 0x412a0c
jmp 0x40eac9
mov ecx, eax
sub ecx, 0x870d4e67
je 0x4105c4
jmp 0x40ead9
mov ecx, eax
sub ecx, 0x879cd407
je 0x40fd15
jmp 0x40eae9
mov ecx, eax
sub ecx, 0x87d696e4
je 0x411b46
jmp 0x40eaf9
mov ecx, eax
sub ecx, 0x8872ca3a
je 0x41286c
jmp 0x40eb09
mov ecx, eax
sub ecx, 0x88954ada
je 0x40fb24
jmp 0x40eb19
mov ecx, eax
sub ecx, 0x89c996b5
je 0x40fb17
jmp 0x40eb29
mov ecx, eax
sub ecx, 0x8a9a9509
je 0x40f59b
jmp 0x40eb39
mov ecx, eax
sub ecx, 0x8b7126cd
je 0x4127e0
jmp 0x40eb49
mov ecx, eax
sub ecx, 0x8bd2ba82
je 0x412ff2
jmp 0x40eb59
mov ecx, eax
sub ecx, 0x8bed97a8
je 0x410b86
jmp 0x40eb69
mov ecx, eax
sub ecx, 0x8cf0d357
je 0x40f86c
jmp 0x40eb79
mov ecx, eax
sub ecx, 0x8cfdfc70
je 0x40fdd7
jmp 0x40eb89
mov ecx, eax
sub ecx, 0x8f992589
je 0x412bbd
jmp 0x40eb99
mov ecx, eax
sub ecx, 0x901f8bfc
je 0x4105a6
jmp 0x40eba9
mov ecx, eax
sub ecx, 0x9024589f
je 0x4128b6
jmp 0x40ebb9
mov ecx, eax
sub ecx, 0x91000545
je 0x40fab3
jmp 0x40ebc9
mov ecx, eax
sub ecx, 0x918e6ff3
je 0x41280e
jmp 0x40ebd9
mov ecx, eax
sub ecx, 0x9465073e
je 0x40f8cf
jmp 0x40ebe9
mov ecx, eax
sub ecx, 0x953c96f5
je 0x40ff45
jmp 0x40ebf9
mov ecx, eax
sub ecx, 0x9692a096
je 0x4127d3
jmp 0x40ec09
mov ecx, eax
sub ecx, 0x974bfd0b
je 0x41086f
jmp 0x40ec19
mov ecx, eax
sub ecx, 0x9760412a
je 0x41132f
jmp 0x40ec29
mov ecx, eax
sub ecx, 0x97d59fb9
je 0x412801
jmp 0x40ec39
mov ecx, eax
sub ecx, 0x98df9ca9
je 0x40f9d1
jmp 0x40ec49
mov ecx, eax
sub ecx, 0x99193ffb
je 0x411b81
jmp 0x40ec59
mov ecx, eax
sub ecx, 0x9b505c5b
je 0x411929
jmp 0x40ec69
mov ecx, eax
sub ecx, 0x9ef67e75
je 0x4119fe
jmp 0x40ec79
mov ecx, eax
sub ecx, 0x9fbc87ec
je 0x410d9c
jmp 0x40ec89
mov ecx, eax
sub ecx, 0xa14c647b
je 0x4104da
jmp 0x40ec99
mov ecx, eax
sub ecx, 0xa336dc01
je 0x41087c
jmp 0x40eca9
mov ecx, eax
sub ecx, 0xa36ea59f
je 0x411bb6
jmp 0x40ecb9
mov ecx, eax
sub ecx, 0xa4a24ed3
je 0x410862
jmp 0x40ecc9
mov ecx, eax
sub ecx, 0xa4a3fc13
je 0x41116b
jmp 0x40ecd9
mov ecx, eax
sub ecx, 0xa566fbbf
je 0x4131a2
jmp 0x40ece9
mov ecx, eax
sub ecx, 0xa6817af5
je 0x413097
jmp 0x40ecf9
mov ecx, eax
sub ecx, 0xa79e1b09
je 0x411c84
jmp 0x40ed09
mov ecx, eax
sub ecx, 0xa7a2c5f6
je 0x412895
jmp 0x40ed19
mov ecx, eax
sub ecx, 0xa8aa7750
je 0x4108d2
jmp 0x40ed29
mov ecx, eax
sub ecx, 0xa8cf5c10
je 0x412336
jmp 0x40ed39
mov ecx, eax
sub ecx, 0xabe7d5fd
je 0x411e06
jmp 0x40ed49
mov ecx, eax
sub ecx, 0xabeb4a26
je 0x410af0
jmp 0x40ed59
mov ecx, eax
sub ecx, 0xac19701b
je 0x4119c3
jmp 0x40ed69
mov ecx, eax
sub ecx, 0xacf8dbd3
je 0x411908
jmp 0x40ed79
mov ecx, eax
sub ecx, 0xaf2ac5fb
je 0x410923
jmp 0x40ed89
mov ecx, eax
sub ecx, 0xaffad099
je 0x411a63
jmp 0x40ed99
mov ecx, eax
sub ecx, 0xb0bccad4
je 0x4104f8
jmp 0x40eda9
mov ecx, eax
sub ecx, 0xb14a4f07
je 0x410c64
jmp 0x40edb9
mov ecx, eax
sub ecx, 0xb167d60d
je 0x4130b3
jmp 0x40edc9
mov ecx, eax
sub ecx, 0xb1906cde
je 0x410d01
jmp 0x40edd9
mov ecx, eax
sub ecx, 0xb38d3733
je 0x413221
jmp 0x40ede9
mov ecx, eax
sub ecx, 0xb470b26c
je 0x412234
jmp 0x40edf9
mov ecx, eax
sub ecx, 0xb53ffd11
je 0x410834
jmp 0x40ee09
mov ecx, eax
sub ecx, 0xb85ddffe
je 0x410855
jmp 0x40ee19
mov ecx, eax
sub ecx, 0xb98a89c9
je 0x411bc3
jmp 0x40ee29
mov ecx, eax
sub ecx, 0xbe1a9757
je 0x40fbb6
jmp 0x40ee39
mov ecx, eax
sub ecx, 0xbf7f7b21
je 0x41234d
jmp 0x40ee49
mov ecx, eax
sub ecx, 0xc161471f
je 0x4128e5
jmp 0x40ee59
mov ecx, eax
sub ecx, 0xc1d10120
je 0x40fafe
jmp 0x40ee69
mov ecx, eax
sub ecx, 0xc2313393
je 0x410505
jmp 0x40ee79
mov ecx, eax
sub ecx, 0xc31bfc14
je 0x411896
push eax
push eax
mov eax, esp
mov dword [esi + 0x2d4], eax
push eax
mov eax, esp
mov dword [esi + 0x438], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2d8], eax
push eax
mov eax, esp
mov dword [esi + 0x43c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xac], eax
push eax
mov eax, esp
mov dword [esi + 0x440], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2dc], eax
push eax
mov eax, esp
mov dword [esi + 0x444], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2e0], eax
push eax
mov eax, esp
mov dword [esi + 0x448], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x68], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x44c], eax
push eax
mov eax, esp
mov dword [esi + 0x2e4], eax
push eax
mov eax, esp
mov dword [esi + 0x450], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2e8], eax
push eax
mov eax, esp
mov dword [esi + 0x454], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2ec], eax
push eax
mov eax, esp
mov dword [esi + 0x458], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2f0], eax
push eax
mov eax, esp
mov dword [esi + 0x45c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2f4], eax
push eax
mov eax, esp
mov dword [esi + 0x460], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2f8], eax
push eax
mov eax, esp
mov dword [esi + 0x464], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2fc], eax
push eax
mov eax, esp
mov dword [esi + 0x468], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x300], eax
push eax
mov eax, esp
mov dword [esi + 0x46c], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x70], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0xb0], eax
push eax
mov eax, esp
mov dword [esi + 0x470], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x304], eax
push eax
mov eax, esp
mov dword [esi + 0x474], eax
push eax
mov eax, esp
mov dword [esi + 0x308], eax
push eax
mov eax, esp
mov dword [esi + 0x478], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xb4], eax
push eax
mov eax, esp
mov dword [esi + 0x47c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x30c], eax
push eax
mov eax, esp
mov dword [esi + 0x480], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x74], eax
mov al, byte [esi + 0x198]
mov byte [esi + 0x19c], al
mov byte [esi + 0x3cc], 1
mov byte [esi + 0x3cd], 0x6b
mov eax, 2
mov byte [esi + eax + 0x3cc], 0
add eax, 1
cmp eax, 5
jne 0x40f772
xor ecx, ecx
cmp ecx, 5
jae 0x40f81e
movzx eax, byte [esi + ecx + 0x3cc]
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
add edx, 0xec8e71e7
mov ebx, 0x13718e18
sub ebx, dword [esi + 0xc]
mov edi, 0x13718e18
sub edi, dword [esi + 0xc]
and ebx, edi
xor ebx, 0xffffffff
mov edi, eax
and edi, ebx
mov ebx, 0x13718e18
sub ebx, dword [esi + 0xc]
mov ecx, eax
xor ecx, 0xffffffff
and ebx, ecx
or edi, ebx
mov ebx, 0x13718e18
sub ebx, dword [esi + 0xc]
mov ecx, 0x13718e18
sub ecx, dword [esi + 0xc]
and ebx, ecx
xor ebx, 0xffffffff
and edi, ebx
shl edi, 1
sub edi, edx
mov ecx, edi
xor ecx, eax
xor edi, 0xffffffff
and eax, edi
shl eax, 1
sub eax, ecx
mov ecx, eax
add ecx, 0x7d
mov edx, 0x83
sub edx, eax
or edx, 1
add edx, ecx
or eax, 1
add eax, 0x7c
add eax, edx
mov ecx, dword [esi + 0xc]
mov byte [esi + ecx + 0x3cc], al
add ecx, 1
jmp 0x40f784
lea eax, [esi + 0x3cc]
sub esp, 8
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401970
add esp, 8
mov dword [esi + 0xb8], eax
mov eax, 0x227d450a
cmp dword [esi + 0xb8], 0
je 0x40f852
mov eax, 0x8cf0d357
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x2c348d31
mov dword [esi + 0x290], 0
jmp 0x413253
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xb8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401b90
add esp, 8
mov dword [esi + 4], eax
mov al, byte [esi + 0x194]
mov byte [esi + 0x1a0], al
mov byte [esi + 0x3c4], 0x88
mov byte [esi + 0x3c5], 0x1f
mov eax, 2
mov byte [esi + eax + 0x3c4], 0
add eax, 1
cmp eax, 8
jne 0x40f90f
xor eax, eax
cmp eax, 8
jae 0x40f987
movzx edx, byte [esi + eax + 0x3c4]
mov ecx, eax
add ecx, 0x45
and ecx, edx
mov edi, ecx
xor edi, 0xffffffff
shl edi, 1
add edi, ecx
mov ebx, eax
add ebx, 0x5c6b5645
mov ecx, eax
add ecx, 0x5c6b5645
and ecx, ebx
or ecx, edx
add edi, 1
and ecx, edi
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0x26
add ecx, edx
xor cl, 0x80
mov byte [esi + eax + 0x3c4], cl
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 0x40f921
mov eax, dword [esi + 4]
lea ecx, [esi + 0x3c4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b20
add esp, 0xc
cmp eax, 0
setne cl
xor cl, 0xff
and cl, 1
or cl, 0
mov eax, 0x98df9ca9
test cl, 1
jne 0x40f9c8
mov eax, 0xea9e9849
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x3385c2a
jmp 0x413253
mov eax, 0xc161471f
cmp dword [esi + 0x40], 3
jl 0x40fac3
mov eax, 0x67264db9
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, 0x89c996b5
cmp dword [esi + 0x40], 0
je 0x40fb0e
mov eax, 0x47490ce8
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x88954ada
jmp 0x413253
mov al, byte [esi + 0x14]
mov byte [esi + 0x1ac], al
mov byte [esi + 0x50], 0x68
mov byte [esi + 0x51], 0xf9
mov eax, 2
mov byte [esi + eax + 0x50], 0
add eax, 1
cmp eax, 7
jne 0x40fb3a
xor eax, eax
cmp eax, 7
jae 0x40fb65
mov cl, byte [esi + eax + 0x50]
mov dl, al
add dl, 0x2a
xor dl, cl
add dl, 0x2e
mov byte [esi + eax + 0x50], dl
add eax, 1
jmp 0x40fb49
mov eax, dword [esi + 4]
lea ecx, [esi + 0x50]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b20
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x17], al
mov eax, dword [esi]
mov dword [eax], 0x160d3d2a
jmp 0x413253
mov al, byte [esi + 0x184]
mov byte [esi + 0x1b0], al
mov byte [esi + 0x188], 0xc5
mov byte [esi + 0x189], 0xc1
mov byte [esi + 0x18a], 0xc2
mov byte [esi + 0x18b], 0xc3
mov eax, 4
mov byte [esi + eax + 0x188], 0
add eax, 1
cmp eax, 7
jne 0x40fbe3
xor eax, eax
cmp eax, 7
jae 0x40fc82
mov ecx, eax
mov dword [esi + 0x408], ecx
movzx edx, byte [esi + ecx + 0x188]
add ecx, 0xa1172550
mov edi, ecx
and edi, edx
mov eax, edi
and eax, 0xfd
mov ebx, edi
and ebx, 2
xor ebx, 2
imul ebx, eax
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
add edi, ebx
add edi, 0x8afdb25
sub ecx, edi
add ecx, 0x8afdb24
add ecx, edx
add ecx, 1
mov eax, ecx
xor eax, 0x2573ba90
mov edx, ecx
or edx, 0x5a8c456f
and edx, eax
shl edx, 1
xor ecx, 0xda8c456f
add edx, ecx
and ecx, 1
or edx, 1
add ecx, edx
mov eax, dword [esi + 0x408]
mov byte [esi + eax + 0x188], cl
add eax, 1
jmp 0x40fbf5
mov eax, dword [esi + 0x188]
mov cl, byte [esi + 0x180]
mov byte [esi + 0x1b4], cl
mov byte [esi + 0x4c], 0xfd
mov byte [esi + 0x4d], 0x61
mov ecx, 2
mov byte [esi + ecx + 0x4c], 0
add ecx, 1
cmp ecx, 4
jne 0x40fca1
xor ecx, ecx
cmp ecx, 4
jae 0x40fce1
mov bl, byte [esi + ecx + 0x4c]
mov edi, ecx
shl edi, 1
and edi, 0x30
mov edx, ecx
xor edx, 0x98
add edx, edi
xor dl, bl
add dl, 8
mov byte [esi + ecx + 0x4c], dl
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
jmp 0x40fcb0
mov ecx, dword [esi + 4]
lea edx, [esi + 0x4c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00401b20
add esp, 0xc
mov ecx, 0x879cd407
cmp eax, 0
jne 0x40fd0c
mov ecx, 0x2715c4f1
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413253
mov al, byte [esi + 0x17c]
mov byte [esi + 0x1b8], al
mov byte [esi + 0x3b4], 0x1e
mov byte [esi + 0x3b5], 0x99
mov eax, 2
mov byte [esi + eax + 0x3b4], 0
add eax, 1
cmp eax, 6
jne 0x40fd34
xor eax, eax
cmp eax, 6
jae 0x40fd9c
movzx ecx, byte [esi + eax + 0x3b4]
mov edx, 0xb063a919
sub edx, eax
mov edi, 0xb063a919
sub edi, eax
and edx, edi
mov edi, ecx
xor edi, 0xffffffff
shl edi, 1
add edi, ecx
mov ebx, 0xfe
sub ebx, edi
mov edi, edx
shl edi, 1
xor edi, 0xffffffff
add edx, edi
and ebx, edx
mov edx, 0x19
sub edx, eax
xor ecx, 0xffffffff
and edx, ecx
or ebx, edx
mov cl, 0x81
sub cl, bl
mov byte [esi + eax + 0x3b4], cl
add eax, 1
jmp 0x40fd46
mov eax, dword [esi + 4]
lea ecx, [esi + 0x3b4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401b20
add esp, 0xc
mov ecx, 0x8cfdfc70
cmp eax, 0
jne 0x40fdce
mov ecx, 0x2715c4f1
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413253
mov al, byte [esi + 0x178]
mov byte [esi + 0x1bc], al
mov byte [esi + 0x3ac], 0x30
mov byte [esi + 0x3ad], 0x8b
mov eax, 2
mov byte [esi + eax + 0x3ac], 0
add eax, 1
cmp eax, 6
jne 0x40fdf6
xor eax, eax
cmp eax, 6
jae 0x40fe41
movzx edx, byte [esi + eax + 0x3ac]
mov ecx, 0x9c
sub ecx, eax
or ecx, edx
mov edi, eax
add edi, 0x63
mov ebx, eax
add ebx, 0x63
or edi, ebx
xor edx, 0xffffffff
or edi, edx
and ecx, edi
mov dl, 0x10
sub dl, cl
mov byte [esi + eax + 0x3ac], dl
add eax, 1
jmp 0x40fe08
mov eax, dword [esi + 4]
lea ecx, [esi + 0x3ac]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b20
add esp, 0xc
mov ecx, 0x6a8044d2
cmp eax, 0
jne 0x40fe73
mov ecx, 0x2715c4f1
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413253
mov al, byte [esi + 0x170]
mov byte [esi + 0x1c4], al
mov byte [esi + 0x3a4], 0xb4
mov byte [esi + 0x3a5], 0x27
mov eax, 2
mov byte [esi + eax + 0x3a4], 0
add eax, 1
cmp eax, 8
jne 0x40ff64
xor eax, eax
cmp eax, 8
jae 0x40ffae
mov dl, byte [esi + eax + 0x3a4]
mov edi, eax
add edi, 0x39
mov ecx, 6
sub ecx, eax
and ecx, 0x26
and edi, 0xd9
or ecx, edi
xor cl, dl
xor cl, 0xd9
mov dl, 0xe2
sub dl, cl
mov byte [esi + eax + 0x3a4], dl
add eax, 1
jmp 0x40ff76
mov eax, dword [esi + 4]
lea ecx, [esi + 0x3a4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018a0
add esp, 8
mov dword [esi + 0x28c], eax
mov al, byte [esi + 0x16c]
mov byte [esi + 0x1c8], al
mov byte [esi + 0x39c], 0x9d
mov byte [esi + 0x39d], 0x21
mov eax, 2
mov byte [esi + eax + 0x39c], 0
add eax, 1
cmp eax, 7
jne 0x40ffee
xor eax, eax
cmp eax, 7
jae 0x410062
movzx edx, byte [esi + eax + 0x39c]
mov edi, eax
shl edi, 1
and edi, 0x411f8790
mov ecx, eax
xor ecx, 0xa08fc3c8
add ecx, edi
xor ecx, edx
mov edx, ecx
and edx, 0x15
mov ebx, ecx
and ebx, 2
xor ebx, 2
mov edi, ecx
and edi, 0x15
imul edi, ebx
mov ebx, ecx
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
xor ecx, 0x17
add ecx, edx
add cl, 1
mov byte [esi + eax + 0x39c], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x410000
mov eax, dword [esi + 4]
lea ecx, [esi + 0x39c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401970
add esp, 8
mov dword [esi + 0x310], eax
mov al, byte [esi + 0x168]
mov byte [esi + 0x1cc], al
mov byte [esi + 0x394], 0x1a
mov byte [esi + 0x395], 0x91
mov eax, 2
mov byte [esi + eax + 0x394], 0
add eax, 1
cmp eax, 7
jne 0x4100a2
xor eax, eax
cmp eax, 7
jae 0x41010c
movzx ecx, byte [esi + eax + 0x394]
mov edx, eax
add edx, 0xac8eb0dc
xor edx, ecx
mov ecx, edx
add ecx, 0x471a26f5
mov ebx, 0xa
sub ebx, edx
and ebx, 0x42
mov edi, ecx
and edi, 0xbd
sub edi, ebx
and ecx, 1
xor edi, 1
and edx, 1
xor edx, 1
or edi, edx
add ecx, edi
mov byte [esi + eax + 0x394], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x4100b4
mov eax, dword [esi + 4]
lea ecx, [esi + 0x394]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018a0
add esp, 8
mov dword [esi + 0x314], eax
mov al, byte [esi + 0x164]
mov byte [esi + 0x1d0], al
mov byte [esi + 0x38c], 0xb0
mov byte [esi + 0x38d], 0x1b
mov eax, 2
mov byte [esi + eax + 0x38c], 0
add eax, 1
cmp eax, 5
jne 0x41014c
xor eax, eax
cmp eax, 5
jae 0x4101b6
movzx ecx, byte [esi + eax + 0x38c]
mov edx, eax
and edx, 0xff125fb9
mov ebx, eax
and ebx, 2
xor ebx, 2
mov edi, eax
and edi, 0xff125fb9
imul edi, ebx
mov ebx, eax
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
mov ebx, eax
xor ebx, 0xff125fbb
add ebx, edx
mov edx, ebx
and edx, ecx
add ebx, ecx
shl edx, 1
sub ebx, edx
add bl, 0x59
mov byte [esi + eax + 0x38c], bl
add eax, 1
jmp 0x41015e
mov eax, dword [esi + 4]
sub esp, 8
lea ecx, [esi + 0x38c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401900
add esp, 8
fnstcw word [esi + 0x60]
movzx eax, word [esi + 0x60]
or eax, 0xc00
mov word [esi + 0x270], ax
fldcw word [esi + 0x270]
fistp dword [esi + 0x42c]
fldcw word [esi + 0x60]
mov eax, dword [esi + 0x42c]
mov dword [esi + 0x484], eax
mov al, byte [esi + 0x160]
mov byte [esi + 0x1d4], al
mov byte [esi + 0x38], 0xde
mov byte [esi + 0x39], 0xc2
mov byte [esi + 0x3a], 0x72
mov eax, 3
mov byte [esi + eax + 0x38], 0
add eax, 1
cmp eax, 4
jne 0x41021c
xor eax, eax
cmp eax, 4
jae 0x410270
movzx ecx, byte [esi + eax + 0x38]
mov edi, eax
add edi, 0xab4aaee8
mov edx, edi
shl edx, 1
and edx, 0xf986828
xor edi, 0x7cc3414
add edi, edx
mov edx, edi
add edx, 0x18
mov ebx, 0xe7
sub ebx, edi
and ebx, ecx
xor ecx, 0xffffffff
and edx, ecx
or edx, ebx
add dl, 0x9c
mov byte [esi + eax + 0x38], dl
add eax, 1
jmp 0x41022b
mov eax, dword [esi + 4]
sub esp, 8
lea ecx, [esi + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00401900
add esp, 8
fnstcw word [esi + 0x5e]
movzx eax, word [esi + 0x5e]
or eax, 0xc00
mov word [esi + 0x26e], ax
fldcw word [esi + 0x26e]
fistp dword [esi + 0x428]
fldcw word [esi + 0x5e]
mov eax, dword [esi + 0x428]
mov dword [esi + 0x488], eax
mov al, byte [esi + 0x15c]
mov byte [esi + 0x1d8], al
mov byte [esi + 0x274], 0xae
mov byte [esi + 0x275], 0xa5
mov byte [esi + 0x276], 0x12
mov eax, 3
mov byte [esi + eax + 0x274], 0
add eax, 1
cmp eax, 8
jne 0x4102dc
xor eax, eax
cmp eax, 8
jae 0x410341
movzx edx, byte [esi + eax + 0x274]
mov edi, eax
shl edi, 1
and edi, 0x834eda78
mov ecx, eax
xor ecx, 0xc1a76d3c
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
mov edx, ecx
sub edx, edi
add edx, 0x37baddd3
mov edi, edx
shl edi, 1
and edi, 2
and edx, 0xfe
and ecx, 1
or edx, ecx
add edx, edi
mov byte [esi + eax + 0x274], dl
add eax, 1
jmp 0x4102ee
mov eax, dword [esi + 4]
lea ecx, [esi + 0x274]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004019d0
add esp, 8
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x18], al
sub esp, 4
mov eax, dword [esi + 0x28c]
mov dword [esp], eax
call fcn.00417830
add esp, 4
mov dword [esi + 0xc0], eax
mov edi, dword [esi + 0xc0]
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4103a2
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esi + 0x28c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040aa30
add esp, 0x10
mov eax, dword [0x44d264]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc0]
xor edi, edi
lea edi, [esi + 0x158]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
call eax
mov dword [esi + 0x40c], eax
mov cl, byte [esi + 0x14c]
mov byte [esi + 0x1dc], cl
mov byte [esi + 0x150], 0xf3
mov byte [esi + 0x151], 0x11
mov byte [esi + 0x152], 0x12
mov byte [esi + 0x153], 0x53
mov ecx, 4
mov byte [esi + ecx + 0x150], 0
add ecx, 1
cmp ecx, 5
jne 0x41044d
xor ecx, ecx
cmp ecx, 5
jae 0x4104ac
movzx edi, byte [esi + ecx + 0x150]
mov ebx, edi
xor ebx, 0xffffffff
mov eax, ecx
add eax, 0x22f167fd
mov edx, 3
sub edx, ecx
or edx, ebx
add edx, eax
mov eax, 3
sub eax, ecx
and eax, edi
or edx, eax
add edx, 0x5148f813
mov eax, edx
shl eax, 1
and eax, 2
xor edx, 1
add edx, eax
mov byte [esi + ecx + 0x150], dl
add ecx, 1
jmp 0x41045f
mov eax, dword [esi + 0x150]
mov ecx, 0x375f0513
cmp dword [esi + 0x40c], eax
jne 0x4104c4
mov ecx, 0xc2313393
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413253
mov eax, dword [esi + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xb0bccad4
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x70cfd4ee
jmp 0x413253
mov eax, dword [esi + 0x158]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x410521
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov dword [esi + 0xc4], eax
mov eax, dword [0x44d264]
mov dword [esi + 0x3e4], eax
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0xc4]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc0]
xor eax, eax
lea eax, [esi + 0x158]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call dword [esi + 0x3e4]
mov ecx, 0x5073943e
cmp eax, 0
jge 0x410590
mov eax, dword [esi + 0x10]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x870d4e67
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xaf2ac5fb
jmp 0x413253
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xb85ddffe
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xa4a24ed3
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x974bfd0b
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xa336dc01
jmp 0x413253
mov eax, dword [esi + 0xcc]
add eax, 1
mov dword [esi + 0x48c], eax
mov eax, dword [esi]
mov dword [eax], 0x10c2f9d3
mov eax, dword [esi + 0x48c]
mov dword [esi + 0x294], eax
jmp 0x413253
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0xddd70c12
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x70cfd4ee
jmp 0x413253
mov al, byte [esi + 0x140]
mov byte [esi + 0x1e8], al
mov byte [esi + 0x37c], 0x75
mov byte [esi + 0x37d], 9
mov eax, 2
mov byte [esi + eax + 0x37c], 0
add eax, 1
cmp eax, 8
jne 0x410b0f
xor eax, eax
cmp eax, 8
jae 0x410b43
mov cl, byte [esi + eax + 0x37c]
mov dl, al
add dl, 2
xor dl, cl
add dl, 0xf6
mov byte [esi + eax + 0x37c], dl
add eax, 1
jmp 0x410b21
mov eax, dword [esi + 4]
lea ecx, [esi + 0x37c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call fcn.00401b20
add esp, 0xc
mov dword [esi + 0x490], eax
mov eax, dword [esi]
mov dword [eax], 0x6a933224
jmp 0x413253
cmp dword [esi + 0x490], 0
setne al
and al, 1
mov byte [esi + 0x19], al
mov eax, dword [esi]
mov dword [eax], 0x2c3609c1
jmp 0x413253
mov al, byte [esi + 0x138]
mov byte [esi + 0x1f0], al
mov byte [esi + 0x36c], 0x64
mov byte [esi + 0x36d], 0xc1
mov eax, 2
mov byte [esi + eax + 0x36c], 0
add eax, 1
cmp eax, 8
jne 0x410c83
xor eax, eax
cmp eax, 8
jae 0x410cc6
movzx edi, byte [esi + eax + 0x36c]
mov ecx, eax
add ecx, 0x30
and ecx, edi
shl ecx, 1
mov edx, eax
add edx, 0xb0
add edx, edi
sub edx, ecx
add dl, 0x90
mov byte [esi + eax + 0x36c], dl
add eax, 1
jmp 0x410c95
mov eax, dword [esi + 4]
lea ecx, [esi + 0x36c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b20
add esp, 0xc
mov ecx, 0xb1906cde
cmp eax, 0
jne 0x410cf8
mov ecx, 0x53ca619d
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413253
mov al, byte [esi + 0x134]
mov byte [esi + 0x1f4], al
mov byte [esi + 0x34], 0xe
mov byte [esi + 0x35], 0x1e
mov byte [esi + 0x36], 0xea
mov eax, 3
mov byte [esi + eax + 0x34], 0
add eax, 1
cmp eax, 4
jne 0x410d1e
xor edx, edx
cmp edx, 4
jae 0x410d86
movzx edi, byte [esi + edx + 0x34]
mov dword [esi + 0x3ec], edi
mov eax, edx
add eax, 0x9e04a227
mov ecx, eax
and ecx, edi
mov edi, ecx
or edi, 0xfffffffd
add edi, 1
mov ebx, ecx
and ebx, 0xfd
imul edi, ebx
mov ebx, ecx
and ebx, 2
or ecx, 2
imul ecx, ebx
sub edi, ecx
add eax, dword [esi + 0x3ec]
mov ecx, eax
add ecx, edi
and eax, 1
or ecx, 1
add ecx, 0x3c
add eax, ecx
mov byte [esi + edx + 0x34], al
add edx, 1
jmp 0x410d2d
lea eax, [esi + 0x34]
mov dword [esi + 0x494], eax
mov eax, dword [esi]
mov dword [eax], 0x9fbc87ec
jmp 0x413253
mov eax, dword [esi + 0x494]
mov ecx, dword [esi + 4]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 3
call fcn.00401b20
add esp, 0xc
sub eax, 1
mov cl, 1
sbb cl, 0xff
mov eax, 0x47490ce8
test cl, 1
jne 0x410dd6
mov eax, 0xaab6d72
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x444]
mov eax, dword [esi + 0x2dc]
mov cl, byte [ecx]
mov byte [esi + 0x20c], cl
mov byte [eax], 0x8e
mov byte [eax + 1], 0x9e
mov byte [eax + 2], 0x2a
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x411195
mov eax, dword [esi + 0x2dc]
xor ecx, ecx
cmp ecx, 5
jae 0x4111d8
mov bl, byte [eax + ecx]
mov edi, ecx
add edi, 0x47
mov edx, 0x38
sub edx, ecx
and edx, 0x22
and edi, 0xdd
or edx, edi
xor dl, bl
xor dl, 0x22
add dl, 0x9d
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x4111a9
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00401900
add esp, 8
fnstcw word [esi + 0x5a]
movzx eax, word [esi + 0x5a]
or eax, 0xc00
mov word [esi + 0x26a], ax
fldcw word [esi + 0x26a]
fistp dword [esi + 0x434]
fldcw word [esi + 0x5a]
mov eax, dword [esi + 0x434]
mov dword [esi + 0x49c], eax
mov eax, dword [esi + 0x318]
sub esp, 4
mov dword [esp], eax
call fcn.00417830
add esp, 4
inc eax
mov dword [esi + 0x328], eax
mov eax, dword [esi + 0x328]
add eax, eax
setb byte [esi + 0x4a4]
mov dword [esi + 0x4a0], eax
mov eax, dword [esi]
mov dword [eax], 0x2f164378
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xa79e1b09
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x250c1b61
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x29c], eax
jmp 0x413253
mov eax, dword [esi + 0x80]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x9b505c5b
jmp 0x413253
mov eax, dword [esi + 0x324]
sub esp, 4
mov dword [esp], eax
call fcn.00417830
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 0x41195a
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x324]
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.0040aa30
add esp, 0x10
mov ecx, dword [esi + 0x68]
sub esp, 4
mov dword [esp], 1
call fcn.00408df0
mov eax, dword [esi]
mov dword [eax], 0xac19701b
mov dword [esi + 0x2a0], 0
jmp 0x413253
mov eax, dword [esi + 0x2a0]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x320]
sub esp, 4
mov dword [esp], eax
call fcn.00401b80
add esp, 4
mov ecx, 0xdef9dc8a
cmp dword [esi + 0xe4], eax
jb 0x4119f5
mov ecx, 0x9ef67e75
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xa36ea59f
jmp 0x413253
mov eax, dword [esi + 0xe8]
sub esp, 4
mov dword [esp], eax
call fcn.00417830
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 0x411a94
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
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.0040aa30
add esp, 0x10
mov eax, dword [esi + 0x88]
mov dword [esi + 0x3e0], eax
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0xe0]
mov eax, dword [esi + 0x49c]
mov dword [esi + 0x3d8], eax
mov ebx, dword [esi + 0x498]
mov eax, dword [esi + 0x68]
xor edi, edi
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esi + 0x3e0]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x3d8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0
call fcn.00421d10
add esp, 0x1c
mov eax, dword [esi]
mov dword [eax], 0x87d696e4
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x1e84a50f
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x770c0f34
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xb98a89c9
jmp 0x413253
mov eax, dword [esi + 0x84]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x5e0fd43e
jmp 0x413253
mov ecx, dword [esi + 0x1c]
call fcn.00417980
mov eax, dword [esi]
mov dword [eax], 0xc6df5f07
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x228b9764
jmp 0x413253
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.00401b80
add esp, 4
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov ecx, 0xc
mul ecx
seto byte [esi + 0x1a]
add eax, 4
setb byte [esi + 0x4b8]
mov dword [esi + 0x4b4], eax
mov eax, dword [esi]
mov dword [eax], 0x80fee284
jmp 0x413253
mov eax, dword [esi + 0x4b4]
mov dl, byte [esi + 0x1a]
mov cl, byte [esi + 0x4b8]
or dl, cl
mov ecx, 0xffffffff
test dl, 1
jne 0x412293
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0x8c], eax
mov eax, 0xa8cf5c10
cmp dword [esi + 0x24], 0
je 0x4122bf
mov eax, 0xd195a05d
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xbf7f7b21
mov dword [esi + 0x2b0], 0
jmp 0x413253
mov eax, dword [esi + 0x2b0]
mov dword [esi + 0x90], eax
mov ecx, dword [esi + 0x90]
mov eax, 0x10978ab2
cmp ecx, dword [esi + 0x24]
jb 0x41236e
mov eax, 0xca5c3f79
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x8b7126cd
jmp 0x413253
mov eax, dword [esi + 0xf8]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x97d59fb9
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x918e6ff3
jmp 0x413253
mov eax, dword [esi + 0xf4]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x475a6d04
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x5224c3ef
jmp 0x413253
mov eax, dword [esi + 0x108]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x9024589f
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xde10fb48
jmp 0x413253
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0x470]
mov eax, dword [esi + 0xb0]
mov cl, byte [ecx]
mov byte [esi + 0x250], cl
mov byte [eax], 0x70
mov byte [eax + 1], 0xe1
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x41290b
mov eax, dword [esi + 0xb0]
xor ecx, ecx
cmp ecx, 5
jae 0x412958
mov bl, byte [eax + ecx]
mov edi, ecx
add edi, 0x58
mov edx, 0x27
sub edx, ecx
and edx, 0x8d
and edi, 0x72
or edx, edi
xor dl, bl
xor dl, 0x72
mov bl, 0xc7
sub bl, dl
mov byte [eax + ecx], bl
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
jmp 0x41291f
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018a0
add esp, 8
mov dword [esi + 0x114], eax
mov ecx, dword [esi + 0x474]
mov eax, dword [esi + 0x304]
mov cl, byte [ecx]
mov byte [esi + 0x254], cl
mov byte [eax], 0xfa
mov byte [eax + 1], 0x7b
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 7
jne 0x412993
mov eax, dword [esi + 0x304]
xor ecx, ecx
cmp ecx, 7
jae 0x4129c1
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0xeb
xor dh, dl
add dh, 0x69
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x4129a7
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004018a0
add esp, 8
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x114]
test eax, eax
sete cl
mov eax, dword [esi + 0x118]
test eax, eax
sete al
or cl, al
mov eax, 0x86c24744
test cl, 1
jne 0x412a03
mov eax, 0xd95da6e7
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x2f0378ed
jmp 0x413253
mov eax, dword [esi + 0x124]
sub esp, 4
mov dword [esp], eax
call fcn.00401b80
add esp, 4
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x2c]
mov ecx, 8
mul ecx
seto dl
add eax, 4
setb cl
or dl, cl
mov ecx, 0xffffffff
test dl, 1
jne 0x412bf5
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0x94], eax
mov eax, 0x5c075dc0
cmp dword [esi + 0x2c], 0
je 0x412c21
mov eax, 0x35cbb072
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0xd2812bab
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x6fafb4e6
jmp 0x413253
mov ecx, dword [esi + 0x74]
call fcn.00408ed0
mov eax, dword [esi]
mov dword [eax], 0x2f0378ed
jmp 0x413253
mov eax, dword [esi + 0xbc]
add eax, 1
mov dword [esi + 0x4d4], eax
mov eax, dword [esi]
mov dword [eax], 0xb167d60d
jmp 0x413253
mov eax, dword [esi]
mov dword [eax], 0x2c348d31
mov eax, dword [esi + 0x4d4]
mov dword [esi + 0x290], eax
jmp 0x413253
out 0xfa, eax
in al, 0x96
pop ebp
cmpsd dword [esi], dword es:[edi]
cmp ah, bh
and bh, byte [edi]
call 0xf3ea9e67
in eax, dx
inc eax
jae 0x88c7bd75
add byte [eax], al
add byte [ebx + 0x48904ec], al
and al, 0xe8
cdq
push eax
invalid
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0x1e84a50f
jmp 0x413253
sahf
add eax, dword [edi]
jne 0x4131c7
mov eax, 0x13873866
retf 0x8b71
jmp 0x40ea73