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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x158
mov eax, dword [0x4ea2c0]
mov esi, esp
mov ecx, 0xd3ebf352
xor eax, ebp
mov dword [esi + 0x150], eax
mov eax, dword [ebp + 0x18]
add eax, 0x20
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
jmp 0x42275b
mov eax, dword [esi + 0x18]
sub eax, dword [esi + 8]
mov ecx, dword [esi + 0xb8]
cmp ecx, eax
mov ecx, 0x8a824ebc
setb byte [esi + 0x41]
movzx eax, byte [esi + 0x41]
mov dword [esi + 0x4c], eax
jmp 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0x3f775f58
mov edi, 0x7cae4a52
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x7cae4a52
sete al
cmove ecx, ebx
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
nop word [eax + eax]
cmp ecx, 0xfddee4d4
jle 0x422810
cmp ecx, 0x352a632b
jle 0x422930
cmp ecx, 0x67c0c920
jle 0x422a26
cmp ecx, 0x766f7087
jle 0x422d2d
cmp ecx, 0x7e2c5ce4
jle 0x422fc6
cmp ecx, 0x7ee65102
jle 0x42356c
cmp ecx, 0x7ee65103
je 0x423d8a
cmp ecx, 0x7f276fc6
je 0x423d9d
cmp ecx, 0x7ff3d3d8
jne 0x4227a0
mov ecx, 0x1dcc1548
jmp 0x4227a0
cmp ecx, 0xb0645726
jg 0x4229a0
cmp ecx, 0x994f36dc
jg 0x422a7e
cmp ecx, 0x908fbb94
jg 0x422d73
cmp ecx, 0x8970ee4f
jle 0x422ffd
cmp ecx, 0x8b10084d
jle 0x42359a
cmp ecx, 0x8b10084e
je 0x423da7
cmp ecx, 0x8b738a15
je 0x423e32
cmp ecx, 0x8fe5bfb2
jne 0x4227a0
lea ecx, [esi + 0x138]
push 0
call fcn.00425c80
lea edi, [ebp + 0x10]
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0xe8], xmm0
mov ecx, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0xe8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
lea eax, [esi + 0xf0]
mov dword [esp], ecx
mov edx, dword [esi + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
call fcn.00427290
add esp, 0x18
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0xe0]
movsx ecx, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x118]
mov eax, dword [esi + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
call fcn.00426fe0
add esp, 0x18
vmovsd xmm0, qword [esi + 0x118]
mov ecx, 0x540f1630
vmovsd qword [edi], xmm0
jmp 0x4227a0
cmp ecx, 0x17aeca08
jg 0x422c50
cmp ecx, 0xb7fc5f9
jg 0x422de0
cmp ecx, 0xfd997a
jle 0x42302e
cmp ecx, 0x5558021
jle 0x4235c8
cmp ecx, 0x5558022
je 0x423e3c
cmp ecx, 0x79d398b
je 0x423e87
cmp ecx, 0xb4a17a9
jne 0x4227a0
mov eax, dword [esi + 0x58]
mov ecx, 0x315b8e97
mov dword [esi + 0xd0], eax
jmp 0x4227a0
cmp ecx, 0xd4da656f
jg 0x422cbf
cmp ecx, 0xc2b0bc73
jg 0x422e37
cmp ecx, 0xb997f8ea
jle 0x423065
cmp ecx, 0xbdcc07d4
jle 0x423644
cmp ecx, 0xbdcc07d5
je 0x423e94
cmp ecx, 0xc164e1f9
je 0x423f22
cmp ecx, 0xc1e2c42a
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x1fd691d7
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x10c8a4df
jmp 0x4242f2
cmp ecx, 0x50d85f24
jg 0x422e92
cmp ecx, 0x3f775f57
jle 0x4230af
cmp ecx, 0x4976c48e
jle 0x423666
cmp ecx, 0x4976c48f
je 0x423f48
cmp ecx, 0x4ab99fe1
je 0x423f56
cmp ecx, 0x4daf7b7f
jne 0x4227a0
mov eax, dword [esi + 0x24]
mov ecx, 0xc164e1f9
mov dword [esi + 0x74], eax
jmp 0x4227a0
cmp ecx, 0xa7417600
jg 0x422edb
cmp ecx, 0x9d4e60c9
jle 0x423105
cmp ecx, 0x9fbf12e8
jle 0x4236e4
cmp ecx, 0x9fbf12e9
je 0x423f60
cmp ecx, 0xa2451e36
je 0x423f92
cmp ecx, 0xa60ee15e
jne 0x4227a0
mov ecx, dword [0x4ec3e8]
mov edi, 0xe7c10b76
mov ebx, 0x1f1a8b14
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, dword [0x4ec3e4]
test al, 1
sete byte [esi + 4]
cmp ecx, 0xa
setge cl
setl byte [esi + 0xc]
mov edx, ecx
or cl, al
xor dl, al
not cl
mov eax, 0x159d370d
or cl, dl
mov edx, 0x159d370d
test cl, 1
mov ecx, 0xb074a89c
cmovne eax, ecx
mov ecx, 0x61f337b1
cmovne edx, ecx
mov ecx, 0xf1721b5a
cmovne edi, ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x30], edi
jmp 0x422b30
mov ebx, 0x61f337b1
nop
mov edi, ebx
cmp ebx, 0x1f1a8b13
jg 0x422b70
cmp edi, 0x159d370c
jg 0x422ba0
cmp edi, 0xe7c10b76
je 0x422bf4
cmp edi, 0xf1721b5a
jne 0x422c2c
mov ebx, 0x21a30dcc
jmp 0x422b30
cmp edi, 0x61f337b0
jg 0x422bd0
cmp edi, 0x1f1a8b14
je 0x422bfe
mov ebx, edi
cmp edi, 0x21a30dcc
jne 0x422b30
mov ecx, dword [esi + 0x10]
mov ebx, 0x6a5c085e
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x118], xmm0
jmp 0x422b30
cmp edi, 0x159d370d
je 0x422b29
mov ebx, edi
cmp edi, 0x1e977fa5
jne 0x422b30
mov ecx, dword [esi + 0x54]
mov ebx, dword [esi + 0x30]
mov dword [esi + 0x10], ecx
jmp 0x422b30
mov ebx, eax
cmp edi, 0x61f337b1
je 0x422b30
mov ebx, edi
cmp edi, 0x6a5c085e
jne 0x422b30
mov ebx, dword [esi + 0x1c]
jmp 0x422b30
mov ebx, 0x1e977fa5
jmp 0x422b30
movzx edx, byte [esi + 4]
mov ch, byte [esi + 0xc]
mov ebx, 0xe7c10b76
mov edi, 0x1e977fa5
mov cl, dl
xor cl, ch
test ch, ch
cmovne ebx, edi
test dl, dl
mov edx, 0xe7c10b76
cmove ebx, edx
test cl, cl
cmovne ebx, edi
jmp 0x422b30
mov ebx, edi
cmp edi, 0xb074a89c
jne 0x422b30
mov eax, dword [esi + 0x118]
mov eax, dword [esi + 0x11c]
mov ecx, 0xc2b0bc74
jmp 0x4227a0
cmp ecx, 0x275151c2
jg 0x422f37
cmp ecx, 0x223cf800
jle 0x423133
cmp ecx, 0x24798cd2
jle 0x42372e
cmp ecx, 0x24798cd3
je 0x423fc1
cmp ecx, 0x2499df6a
je 0x423fda
cmp ecx, 0x256e39f7
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0xedaadc52
mov edi, 0x79d398b
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x79d398b
jmp 0x422782
cmp ecx, 0xedaadc51
jg 0x422f7d
cmp ecx, 0xdbd19b3e
jle 0x42319b
cmp ecx, 0xde4f72c7
jle 0x4237a1
cmp ecx, 0xde4f72c8
je 0x42400c
cmp ecx, 0xe4cef111
je 0x424059
cmp ecx, 0xeb892ee0
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0xae70dc48
mov edi, 0x61cd9743
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x61cd9743
jmp 0x422782
cmp ecx, 0x6f31d4fe
jle 0x4231d5
cmp ecx, 0x72e70b01
jle 0x4237e5
cmp ecx, 0x72e70b02
je 0x424063
cmp ecx, 0x756149fe
je 0x422760
cmp ecx, 0x761b9bce
jne 0x4227a0
mov ecx, 0x9f54e71d
jmp 0x4227a0
cmp ecx, 0x940a819f
jle 0x423220
cmp ecx, 0x959e2291
jle 0x42382f
cmp ecx, 0x959e2292
je 0x424081
cmp ecx, 0x98ca41aa
je 0x42408b
cmp ecx, 0x98ea7402
jne 0x4227a0
movzx eax, byte [esi + 0x21]
mov edi, 0xfc2ffeb7
mov ebx, 0x17aeca09
cmp al, 0x58
mov eax, dword [0x4ebf98]
sete byte [esi + 0x3c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x17aeca09
jmp 0x4246e5
cmp ecx, 0x11c98371
jle 0x42324e
cmp ecx, 0x130f99cd
jle 0x42385a
cmp ecx, 0x130f99ce
je 0x4240a7
cmp ecx, 0x14deb9f8
je 0x4240c5
cmp ecx, 0x171e4839
jne 0x4227a0
mov eax, dword [esi + 0x98]
mov ecx, 0x98ca41aa
mov edx, 0x726b18e1
cmp eax, 0x78
cmove ecx, edx
jmp 0x4227a0
cmp ecx, 0xc525bcc1
jle 0x423282
cmp ecx, 0xd0753948
jle 0x4238a5
cmp ecx, 0xd0753949
je 0x4240cf
cmp ecx, 0xd386354f
je 0x422740
cmp ecx, 0xd3ebf352
jne 0x4227a0
push eax
push eax
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 8
mov edx, dword [ebp + 0x24]
mov eax, esp
mov dword [esi + 0x60], eax
mov ecx, 0x200a48ac
mov dword [esi + 0x18], edx
jmp 0x4227a0
cmp ecx, 0x5e605254
jle 0x4232b0
cmp ecx, 0x61f83c41
jle 0x4238d6
cmp ecx, 0x61f83c42
je 0x4240d9
cmp ecx, 0x62af3e1d
je 0x4240f6
cmp ecx, 0x63dbc8ce
jne 0x4227a0
mov eax, dword [esi + 0x74]
mov ecx, 0x2b3a47eb
jmp 0x4227a0
cmp ecx, 0xaafe9fe6
jle 0x4232de
cmp ecx, 0xac3648ed
jle 0x4238f8
cmp ecx, 0xac3648ee
je 0x424108
cmp ecx, 0xae70dc48
je 0x42413b
cmp ecx, 0xaeae0abb
jne 0x4227a0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x94]
movsx eax, byte [eax + ecx]
mov ecx, 0x171e4839
mov dword [esi + 0x98], eax
jmp 0x4227a0
cmp ecx, 0x2bdfacc3
jle 0x423366
cmp ecx, 0x315b8e96
jle 0x42391a
cmp ecx, 0x315b8e97
je 0x424145
cmp ecx, 0x31fa100c
je 0x424162
cmp ecx, 0x32e26fda
jne 0x4227a0
mov ecx, 0xde4f72c8
jmp 0x4227a0
cmp ecx, 0xfac3f415
jle 0x42352e
cmp ecx, 0xfbc64149
jle 0x42393c
cmp ecx, 0xfbc6414a
je 0x42416c
cmp ecx, 0xfc2ffeb7
je 0x424176
cmp ecx, 0xfc4ea87c
jne 0x4227a0
mov eax, dword [esi + 0x64]
mov ecx, 0x5558022
jmp 0x4227a0
cmp ecx, 0x7cae4a51
jg 0x42399b
cmp ecx, 0x766f7088
je 0x42418c
cmp ecx, 0x7bbf087d
jne 0x424f36
mov eax, dword [esi + 0xcc]
mov ecx, 0xb4a17a9
cmp eax, 0x40
jmp 0x424155
cmp ecx, 0x88454af3
jg 0x4239bd
cmp ecx, 0x80e04369
je 0x4241ac
cmp ecx, 0x84196aaf
jne 0x4227a0
mov eax, dword [esi + 0x78]
mov ecx, 0xfd997b
jmp 0x4227a0
cmp ecx, 0x1c7dc6
jg 0x423a08
cmp ecx, 0xfddee4d5
je 0x4241bd
cmp ecx, 0xfe4df436
jne 0x4227a0
mov eax, dword [esi + 0xa8]
mov ecx, 0x67c0c921
mov dword [esi + 8], eax
jmp 0x4227a0
cmp ecx, 0xb292dd10
jg 0x423a6a
cmp ecx, 0xb0645727
je 0x424208
cmp ecx, 0xb2142ca5
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov edi, 0x3975dd23
mov ebx, 0xab1652c8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xab1652c8
jmp 0x4246e5
cmp ecx, 0x3975dd22
jg 0x423aa8
cmp ecx, 0x352a632c
je 0x42421f
cmp ecx, 0x36ea77c2
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x8b738a15
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xfb9c612f
jmp 0x4242f2
cmp ecx, 0x9a2a8871
jg 0x423aca
cmp ecx, 0x994f36dd
je 0x424271
cmp ecx, 0x9a294c63
jne 0x4227a0
mov ecx, 0x227c6eee
jmp 0x4227a0
cmp ecx, 0x1fd691d6
jg 0x423b0b
cmp ecx, 0x17aeca09
je 0x4242a4
cmp ecx, 0x1dcc1548
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0x88454af4
mov edi, 0x7ff3d3d8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x7ff3d3d8
sete al
cmove ecx, ebx
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, edi
xor dl, al
mov edx, dword [ebp + 0x20]
cmovne ecx, ebx
mov dword [esi + 0x64], edx
jmp 0x4227a0
cmp ecx, 0xd8071bdc
jg 0x423b46
cmp ecx, 0xd4da6570
je 0x4242b2
cmp ecx, 0xd760a61d
jne 0x4227a0
cmp byte [esi + 0x3e], 0
mov ecx, 0x5e605255
mov eax, 0x39aa1bf1
cmovne ecx, eax
jmp 0x4227a0
cmp ecx, 0x6e828b4c
jg 0x423b71
cmp ecx, 0x67c0c921
je 0x4242c5
cmp ecx, 0x6bdba2cf
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0xfd997b
mov edi, 0x84196aaf
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x84196aaf
jmp 0x422782
cmp ecx, 0x92fc9eea
jg 0x423b96
cmp ecx, 0x908fbb95
je 0x424307
cmp ecx, 0x90b18b9a
jne 0x4227a0
mov ecx, 0xb292dd11
jmp 0x4227a0
cmp ecx, 0xea214e1
jg 0x423bc7
cmp ecx, 0xb7fc5fa
je 0x4244a7
cmp ecx, 0xe3bdec0
jne 0x4227a0
mov eax, dword [esi + 0x7c]
mov ecx, 0xdd7a5b06
mov dword [esi + 0x24], eax
jmp 0x4227a0
cmp ecx, 0xc4b14a06
jg 0x423c2f
cmp ecx, 0xc2b0bc74
je 0x4244c4
cmp ecx, 0xc3bd8deb
jne 0x4227a0
mov ecx, 0xc4b14a07
jmp 0x4227a0
cmp ecx, 0x540f162f
jg 0x423c9c
cmp ecx, 0x50d85f25
je 0x424694
cmp ecx, 0x51ea024f
jne 0x4227a0
mov ecx, 0x6e828b4d
jmp 0x4227a0
cmp ecx, 0xa9152fec
jg 0x423cbe
cmp ecx, 0xa7417601
je 0x4246a5
cmp ecx, 0xa8d8d39f
jne 0x4227a0
mov ecx, dword [ebp + 0x18]
lea edi, [esi + 0x110]
push edi
call fcn.0041a460
push edi
call fcn.00425200
add esp, 4
mov edi, dword [0x4ebf98]
mov edx, dword [0x4ebf94]
mov dword [esi + 0x1c], eax
mov eax, 0x761b9bce
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xea214e2
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
mov edx, dword [esi + 0x1c]
cmovge ecx, ebx
mov dword [esi + 0x70], edx
jmp 0x4227a0
cmp ecx, 0x2ae99f7e
jg 0x423cfd
cmp ecx, 0x275151c3
je 0x4246af
cmp ecx, 0x2a13cb78
jne 0x4227a0
mov eax, dword [0x4ec3e8]
mov ecx, dword [0x4ec3e4]
mov edi, 0xe7c10b76
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
setne al
sete byte [esi + 4]
cmp ecx, 0xa
setge cl
setl byte [esi + 0xc]
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x159d370d
or cl, dl
mov ecx, 0xb074a89c
mov edx, 0x159d370d
cmovne eax, ecx
mov ecx, 0x61f337b1
cmovne edx, ecx
mov ecx, 0xf1721b5a
cmovne edi, ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x30], edi
mov edi, 0x1f1a8b14
jmp 0x423400
mov edi, 0x61f337b1
nop word [eax + eax]
mov ebx, edi
cmp edi, 0x1f1a8b13
jg 0x423440
cmp ebx, 0x159d370c
jg 0x423470
cmp ebx, 0xe7c10b76
je 0x4234c4
cmp ebx, 0xf1721b5a
jne 0x4234fc
mov edi, 0x21a30dcc
jmp 0x423400
cmp ebx, 0x61f337b0
jg 0x4234a0
cmp ebx, 0x1f1a8b14
je 0x4234ce
mov edi, ebx
cmp ebx, 0x21a30dcc
jne 0x423400
mov ecx, dword [esi + 0x10]
mov edi, 0x6a5c085e
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x118], xmm0
jmp 0x423400
cmp ebx, 0x159d370d
je 0x4233f2
mov edi, ebx
cmp ebx, 0x1e977fa5
jne 0x423400
mov ecx, dword [esi + 0x54]
mov edi, dword [esi + 0x30]
mov dword [esi + 0x10], ecx
jmp 0x423400
mov edi, eax
cmp ebx, 0x61f337b1
je 0x423400
mov edi, ebx
cmp ebx, 0x6a5c085e
jne 0x423400
mov edi, dword [esi + 0x1c]
jmp 0x423400
mov edi, 0x1e977fa5
jmp 0x423400
movzx ecx, byte [esi + 4]
mov bh, byte [esi + 0xc]
mov edi, 0xe7c10b76
mov edx, 0x1e977fa5
mov bl, cl
xor bl, bh
test bh, bh
cmovne edi, edx
test cl, cl
mov ecx, 0xe7c10b76
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x423400
mov edi, ebx
cmp ebx, 0xb074a89c
jne 0x423400
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
cmp eax, 1
mov eax, 0x9a2a8872
sbb ecx, 0
mov ecx, 0x6f31d4ff
cmovl ecx, eax
jmp 0x4227a0
cmp ecx, 0xef7ada75
jg 0x423d61
cmp ecx, 0xedaadc52
je 0x4246b9
cmp ecx, 0xedb8eb63
jne 0x4227a0
mov eax, dword [esi + 0x24]
mov ecx, 0x9cc8a96f
movsx eax, byte [eax]
sub dword [esi + 0x18], eax
movzx eax, byte [esi + 0x37]
mov byte [esi + 0x42], al
jmp 0x4227a0
cmp ecx, 0x7e2c5ce5
je 0x424702
cmp ecx, 0x7e4915dd
jne 0x4227a0
mov eax, dword [esi + 0x84]
mov ecx, 0x2499df6a
add eax, 2
mov dword [esi + 0x6c], eax
jmp 0x4227a0
cmp ecx, 0x8970ee50
je 0x424715
cmp ecx, 0x8a824ebc
jne 0x4227a0
test byte [esi + 0x4c], 1
mov ecx, 0xd0753949
mov eax, 0xedb8eb63
cmovne ecx, eax
jmp 0x4227a0
cmp ecx, 0xfd997b
je 0x42471f
cmp ecx, 0x13216e5
jne 0x4227a0
movzx eax, byte [esi + 0x23]
mov ecx, dword [ebp + 0x18]
mov dword [esi + 8], eax
call fcn.0040fbe0
mov edi, dword [0x4ebf98]
mov edx, dword [0x4ebf94]
not eax
lea ecx, [edi + 1]
imul ecx, edi
mov edi, 0x24798cd3
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x940a81a0
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
or eax, 0xfffff1ff
cmp eax, 0xfffff7ff
sete byte [esi + 0x3a]
jmp 0x4227a0
cmp ecx, 0xb997f8eb
je 0x42476b
cmp ecx, 0xbcf627af
jne 0x4227a0
mov ecx, 0xaeae0abb
jmp 0x4227a0
cmp ecx, 0x3f775f58
je 0x424775
cmp ecx, 0x481409d0
jne 0x4227a0
lea ecx, [esi + 0x138]
push 0
call fcn.00425c80
lea edi, [ebp + 0x10]
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0xd8], xmm0
mov ecx, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0xd8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
lea eax, [esi + 0x118]
mov dword [esp], ecx
mov edx, dword [esi + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
call fcn.00427290
add esp, 0x18
vmovsd xmm0, qword [esi + 0x118]
mov ecx, 0x8970ee50
vmovsd qword [edi], xmm0
jmp 0x4227a0
cmp ecx, 0x9d4e60ca
je 0x42480f
cmp ecx, 0x9f54e71d
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0xbdcc07d5
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x8b10084e
jmp 0x4242f2
cmp ecx, 0x223cf801
je 0x424831
cmp ecx, 0x227c6eee
jne 0x4227a0
lea ecx, [esi + 0x138]
push 0
call fcn.00425c80
lea edx, [ebp + 0x10]
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0xf8], xmm0
mov ecx, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0xf8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
mov edi, dword [esi + 8]
mov dword [esp + 0x14], edi
call fcn.00427290
add esp, 0x18
mov dword [esi + 0x28], 0
mov ecx, 0xb292dd11
jmp 0x4227a0
cmp ecx, 0xdbd19b3f
je 0x424875
cmp ecx, 0xdd7a5b06
jne 0x4227a0
mov eax, dword [esi + 0x7c]
mov ebx, 0xc525bcc2
mov edi, 0xe3bdec0
mov dword [esi + 0x24], eax
mov eax, dword [0x4ebf98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xe3bdec0
jmp 0x422782
cmp ecx, 0x6f31d4ff
je 0x42488b
cmp ecx, 0x726b18e1
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x275151c3
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xfddee4d5
jmp 0x4242f2
cmp ecx, 0x940a81a0
je 0x4248b1
cmp ecx, 0x94358285
jne 0x4227a0
mov eax, dword [esi + 8]
mov ecx, 0x9d4e60ca
mov dword [esi + 0x8c], eax
jmp 0x4227a0
cmp ecx, 0x11c98372
je 0x4248c7
cmp ecx, 0x11d8a37b
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0xde4f72c8
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x32e26fda
jmp 0x42485f
cmp ecx, 0xc525bcc2
je 0x4248ed
cmp ecx, 0xcfd9b931
jne 0x4227a0
mov eax, dword [esi + 0xb4]
mov ecx, 0xd386354f
movsx eax, byte [eax]
mov dword [esi + 0xb8], eax
jmp 0x4227a0
cmp ecx, 0x5e605255
je 0x4248f7
cmp ecx, 0x61cd9743
jne 0x4227a0
mov ecx, 0xeb892ee0
jmp 0x4227a0
cmp ecx, 0xaafe9fe7
je 0x424931
cmp ecx, 0xab1652c8
jne 0x4227a0
mov ecx, 0x3975dd23
jmp 0x4227a0
cmp ecx, 0x2bdfacc4
je 0x424945
cmp ecx, 0x2d542da8
jne 0x4227a0
mov ecx, 0x92fc9eeb
jmp 0x4227a0
cmp ecx, 0xfac3f416
je 0x42495f
cmp ecx, 0xfb9c612f
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov edi, 0xfbc6414a
mov ebx, 0x8b738a15
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x8b738a15
sete al
cmove ecx, edi
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
mov edx, dword [esi + 0x24]
cmovne ecx, edi
mov dword [esi + 0xac], edx
jmp 0x4227a0
cmp ecx, 0x7cae4a52
je 0x424975
cmp ecx, 0x7d848ea5
jne 0x4227a0
mov ecx, 0x256e39f7
jmp 0x4227a0
cmp ecx, 0x88454af4
je 0x4249d7
cmp ecx, 0x8891e5f6
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x1dcc1548
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x7ff3d3d8
jmp 0x42485f
cmp ecx, 0x1c7dc7
je 0x4249e1
cmp ecx, 0xf300df
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x24798cd3
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x13216e5
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x50]
cmovge ecx, edi
and al, 1
mov byte [esi + 0x23], al
jmp 0x4227a0
cmp ecx, 0xb292dd11
je 0x4249f4
cmp ecx, 0xb2f2d414
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov edi, 0xeb892ee0
mov ebx, 0x61cd9743
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x61cd9743
jmp 0x4246e5
cmp ecx, 0x3975dd23
je 0x424a97
cmp ecx, 0x39aa1bf1
jne 0x4227a0
mov ecx, 0xaaa0d962
jmp 0x4227a0
cmp ecx, 0x9a2a8872
je 0x424abd
cmp ecx, 0x9cc8a96f
jne 0x4227a0
movsx eax, byte [esi + 0x42]
lea ecx, [esi + 0x138]
push eax
push 1
push dword [esi + 0x18]
call fcn.00426910
mov eax, dword [esi + 0x24]
mov ecx, 0xef7ada76
movzx eax, byte [eax + 1]
mov byte [esi + 0x22], al
jmp 0x4227a0
cmp ecx, 0x1fd691d7
je 0x424ace
cmp ecx, 0x200a48ac
jne 0x4227a0
mov eax, dword [ebp + 8]
cmp dword [esi + 0x18], 0
mov ecx, 0x8891e5f6
mov edx, 0xf300df
mov dword [esi + 0x50], 0
mov dword [esi + 0x2c], eax
cmove ecx, edx
jmp 0x4227a0
cmp ecx, 0xd8071bdd
je 0x424ad8
cmp ecx, 0xd9b628ff
jne 0x4227a0
mov eax, dword [ebp + 0x20]
mov ecx, 0x94358285
mov dword [esi + 0x88], eax
jmp 0x4227a0
cmp ecx, 0x6e828b4d
je 0x424af0
cmp ecx, 0x6e88d5aa
jne 0x4227a0
mov eax, dword [esi + 0x6c]
mov ecx, 0x2ae99f7f
jmp 0x4227a0
cmp ecx, 0x92fc9eeb
je 0x424b09
cmp ecx, 0x93a35368
jne 0x4227a0
mov eax, dword [esi + 0xac]
mov ecx, 0x766f7088
movsx eax, byte [eax]
mov dword [esi + 0xb0], eax
jmp 0x4227a0
cmp ecx, 0xea214e2
je 0x424b1c
cmp ecx, 0x10c8a4df
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x4ab99fe1
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x1fd691d7
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [ebp + 0x20]
cmovge ecx, edx
movsx eax, byte [eax]
mov dword [esi + 0x80], eax
jmp 0x4227a0
cmp ecx, 0xc4b14a07
je 0x424b3e
cmp ecx, 0xc4e9071f
jne 0x4227a0
mov ecx, dword [esi + 0x44]
call fcn.00426700
mov edi, dword [0x4ebf98]
mov edx, dword [0x4ebf94]
mov byte [esi + 0x1c], al
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete ah
cmp edx, 0xa
setl bl
xor bl, ah
mov ebx, 0x62af3e1d
mov eax, 0xc3bd8deb
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
movzx edx, byte [esi + 0x1c]
cmovge ecx, ebx
mov byte [esi + 0x3f], dl
jmp 0x4227a0
cmp ecx, 0x540f1630
je 0x424b4f
cmp ecx, 0x5c4de4ca
jne 0x4227a0
mov ecx, 0x50d85f25
jmp 0x4227a0
cmp ecx, 0xa9152fed
je 0x424c41
cmp ecx, 0xaaa0d962
jne 0x4227a0
mov eax, dword [0x4ebf98]
mov edi, 0xc4e9071f
mov ebx, 0x62af3e1d
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x62af3e1d
jmp 0x4246e5
cmp ecx, 0x2ae99f7f
je 0x424c66
cmp ecx, 0x2b3a47eb
jne 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x63dbc8ce
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x7f276fc6
cmovne edi, ebx
test edx, ecx
mov edx, dword [esi + 0x74]
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
cmp byte [edx], 0
setg byte [esi + 0x3e]
jmp 0x4227a0
cmp ecx, 0xef7ada76
je 0x424c97
cmp ecx, 0xf218ee81
jne 0x4227a0
movzx eax, byte [esi + 0x39]
mov ecx, 0x80e04369
mov byte [esi + 0x20], al
jmp 0x4227a0
mov eax, dword [esi + 0x58]
mov ecx, 0xb7fc5fa
mov dword [esi + 0xd4], eax
jmp 0x4227a0
mov ecx, 0xd760a61d
jmp 0x4227a0
lea ecx, [esi + 0x110]
call fcn.0041a650
mov edi, dword [esi + 0x70]
lea ecx, [esi + 0x138]
push 0
mov ebx, dword [esi + 0x18]
push ebx
call fcn.00425bf0
lea ecx, [esi + 0x138]
push 0
call fcn.00425c80
mov edx, dword [ebp + 0x20]
mov dword [esi + 0x48], edi
mov dword [esi + 4], eax
lea ecx, [edx + ebx]
mov dword [esi + 0x110], edx
mov dword [esi + 0xc], ecx
mov ecx, 0xce0cc68
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
nop word cs:[eax + eax]
cmp ecx, 0xba49a2f0
je 0x424cbd
cmp ecx, 0xce0cc68
jne 0x423e00
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi + 0x48]
push dword [esi + 4]
push dword [esi + 0xc]
push dword [esi + 0x110]
call eax
mov ecx, 0xba49a2f0
jmp 0x423e00
mov ecx, 0xfb9c612f
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0xfc4ea87c
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x7d848ea5
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x64]
cmovge ecx, edi
movsx eax, byte [eax]
mov dword [esi + 0x68], eax
jmp 0x4227a0
mov eax, dword [esi + 0x68]
mov ecx, 0xedaadc52
jmp 0x4227a0
lea ecx, [esi + 0x110]
call fcn.0041a650
mov edi, dword [esi + 0x70]
lea ecx, [esi + 0x138]
push 0
mov ebx, dword [esi + 0x18]
push ebx
call fcn.00425bf0
lea ecx, [esi + 0x138]
push 0
call fcn.00425c80
mov edx, dword [ebp + 0x20]
mov dword [esi + 0x48], edi
mov dword [esi + 4], eax
lea ecx, [edx + ebx]
mov dword [esi + 0x110], edx
mov dword [esi + 0xc], ecx
mov ecx, 0xce0cc68
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
nop word cs:[eax + eax]
cmp ecx, 0xba49a2f0
je 0x424d1d
cmp ecx, 0xce0cc68
jne 0x423ef0
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi + 0x48]
push dword [esi + 4]
push dword [esi + 0xc]
push dword [esi + 0x110]
call eax
mov ecx, 0xba49a2f0
jmp 0x423ef0
mov eax, dword [0x4ebf98]
mov edi, 0x2b3a47eb
mov ebx, 0x63dbc8ce
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x63dbc8ce
jmp 0x4246e5
movzx eax, byte [esi + 0x22]
mov ecx, 0xa2451e36
jmp 0x4227a0
mov ecx, 0xb0645727
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0xe3bdec0
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xdd7a5b06
jmp 0x4242f2
cmp byte [esi + 0x22], 0
mov eax, dword [0x4ebf98]
mov edi, 0xdbd19b3f
mov ebx, 0x4976c48f
lea ecx, [eax + 1]
setg byte [esi + 0x43]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x4976c48f
jmp 0x4246e5
movzx eax, byte [esi + 0x23]
mov ecx, dword [ebp + 0x18]
mov dword [esi + 8], eax
call fcn.0040fbe0
mov ecx, 0x13216e5
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x6e88d5aa
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x2ae99f7f
jmp 0x4242f2
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x959e2292
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x32e26fda
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov edx, dword [ebp + 0x18]
mov dword [esi + 0xc8], edx
jmp 0x4227a0
mov ecx, 0x352a632c
jmp 0x4227a0
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x9c]
movzx eax, byte [eax + ecx + 1]
mov ecx, 0xac3648ee
mov byte [esi + 0x21], al
jmp 0x4227a0
mov ecx, 0x908fbb95
jmp 0x4227a0
mov eax, dword [ebp + 0x20]
mov ecx, dword [esi + 8]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x9c], eax
mov ecx, 0x72e70b02
jmp 0x4227a0
mov eax, dword [esi + 0xc0]
mov ecx, 0x9a2a8872
cmp eax, dword [esi + 0xc4]
mov eax, 0x11d8a37b
cmova ecx, eax
jmp 0x4227a0
mov ecx, 0x130f99ce
jmp 0x4227a0
mov ecx, 0xb2f2d414
jmp 0x4227a0
cmp byte [esi + 0x40], 0
mov ecx, 0x8a824ebc
mov eax, 0x36ea77c2
mov dword [esi + 0x4c], 0
cmovne ecx, eax
jmp 0x4227a0
mov ecx, dword [esi + 0x44]
call fcn.00426700
mov ecx, 0xc4e9071f
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x98ea7402
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x17aeca09
jmp 0x42485f
mov ecx, 0x5e605255
jmp 0x4227a0
mov eax, dword [esi + 0xd0]
mov ecx, 0x756149fe
cmp eax, 0x100
mov eax, 0x7ee65103
cmove ecx, eax
jmp 0x4227a0
mov ecx, 0x61f83c42
jmp 0x4227a0
mov ecx, 0x93a35368
jmp 0x4227a0
cmp byte [esi + 0x3c], 0
mov ecx, 0x67c0c921
mov eax, 0x726b18e1
cmovne ecx, eax
jmp 0x4227a0
cmp dword [esi + 0xb0], 0
mov ecx, 0x8a824ebc
mov eax, 0x1c7dc7
mov dword [esi + 0x4c], 0
cmovg ecx, eax
jmp 0x4227a0
movzx eax, byte [esi + 0x20]
mov ecx, 0xf300df
mov dword [esi + 0x50], eax
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x275151c3
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x51ea024f
cmovne edi, ebx
test edx, ecx
mov edx, dword [esi + 8]
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov dword [esi + 0xa4], edx
jmp 0x4227a0
mov eax, dword [esi + 0x80]
mov ecx, 0xf218ee81
cmp eax, 0x2d
sete byte [esi + 0x39]
jmp 0x4227a0
mov eax, dword [esi + 8]
mov ebx, 0xbcf627af
mov edi, 0xe4cef111
inc eax
mov dword [esi + 0x94], eax
mov eax, dword [0x4ebf98]
lea ecx, [eax - 1]
imul eax, ecx
mov ecx, 0xe4cef111
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
cmove ecx, ebx
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, edi
xor dl, al
mov edx, dword [ebp + 0x20]
cmovne ecx, ebx
mov dword [esi + 0x90], edx
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x540f1630
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x8fe5bfb2
jmp 0x42485f
movzx eax, byte [esi + 0x21]
mov ecx, 0x98ea7402
jmp 0x4227a0
mov eax, dword [esi + 8]
mov ecx, 0x7e4915dd
mov dword [esi + 0x84], eax
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0xea214e2
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xa8d8d39f
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x4227a0
mov edi, dword [esi + 0xc8]
mov eax, dword [0x4ec3e8]
mov ecx, dword [0x4ec3e4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov edx, 0x159d370d
sete al
sete byte [esi + 4]
cmp ecx, 0xa
setl cl
setl byte [esi + 0xc]
add edi, 0x20
or cl, al
mov eax, 0x159d370d
mov dword [esi + 0x1c], edi
mov edi, 0xe7c10b76
test cl, cl
mov ecx, 0xb074a89c
cmovne eax, ecx
mov ecx, 0x61f337b1
cmovne edx, ecx
mov ecx, 0xf1721b5a
cmovne edi, ecx
mov ecx, 0x1f1a8b14
mov dword [esi + 0x30], edx
mov dword [esi + 0x28], edi
jmp 0x424380
mov ecx, 0x61f337b1
nop dword [eax]
mov edi, ecx
cmp ecx, 0x1f1a8b13
jg 0x4243c0
cmp edi, 0x159d370c
jg 0x4243f0
cmp edi, 0xe7c10b76
je 0x424444
cmp edi, 0xf1721b5a
jne 0x42447d
mov ecx, 0x21a30dcc
jmp 0x424380
cmp edi, 0x61f337b0
jg 0x424420
cmp edi, 0x1f1a8b14
je 0x42444e
mov ecx, edi
cmp edi, 0x21a30dcc
jne 0x424380
mov ecx, dword [esi + 0x10]
vmovsd xmm0, qword [ecx]
mov ecx, 0x6a5c085e
vmovsd qword [esi + 0x118], xmm0
jmp 0x424380
cmp edi, 0x159d370d
je 0x424374
mov ecx, edi
cmp edi, 0x1e977fa5
jne 0x424380
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x28]
jmp 0x424380
mov ecx, eax
cmp edi, 0x61f337b1
je 0x424380
mov ecx, edi
cmp edi, 0x6a5c085e
jne 0x424380
mov ecx, dword [esi + 0x30]
jmp 0x424380
mov ecx, 0x1e977fa5
jmp 0x424380
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 0xc]
mov ebx, 0x1e977fa5
mov edi, 0xe7c10b76
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xe7c10b76
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x424380
mov ecx, edi
cmp edi, 0xb074a89c
jne 0x424380
mov ecx, dword [esi + 0x118]
mov eax, dword [esi + 0x11c]
sub ecx, dword [esi + 0x18]
mov dword [esi + 0x28], ecx
mov ecx, 0xa9152fed
jmp 0x4227a0
mov eax, dword [esi + 0xd4]
mov ecx, 0x481409d0
mov edx, 0x994f36dd
cmp eax, 0x100
cmove ecx, edx
jmp 0x4227a0
mov ecx, dword [0x4ec3e8]
mov edx, dword [0x4ec3e4]
mov edi, 0xe7c10b76
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete byte [esi + 4]
sete cl
cmp edx, 0xa
setge dl
setl ch
setl byte [esi + 0xc]
or dl, al
xor ch, cl
mov eax, 0x159d370d
not dl
or dl, ch
mov ecx, 0xb074a89c
test dl, 1
mov edx, 0x159d370d
cmovne eax, ecx
mov ecx, 0x61f337b1
cmovne edx, ecx
mov ecx, 0xf1721b5a
cmovne edi, ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x30], edi
mov edi, 0x1f1a8b14
jmp 0x424530
mov edi, 0x61f337b1
mov ebx, edi
cmp edi, 0x1f1a8b13
jg 0x424570
cmp ebx, 0x159d370c
jg 0x4245a0
cmp ebx, 0xe7c10b76
je 0x4245f4
cmp ebx, 0xf1721b5a
jne 0x42462c
mov edi, 0x21a30dcc
jmp 0x424530
cmp ebx, 0x61f337b0
jg 0x4245d0
cmp ebx, 0x1f1a8b14
je 0x4245fe
mov edi, ebx
cmp ebx, 0x21a30dcc
jne 0x424530
mov ecx, dword [esi + 0x10]
mov edi, 0x6a5c085e
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x118], xmm0
jmp 0x424530
cmp ebx, 0x159d370d
je 0x42452b
mov edi, ebx
cmp ebx, 0x1e977fa5
jne 0x424530
mov ecx, dword [esi + 0x54]
mov edi, dword [esi + 0x30]
mov dword [esi + 0x10], ecx
jmp 0x424530
mov edi, eax
cmp ebx, 0x61f337b1
je 0x424530
mov edi, ebx
cmp ebx, 0x6a5c085e
jne 0x424530
mov edi, dword [esi + 0x1c]
jmp 0x424530
mov edi, 0x1e977fa5
jmp 0x424530
movzx ecx, byte [esi + 4]
mov bh, byte [esi + 0xc]
mov edx, 0xe7c10b76
mov edi, 0x1e977fa5
mov bl, cl
xor bl, bh
cmovne edx, edi
test bh, bh
mov ebx, 0x1e977fa5
mov edi, edx
cmovne edi, ebx
test cl, cl
cmove edi, edx
jmp 0x424530
mov edi, ebx
cmp ebx, 0xb074a89c
jne 0x424530
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov edi, 0x14deb9f8
mov ebx, 0xa60ee15e
mov dword [esi + 0xc0], eax
mov eax, dword [0x4ebf98]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xa60ee15e
sete al
cmove ecx, edi
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
mov edx, dword [esi + 0x18]
cmovne ecx, edi
mov dword [esi + 0xc4], edx
jmp 0x4227a0
mov dword [esi + 0x28], 0
mov ecx, 0x90b18b9a
jmp 0x4227a0
mov ecx, 0xa9152fed
jmp 0x4227a0
mov ecx, 0xfddee4d5
jmp 0x4227a0
mov eax, dword [esi + 0x68]
mov edi, 0x2bdfacc4
mov ebx, 0x79d398b
cmp eax, 0x2b
mov eax, dword [0x4ebf98]
sete byte [esi + 0x38]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x79d398b
sete al
cmove ecx, edi
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
jmp 0x4227a0
mov eax, dword [esi + 0x24]
mov ecx, 0xaafe9fe7
mov dword [esi + 0xbc], eax
jmp 0x4227a0
mov ecx, 0x90b18b9a
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x84196aaf
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x31fa100c
cmovne edi, ebx
test edx, ecx
mov edx, dword [esi + 0x78]
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
cmp edx, 0x7f
setne byte [esi + 0x40]
jmp 0x4227a0
mov ecx, 0xd8071bdd
jmp 0x4227a0
lea edi, [ebp + 0x10]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + 0x104], ecx
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x100]
movsx ecx, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x108]
mov eax, dword [esi + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
call fcn.00426fe0
add esp, 0x18
mov eax, dword [0x4ebf98]
mov ebx, 0x9a294c63
vmovsd xmm0, qword [esi + 0x108]
mov edi, 0x7cae4a52
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x7cae4a52
sete al
cmove ecx, ebx
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, edi
xor dl, al
lea edx, [ebp + 0x10]
vmovsd qword [edx], xmm0
cmovne ecx, ebx
jmp 0x4227a0
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
cmp byte [eax + ecx], 0x30
mov ecx, 0x67c0c921
mov eax, 0x223cf801
cmove ecx, eax
jmp 0x4227a0
mov edx, dword [0x4ebf98]
mov eax, dword [0x4ebf94]
mov edi, 0x352a632c
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xe4cef111
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x4227a0
cmp byte [esi + 0x43], 0
mov ecx, 0x2d542da8
mov eax, 0x7e2c5ce5
cmovne ecx, eax
jmp 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0xc2b0bc74
mov edi, 0xa60ee15e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xa60ee15e
jmp 0x422782
cmp byte [esi + 0x3a], 0
mov ecx, 0x67c0c921
mov eax, 0xd4da6570
cmovne ecx, eax
jmp 0x4227a0
mov eax, dword [0x4ebf98]
mov ebx, 0x5558022
mov edi, 0xfc4ea87c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xfc4ea87c
jmp 0x422782
mov ecx, 0x2d542da8
jmp 0x4227a0
lea eax, [esi + 0x138]
mov ecx, 0x1fcb8653
mov dword [esi + 0x10], eax
nop word cs:[eax + eax]
cmp ecx, 0x72ba7a5e
je 0x424d7d
cmp ecx, 0x1fcb8653
jne 0x424910
mov eax, dword [esi + 0x10]
mov ecx, 0x72ba7a5e
add eax, 0x10
jmp 0x424910
mov eax, dword [esi + 0xbc]
mov ecx, 0x9fbf12e9
inc eax
mov dword [esi + 0x7c], eax
jmp 0x4227a0
cmp byte [esi + 0x38], 0
mov ecx, 0xc1e2c42a
mov eax, 0x80e04369
mov byte [esi + 0x20], 1
cmovne ecx, eax
jmp 0x4227a0
cmp byte [esi + 0x3b], 0
mov ecx, 0x67c0c921
mov eax, 0xd9b628ff
cmovne ecx, eax
jmp 0x4227a0
lea edi, [ebp + 0x10]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + 0x104], ecx
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x100]
movsx ecx, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x108]
mov eax, dword [esi + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
call fcn.00426fe0
add esp, 0x18
vmovsd xmm0, qword [esi + 0x108]
mov ecx, 0x3f775f58
vmovsd qword [edi], xmm0
jmp 0x4227a0
mov ecx, 0x11c98372
jmp 0x4227a0
mov eax, dword [esi + 0x24]
mov ecx, 0xcfd9b931
mov dword [esi + 0xb4], eax
jmp 0x4227a0
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 8]
lea ecx, [esi + 0x138]
sub edi, eax
push eax
call fcn.00425c80
lea ebx, [ebp + 0x10]
mov ecx, dword [esi + 0x5c]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
lea ecx, [esi + 0x118]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00427290
add esp, 0x18
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
mov edx, dword [ebp + 0x18]
mov edi, 0x64846ef2
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
vmovsd xmm0, qword [edx + 0x20]
vmovsd qword [esi + 0x10], xmm0
nop
cmp edi, 0xe4110393
je 0x424d98
cmp edi, 0x64846ef2
jne 0x424a70
mov edx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov edx, dword [esi + 4]
mov edi, 0xe4110393
add edx, 0x20
jmp 0x424a70
mov eax, dword [0x4ebf98]
mov ebx, 0xa7417601
mov edi, 0xab1652c8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xab1652c8
jmp 0x422782
mov ecx, 0xb2142ca5
mov dword [esi + 0x28], 0
jmp 0x4227a0
mov ecx, 0x10c8a4df
jmp 0x4227a0
movzx eax, byte [esi + 0x3d]
mov ecx, 0x4daf7b7f
mov edx, 0x5e605255
cmp al, 0x7f
cmove ecx, edx
jmp 0x4227a0
mov eax, dword [esi + 0xa4]
mov ecx, 0xfe4df436
add eax, 2
mov dword [esi + 0xa8], eax
jmp 0x4227a0
mov eax, dword [esi + 0x24]
mov ecx, 0x6bdba2cf
movsx eax, byte [eax]
mov dword [esi + 0x78], eax
jmp 0x4227a0
mov ecx, dword [ebp + 0x18]
lea edi, [esi + 0x110]
push edi
call fcn.0041a460
push edi
call fcn.00425200
add esp, 4
mov ecx, 0xa8d8d39f
jmp 0x4227a0
movzx eax, byte [esi + 0x3f]
mov ecx, 0x92fc9eeb
mov byte [esi + 0x37], al
jmp 0x4227a0
lea ecx, [esi + 0x138]
push 0
call fcn.00425c80
lea edi, [ebp + 0x10]
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0xe8], xmm0
mov ecx, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0xe8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
lea eax, [esi + 0xf0]
mov dword [esp], ecx
mov edx, dword [esi + 8]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
call fcn.00427290
add esp, 0x18
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0xe0]
movsx ecx, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x118]
mov eax, dword [esi + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
call fcn.00426fe0
add esp, 0x18
mov eax, dword [0x4ebf98]
mov edi, 0x5c4de4ca
vmovsd xmm0, qword [esi + 0x118]
mov ebx, 0x8fe5bfb2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x8fe5bfb2
sete al
cmove ecx, edi
cmp dword [0x4ebf94], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
lea edx, [ebp + 0x10]
vmovsd qword [edx], xmm0
cmovne ecx, edi
jmp 0x4227a0
mov ecx, dword [ebp + 0x18]
call fcn.0040fbe0
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov dword [esi + 0x58], ecx
mov dword [esi + 0xcc], ecx
mov ecx, 0x7bbf087d
jmp 0x4227a0
mov eax, dword [esi + 0x6c]
mov ebx, 0xfac3f416
mov edi, 0x6e88d5aa
cmp eax, dword [esi + 0x18]
mov eax, dword [0x4ebf98]
lea ecx, [eax + 1]
setbe byte [esi + 0x3b]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x6e88d5aa
jmp 0x422782
mov eax, dword [0x4ebf98]
mov ebx, 0xa2451e36
mov edi, 0x4976c48f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x4976c48f
jmp 0x422782
mov dword [esi + 0x118], eax
mov ecx, dword [ebp + 0x18]
lea edi, [esi + 0x118]
mov eax, dword [esi + 0x118]
push edi
call fcn.0041a460
push edi
call fcn.00425e90
add esp, 4
mov ecx, edi
mov dword [esi + 0x44], eax
call fcn.0041a650
mov eax, 0xcc8b857
cmp eax, 0xa90844ca
je 0x424e3c
cmp eax, 0xcc8b857
jne 0x424cf0
mov eax, dword [esi + 0x44]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x118], eax
mov eax, 0xa90844ca
jmp 0x424cf0
mov dword [esi + 0x118], eax
mov ecx, dword [ebp + 0x18]
lea edi, [esi + 0x118]
mov eax, dword [esi + 0x118]
push edi
call fcn.0041a460
push edi
call fcn.00425e90
add esp, 4
mov ecx, edi
mov dword [esi + 0x44], eax
call fcn.0041a650
mov eax, 0xcc8b857
cmp eax, 0xa90844ca
je 0x424ea5
cmp eax, 0xcc8b857
jne 0x424d50
mov eax, dword [esi + 0x44]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x118], eax
mov eax, 0xa90844ca
jmp 0x424d50
mov dword [esi + 0x118], eax
mov ecx, 0x2a13cb78
mov eax, dword [esi + 0x118]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
jmp 0x4227a0
mov dword [esi + 0x118], 0
mov dword [esi + 0x11c], 0
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x118]
mov edi, dword [esi + 0x11c]
mov ebx, dword [esi + 0xc]
mov dword [ebx + 4], edi
mov dword [ebx], edx
mov edx, dword [esi + 0x60]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x2c]
sub esp, 0x18
vmovsd xmm0, qword [eax]
movsx eax, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
call fcn.00426fe0
add esp, 0x18
lea eax, [esi + 0x120]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
call fcn.004098c0
mov eax, 0xbe18a25a
nop word cs:[eax + eax]
cmp eax, 0xdb0adbca
je 0x424ecd
cmp eax, 0xbe18a25a
jne 0x424e20
mov ecx, dword [esi + 0x10]
mov eax, 0xdb0adbca
jmp 0x424e20
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x118]
lea edi, [esi + 0x120]
push edi
call eax
mov ecx, edi
push 0
call fcn.004265b0
mov edi, eax
mov eax, dword [0x4ebf98]
mov edx, 0xb997f8eb
mov ebx, 0xbdcc07d5
mov dword [esi + 0x24], edi
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xbdcc07d5
sete al
cmove ecx, edx
cmp dword [0x4ebf94], 0xa
cmovge ecx, ebx
movzx ebx, byte [edi]
setl dl
xor dl, al
mov edx, 0xb997f8eb
cmovne ecx, edx
mov byte [esi + 0x3d], bl
jmp 0x4227a0
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x118]
lea edi, [esi + 0x120]
push edi
call eax
mov ecx, edi
push 0
call fcn.004265b0
mov dword [esi + 0x24], eax
mov ecx, 0x8b10084e
jmp 0x4227a0
mov dword [esi + 0x118], ecx
mov ecx, dword [esi + 0x118]
call fcn.00409ae0
lea eax, [esi + 0x138]
mov dword [esi + 0x118], eax
mov ecx, dword [esi + 0x118]
call fcn.004098c0
mov eax, 0xbe18a25a
nop word [eax + eax]
cmp eax, 0xdb0adbca
je 0x424f1b
cmp eax, 0xbe18a25a
jne 0x424f00
mov ecx, dword [esi + 0x118]
mov eax, 0xdb0adbca
jmp 0x424f00
mov dword [esi + 0x120], ecx
mov ecx, dword [esi + 0x120]
call fcn.00409ae0
mov ecx, 0x7a2cd9c8
jmp 0x4227a0
cmp ecx, 0x7a2cd9c8
jne 0x4227a0
mov ecx, dword [esi + 0x150]
xor ecx, ebp
call fcn.004392e0
mov eax, dword [ebp + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret