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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov eax, dword [0x4aa2c0]
mov esi, esp
mov ecx, 0x72faa938
xor eax, ebp
cmp dword [ebp + 0x24], 0
mov dword [esi + 0x110], eax
mov eax, 0xce637e25
cmove ecx, eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0xe0], ecx
mov ecx, 0x89724d6d
add eax, 0x14
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], eax
jmp 0x4239e9
movzx eax, byte [esi + 0x61]
mov ecx, 0x1d678e57
mov dword [esi + 0x6c], eax
jmp 0x423a30
mov eax, dword [0x4abf60]
mov edi, 0x33d85664
mov ebx, 0xc149f005
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc149f005
sete al
cmove ecx, edi
cmp dword [0x4abf5c], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
nop dword [eax + eax]
cmp ecx, 0xe7b03c45
jle 0x423ab0
cmp ecx, 0x31a079b6
jg 0x423b20
cmp ecx, 0xf24cd4d
jle 0x423c19
cmp ecx, 0x202d3c43
jle 0x423d9a
cmp ecx, 0x290ba811
jg 0x4240f0
cmp ecx, 0x23769b8a
jle 0x42464b
cmp ecx, 0x23769b8b
je 0x424f8c
cmp ecx, 0x23a706a5
je 0x424f96
cmp ecx, 0x2715de15
jne 0x423a30
mov eax, dword [esi + 0x108]
mov ecx, 0x74b6b470
inc eax
mov dword [esi + 0xc8], eax
jmp 0x423a30
cmp ecx, 0xb7c96413
jle 0x423bb0
cmp ecx, 0xd04a115f
jle 0x423c6b
cmp ecx, 0xd9cd7a2b
jle 0x423dfa
cmp ecx, 0xdd9ac682
jg 0x424132
cmp ecx, 0xdc5a8d0b
jle 0x42467a
cmp ecx, 0xdc5a8d0c
je 0x42504c
cmp ecx, 0xdc6e74ce
je 0x4250d9
cmp ecx, 0xdd674793
jne 0x423a30
cmp byte [esi + 0x58], 0
mov ecx, 0x8cdb45fb
jmp 0x425b60
cmp ecx, 0x5575932e
jle 0x423cc6
cmp ecx, 0x69625ac5
jle 0x423e40
cmp ecx, 0x74b6b46f
jg 0x42416c
cmp ecx, 0x6eb51993
jle 0x424754
cmp ecx, 0x6eb51994
je 0x4250ee
cmp ecx, 0x6f36d30a
je 0x425104
cmp ecx, 0x72faa938
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xcafb0128
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, 0xfdbfd87d
jmp 0x425d81
cmp ecx, 0x96c81381
jle 0x423d29
cmp ecx, 0xab1ae5ac
jg 0x423e8a
cmp ecx, 0xa06fa646
jle 0x4241bc
cmp ecx, 0xa47a6aeb
jle 0x424784
cmp ecx, 0xa47a6aec
je 0x42512a
cmp ecx, 0xa78e53f9
je 0x4251dc
cmp ecx, 0xa8e574be
jne 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0x7f3593fe
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x60], al
jmp 0x423a30
cmp ecx, 0xfe0c0386
jg 0x423ef9
cmp ecx, 0xfa07de9e
jle 0x42423c
cmp ecx, 0xfbe72e35
jle 0x4247b0
cmp ecx, 0xfbe72e36
je 0x425223
cmp ecx, 0xfd8b0d39
je 0x425239
cmp ecx, 0xfdbfd87d
jne 0x423a30
mov ecx, 0xcafb0128
jmp 0x423a30
cmp ecx, 0xc3607d9a
jg 0x423f8c
cmp ecx, 0xc021a6bf
jle 0x42426a
cmp ecx, 0xc22f68a5
jle 0x4247ee
cmp ecx, 0xc22f68a6
je 0x4252a2
cmp ecx, 0xc2542117
je 0x4252ac
cmp ecx, 0xc29ebe37
jne 0x423a30
mov eax, dword [esi + 0x10]
mov ecx, 0x899660ce
mov dword [eax], 0
jmp 0x423a30
cmp ecx, 0x4501ed8d
jg 0x424017
cmp ecx, 0x38ad60c7
jle 0x4242b5
cmp ecx, 0x3ad6e3cd
jle 0x424810
cmp ecx, 0x3ad6e3ce
je 0x4252c5
cmp ecx, 0x4028e5d3
je 0x42530e
cmp ecx, 0x447d1e38
jne 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0x23769b8b
mov eax, dword [eax]
cmp byte [eax + 1], 0
mov eax, 0xf06583de
cmovg ecx, eax
jmp 0x423a30
cmp ecx, 0x8cdb45fa
jg 0x42408d
cmp ecx, 0x86e0836d
jle 0x4242e3
cmp ecx, 0x899660cd
jle 0x424890
cmp ecx, 0x899660ce
je 0x425324
cmp ecx, 0x89f81f96
je 0x42532e
cmp ecx, 0x8c00c338
jne 0x423a30
mov eax, 0x2243905d
nop word cs:[eax + eax]
cmp eax, 0x2243905d
je 0x423d93
cmp eax, 0xa7ad0f34
jne 0x423d80
jmp 0x425355
mov eax, 0xa7ad0f34
jmp 0x423d80
cmp ecx, 0x185256a7
jle 0x42432e
cmp ecx, 0x1afbe6b6
jle 0x4248db
cmp ecx, 0x1afbe6b7
je 0x425366
cmp ecx, 0x1d678e57
je 0x425370
cmp ecx, 0x1f376bc5
jne 0x423a30
mov eax, 0x2243905d
nop dword [eax + eax]
cmp eax, 0x2243905d
je 0x423df3
cmp eax, 0xa7ad0f34
jne 0x423de0
jmp 0x425386
mov eax, 0xa7ad0f34
jmp 0x423de0
cmp ecx, 0xd352da82
jle 0x424385
cmp ecx, 0xd692703a
jle 0x424908
cmp ecx, 0xd692703b
je 0x4253c6
cmp ecx, 0xd7e81261
je 0x4253d0
cmp ecx, 0xd8e474f1
jne 0x423a30
mov ecx, 0xf24cd4e
jmp 0x423a30
cmp ecx, 0x5e7b7bef
jle 0x4243dc
cmp ecx, 0x62828812
jle 0x424930
cmp ecx, 0x62828813
je 0x42543f
cmp ecx, 0x637859e7
je 0x425449
cmp ecx, 0x68567825
jne 0x423a30
cmp byte [esi + 0x63], 0
mov ecx, 0x89f81f96
jmp 0x425e35
cmp ecx, 0xafb0a303
jle 0x424461
cmp ecx, 0xb460d9fe
jle 0x424952
cmp ecx, 0xb460d9ff
je 0x42545c
cmp ecx, 0xb56d4a3e
je 0x425479
cmp ecx, 0xb6f9008e
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x290ba812
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, 0x97b38b20
jmp 0x425d81
cmp ecx, 0x8ed2da6
jle 0x424542
cmp ecx, 0xc9cf035
jle 0x42499e
cmp ecx, 0xc9cf036
je 0x42548c
cmp ecx, 0xe8a7229
je 0x4254f1
cmp ecx, 0xe9d8d0f
jne 0x423a30
mov ecx, dword [ebp + 0x18]
push dword [esi + 0x2c]
call fcn.0041b4d0
push dword [esi + 0x2c]
call fcn.00426760
add esp, 4
mov ecx, dword [esi + 0x2c]
mov edi, eax
call fcn.0041b750
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x68]
mov ecx, 0xd3a23f58
mov dword [eax], edi
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
nop dword [eax + eax]
cmp ecx, 0xd3a23f58
je 0x423f85
cmp ecx, 0xa8a79a4
jne 0x423f70
jmp 0x425506
mov ecx, 0xa8a79a4
jmp 0x423f70
cmp ecx, 0xc7109623
jle 0x42458c
cmp ecx, 0xcb3f4463
jle 0x4249dc
cmp ecx, 0xcb3f4464
je 0x4255af
cmp ecx, 0xce17b06c
je 0x4255e3
cmp ecx, 0xce637e25
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x23a706a5
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, 0x69625ac6
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0x90]
cmovge ecx, edx
and al, 1
mov byte [esi + 0x27], al
jmp 0x423a30
cmp ecx, 0x46fd586e
jle 0x4245ba
cmp ecx, 0x4cd43b1e
jle 0x424a42
cmp ecx, 0x4cd43b1f
je 0x4255f0
cmp ecx, 0x4efaf7fc
je 0x4256b2
cmp ecx, 0x51e1c7d0
jne 0x423a30
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0x14]
mov edi, 0xc3607d9b
mov ebx, 0xd5c1129d
movsx eax, byte [ecx + eax + 1]
mov dword [esi + 0xac], eax
mov eax, dword [0x4abf60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xd5c1129d
jmp 0x423a10
cmp ecx, 0x933bda5c
jle 0x424611
cmp ecx, 0x93fab9f4
jle 0x424aab
cmp ecx, 0x93fab9f5
je 0x4256fa
cmp ecx, 0x948d85fc
je 0x425704
cmp ecx, 0x96b2abf6
jne 0x423a30
mov eax, dword [0x4abf60]
mov edi, 0xe26f6dd4
mov ebx, 0x39fc8ea1
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x39fc8ea1
jmp 0x423a10
cmp ecx, 0x2e9a9bc0
jle 0x424b14
cmp ecx, 0x2e9a9bc1
je 0x425717
cmp ecx, 0x2f29ba46
je 0x42574a
cmp ecx, 0x301856cc
jne 0x423a30
cmp byte [esi + 0x5a], 0
mov ecx, 0x4028e5d3
setg byte [esi + 0x5b]
jmp 0x423a30
cmp ecx, 0xe07f2282
jle 0x424b6e
cmp ecx, 0xe07f2283
je 0x42575d
cmp ecx, 0xe26f6dd4
je 0x425767
cmp ecx, 0xe4057e19
jne 0x423a30
mov ecx, 0xd8e474f1
jmp 0x423a30
cmp ecx, 0x7d85da85
jle 0x424bda
cmp ecx, 0x7d85da86
je 0x4257ec
cmp ecx, 0x7dc2a56b
je 0x42580a
cmp ecx, 0x7f3593fe
jne 0x423a30
movsx eax, byte [esi + 0x60]
mov ecx, dword [esi + 0x1c]
sub ecx, dword [esi + 0x14]
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], ecx
mov ecx, 0xd0c6d94a
jmp 0x423a30
cmp ecx, 0x9c3f91fb
jg 0x424c0c
cmp ecx, 0x97b38b20
je 0x42581a
cmp ecx, 0x9869b710
jne 0x426693
mov ecx, dword [ebp + 0x18]
push dword [esi + 0x2c]
call fcn.0041b4d0
push dword [esi + 0x2c]
call fcn.00426760
add esp, 4
mov ecx, dword [esi + 0x2c]
mov edi, eax
call fcn.0041b750
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x68]
mov ecx, 0xd3a23f58
mov dword [eax], edi
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
nop word cs:[eax + eax]
cmp ecx, 0xd3a23f58
je 0x424235
cmp ecx, 0xa8a79a4
jne 0x424220
jmp 0x425830
mov ecx, 0xa8a79a4
jmp 0x424220
cmp ecx, 0xf06583dd
jg 0x424c5e
cmp ecx, 0xe7b03c46
je 0x4258b4
cmp ecx, 0xee61d25c
jne 0x423a30
mov ecx, 0x872ee56
jmp 0x423a30
cmp ecx, 0xbd0bb2bb
jg 0x424ca0
cmp ecx, 0xb7c96414
je 0x4258e6
cmp ecx, 0xbb86e966
jne 0x423a30
mov eax, dword [0x4abf60]
mov edi, 0x157aadb5
mov ebx, 0x3ad6e3ce
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x3ad6e3ce
jmp 0x423a10
cmp ecx, 0x33d85663
jg 0x424d76
cmp ecx, 0x31a079b7
je 0x4258f3
cmp ecx, 0x32cb02e4
jne 0x423a30
mov ecx, 0xbb86e966
jmp 0x423a30
cmp ecx, 0x83d688fc
jg 0x424da7
cmp ecx, 0x80a2496f
je 0x425925
cmp ecx, 0x82d7e0f2
jne 0x423a30
mov eax, dword [0x4abf60]
mov edi, 0xdd9ac683
mov ebx, 0x13b76e93
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x13b76e93
jmp 0x423a10
cmp ecx, 0x13b76e92
jg 0x424dc9
cmp ecx, 0xf24cd4e
je 0x425938
cmp ecx, 0xf6e775d
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x93b2167d
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, 0x7dc2a56b
jmp 0x425d81
cmp ecx, 0xd2654317
jg 0x424e1e
cmp ecx, 0xd04a1160
je 0x425b29
cmp ecx, 0xd0c6d94a
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xdf7edaff
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, 0xfbe72e36
jmp 0x425d81
cmp ecx, 0x56a3e294
jg 0x424e4a
cmp ecx, 0x5575932f
je 0x425b3f
cmp ecx, 0x562042d2
jne 0x423a30
push eax
mov eax, esp
mov dword [esi + 0x68], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 4], eax
push eax
mov edi, dword [0x4abf60]
mov edx, dword [0x4abf5c]
mov eax, esp
mov dword [esi + 0x30], eax
lea ecx, [edi + 1]
imul ecx, edi
mov edi, 0xfa07de9f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xbd0bb2bc
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
jmp 0x423a30
cmp ecx, 0xae38e484
jg 0x424e6c
cmp ecx, 0xab1ae5ad
je 0x425b57
cmp ecx, 0xac9a6d92
jne 0x423a30
mov eax, dword [esi + 4]
mov edx, 0x3f7fd7c9
mov dword [esi + 0x4c], eax
mov eax, dword [0x4abf98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4abf94], 0xa
setl cl
or cl, al
mov eax, 0xc7f8c333
mov ecx, 0x5887019e
cmovne eax, ecx
mov ecx, 0xc7f8c333
cmovne ecx, edx
mov edx, 0xbe971c08
nop dword [eax + eax]
cmp edx, 0x25255c02
jle 0x424500
cmp edx, 0x25255c03
je 0x42451d
cmp edx, 0x3f7fd7c9
je 0x424521
cmp edx, 0x5887019e
jne 0x4244d0
jmp 0x425b6d
cmp edx, 0xbe971c08
je 0x42452f
cmp edx, 0xc7f8c333
jne 0x4244d0
mov edx, dword [esi + 0x10c]
mov edx, 0x3f7fd7c9
jmp 0x4244d0
mov edx, ecx
jmp 0x4244d0
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, eax
jmp 0x4244d0
mov edx, dword [esi + 0x4c]
add edx, 0x10
mov dword [esi + 0x10c], edx
mov edx, 0x25255c03
jmp 0x4244d0
cmp ecx, 0x6ffc053
jg 0x424e99
cmp ecx, 0xfe0c0387
je 0x425b9a
cmp ecx, 0xf53039
jne 0x423a30
mov eax, dword [0x4abf60]
mov edi, 0x4cd43b1f
mov ebx, 0xac9a6d92
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xac9a6d92
jmp 0x423a10
cmp ecx, 0xc5846027
jg 0x424ec7
cmp ecx, 0xc3607d9b
je 0x425bdf
cmp ecx, 0xc5002158
jne 0x423a30
mov ecx, 0xf53039
jmp 0x423a30
cmp ecx, 0x4580b736
jg 0x424ef6
cmp ecx, 0x4501ed8e
je 0x425be9
cmp ecx, 0x4536d831
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x9f7ea0be
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, 0x2d3813eb
jmp 0x425d81
cmp ecx, 0x91c25e50
jg 0x424f4c
cmp ecx, 0x8cdb45fb
je 0x425c06
cmp ecx, 0x90697670
jne 0x423a30
cmp byte [esi + 0x65], 0
mov ecx, 0xfb6fb7ae
mov eax, 0xf64080db
cmovne ecx, eax
jmp 0x423a30
cmp ecx, 0x202d3c44
je 0x425c4b
cmp ecx, 0x20937dd1
jne 0x423a30
mov eax, dword [ebp + 0x20]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx]
mov ecx, 0xa12807a6
mov byte [esi + 0x55], al
jmp 0x423a30
cmp ecx, 0xd9cd7a2c
je 0x425c69
cmp ecx, 0xdb9f4dc7
jne 0x423a30
push eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 8], eax
push eax
mov eax, esp
mov dword [esi + 0x70], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x74], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x78], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x98], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x7c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x84], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x88], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x9c], eax
sub esp, 8
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 8]
mov eax, esp
mov dword [esi + 0xa0], eax
mov dword [esi + 0x90], 0
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0xe0]
mov dword [esi + 0x20], edx
jmp 0x423a30
cmp ecx, 0x69625ac6
je 0x425c7f
cmp ecx, 0x6ae1ce96
jne 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0x19f73aef
mov eax, dword [eax]
movsx eax, byte [eax]
mov dword [esi + 0x100], eax
jmp 0x423a30
cmp ecx, 0xa06fa647
je 0x425d3c
cmp ecx, 0xa12807a6
jne 0x423a30
movsx eax, byte [esi + 0x55]
mov ecx, 0xe7b03c46
mov dword [esi + 0xa4], eax
jmp 0x423a30
cmp ecx, 0xfa07de9f
je 0x425d49
cmp ecx, 0xfb6fb7ae
jne 0x423a30
mov eax, dword [0x4abf60]
mov ebx, 0xcb3f4464
mov edi, 0xb7c96414
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xb7c96414
jmp 0x426660
cmp ecx, 0xc021a6c0
je 0x425d53
cmp ecx, 0xc149f005
jne 0x423a30
mov ecx, 0x4580b737
jmp 0x423a30
cmp ecx, 0x38ad60c8
je 0x425d97
cmp ecx, 0x39fc8ea1
jne 0x423a30
lea ecx, [ebp + 0x10]
mov eax, dword [esi + 0x84]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x20]
mov edi, dword [esi + 0xd0]
mov ebx, dword [esi + 0xd4]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x48]
mov ecx, 0xe26f6dd4
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x48]
jmp 0x423a30
cmp ecx, 0x86e0836e
je 0x425da1
cmp ecx, 0x89724d6d
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x562042d2
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, 0xfa07de9f
jmp 0x425d81
cmp ecx, 0x185256a8
je 0x425e2c
cmp ecx, 0x19f73aef
jne 0x423a30
cmp dword [esi + 0x100], 0
mov ecx, 0x2f29ba46
setg byte [esi + 0x5f]
jmp 0x423a30
cmp ecx, 0xd352da83
je 0x425e42
cmp ecx, 0xd5c1129d
jne 0x423a30
mov eax, dword [esi + 0xa8]
mov ecx, 0x51e1c7d0
jmp 0x423a30
cmp ecx, 0x5e7b7bf0
je 0x425e4c
cmp ecx, 0x606ed409
jne 0x423a30
mov ecx, 0x637859e7
jmp 0x423a30
cmp ecx, 0xafb0a304
je 0x425e7e
cmp ecx, 0xb102bd05
jne 0x423a30
mov eax, dword [esi + 0xa4]
mov edi, 0xd04a1160
mov ebx, 0x91c25e51
cmp eax, 0x30
mov eax, dword [0x4abf60]
sete byte [esi + 0x56]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x91c25e51
jmp 0x423a10
cmp ecx, 0x8ed2da7
je 0x425e94
cmp ecx, 0x97fc341
jne 0x423a30
mov eax, dword [0x4abf60]
mov ebx, 0xd352da83
mov edi, 0xe07f2283
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xe07f2283
jmp 0x426660
cmp ecx, 0xc7109624
je 0x425eb3
cmp ecx, 0xcafb0128
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xfdbfd87d
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, 0x1afbe6b7
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [ebp + 0x20]
cmovge ecx, edi
movsx eax, byte [eax]
mov dword [esi + 0xe4], eax
jmp 0x423a30
cmp ecx, 0x46fd586f
je 0x425ebd
cmp ecx, 0x4addb0bc
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xdd674793
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, 0x9c3f91fc
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
mov edi, dword [esi + 0xb8]
cmp eax, 0xa
cmovge ecx, edx
cmp edi, 0x58
sete byte [esi + 0x58]
jmp 0x423a30
cmp ecx, 0x933bda5d
je 0x425ed2
cmp ecx, 0x93b2167d
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xab1ae5ad
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, 0x7dc2a56b
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
mov edi, dword [esi + 0xac]
cmp eax, 0xa
cmovge ecx, edx
cmp edi, 0x78
sete byte [esi + 0x57]
jmp 0x423a30
cmp ecx, 0x290ba812
je 0x425f38
cmp ecx, 0x2d3813eb
jne 0x423a30
mov eax, dword [esi + 0x30]
mov ecx, 0x6db1a37
mov eax, dword [eax]
nop word cs:[eax + eax]
cmp ecx, 0x331d8b3f
je 0x425f90
cmp ecx, 0x6db1a37
jne 0x424b40
mov dword [esi + 0x10c], eax
mov ecx, dword [esi + 0x10c]
mov ecx, dword [ecx]
add ecx, 0x10
mov dword [esi], ecx
mov ecx, 0x331d8b3f
jmp 0x424b40
cmp ecx, 0xdd9ac683
je 0x425fa4
cmp ecx, 0xdf7edaff
jne 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x83d688fd
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, 0xfbe72e36
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0xc0]
cmovge ecx, edx
cmp eax, dword [esi + 0xc4]
setb byte [esi + 0x61]
jmp 0x423a30
cmp ecx, 0x74b6b470
je 0x425fca
cmp ecx, 0x798106b9
jne 0x423a30
mov eax, dword [esi + 0xf0]
mov ecx, 0x6ffc054
cmp eax, dword [esi + 0xf4]
setbe byte [esi + 0x54]
jmp 0x423a30
cmp ecx, 0x9c3f91fc
je 0x42600c
cmp ecx, 0x9f7ea0be
jne 0x423a30
mov eax, dword [esi + 0x30]
mov ecx, 0x6db1a37
mov eax, dword [eax]
nop
cmp ecx, 0x331d8b3f
je 0x42601c
cmp ecx, 0x6db1a37
jne 0x424c30
mov dword [esi + 0x10c], eax
mov ecx, dword [esi + 0x10c]
mov ecx, dword [ecx]
add ecx, 0x10
mov dword [esi], ecx
mov ecx, 0x331d8b3f
jmp 0x424c30
cmp ecx, 0xf06583de
je 0x426073
cmp ecx, 0xf64080db
jne 0x423a30
mov eax, dword [esi + 0x40]
mov eax, dword [0x4abf60]
mov ebx, 0xdc5a8d0c
mov edi, 0xc9cf036
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc9cf036
jmp 0x426660
cmp ecx, 0xbd0bb2bc
je 0x426088
cmp ecx, 0xbecd60bf
jne 0x423a30
mov ecx, dword [esi + 4]
push 0
call fcn.00427130
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0x7c]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x7c]
mov edi, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x44]
mov edi, dword [0x4abf60]
mov ecx, dword [0x4abf5c]
lea edx, [edi + 1]
mov dword [esi + 0x18], eax
imul edx, edi
mov edi, 0x933bda5d
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x62828813
cmovne edi, eax
mov eax, dword [esi + 0x18]
test ebx, edx
mov edx, 0x62828813
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, edi
cmove eax, edx
cmp ecx, 0xa
mov ecx, dword [esi + 0x44]
mov ecx, dword [esi + 0x38]
mov ecx, dword [esi + 0x10]
cmovge eax, edi
mov ecx, dword [ecx]
mov dword [esi + 0xcc], ecx
movzx ecx, byte [ebp + 0x1c]
mov byte [esi + 0x26], cl
mov ecx, eax
jmp 0x423a30
cmp ecx, 0x33d85664
je 0x426092
cmp ecx, 0x37af05f5
jne 0x423a30
mov eax, dword [esi + 0xe8]
mov ecx, 0x202d3c44
movsx eax, byte [eax]
mov dword [esi + 0xec], eax
jmp 0x423a30
cmp ecx, 0x83d688fd
je 0x4239e0
cmp ecx, 0x83fe8a8c
jne 0x423a30
mov ecx, 0x31a079b7
jmp 0x423a30
cmp ecx, 0x13b76e93
je 0x4260a6
cmp ecx, 0x157aadb5
jne 0x423a30
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0xbc]
mov edx, 0xfdb4dc0d
nop
cmp edx, 0x4c03a2f4
je 0x4260ca
cmp edx, 0xfdb4dc0d
jne 0x424df0
mov dword [esi + 0x10c], ecx
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov dword [esi], edx
mov edx, 0x4c03a2f4
jmp 0x424df0
cmp ecx, 0xd2654318
je 0x4261ca
cmp ecx, 0xd2a1defa
jne 0x423a30
movzx eax, byte [esi + 0x5d]
mov ecx, 0x4501ed8e
cmp al, 0x7f
setne byte [esi + 0x5e]
jmp 0x423a30
cmp ecx, 0x56a3e295
je 0x4261d4
cmp ecx, 0x56b6990d
jne 0x423a30
mov ecx, 0x68567825
jmp 0x423a30
cmp ecx, 0xae38e485
je 0x4261e7
cmp ecx, 0xafa553b0
jne 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0x301856cc
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x5a], al
jmp 0x423a30
cmp ecx, 0x6ffc054
je 0x426201
cmp ecx, 0x872ee56
jne 0x423a30
cmp byte [esi + 0x66], 0
mov ecx, 0x6f36d30a
mov eax, 0xfe0c0387
cmovne ecx, eax
jmp 0x423a30
cmp ecx, 0xc5846028
je 0x426217
cmp ecx, 0xc5f76c97
jne 0x423a30
mov eax, dword [esi + 0xe4]
mov ecx, 0xae38e485
cmp eax, 0x2b
sete byte [esi + 0x51]
jmp 0x423a30
cmp ecx, 0x4580b737
je 0x4239ee
cmp ecx, 0x46848df6
jne 0x423a30
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc8]
mov edi, 0xc22f68a6
mov dword [eax], ecx
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
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, 0xe8a7229
jmp 0x425d81
cmp ecx, 0x91c25e51
je 0x42622e
cmp ecx, 0x92260330
jne 0x423a30
mov edx, dword [esi + 0x1c]
sub edx, dword [esi + 0x104]
mov eax, dword [esi + 0x70]
movsx eax, byte [eax]
mov ecx, dword [esi + 4]
push eax
push 1
mov dword [esi + 0x1c], edx
push edx
call fcn.004279c0
mov ecx, 0x447d1e38
jmp 0x423a30
mov ecx, 0x46fd586f
jmp 0x423a30
movzx eax, byte [esi + 0x27]
mov edx, 0x5e4012e3
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x10c], eax
mov eax, dword [0x4ac3b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4ac3b4], 0xa
setl cl
or cl, al
mov eax, 0xd6069f41
mov ecx, 0x3091b9b2
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop dword [eax]
cmp edx, 0x9d5186b
jle 0x425020
cmp edx, 0x9d5186c
je 0x425041
cmp edx, 0x3091b9b2
je 0x42623e
cmp edx, 0x5e4012e3
jne 0x424ff0
mov edx, eax
jmp 0x424ff0
cmp edx, 0xd6069f41
je 0x425045
cmp edx, 0x70e7b03
jne 0x424ff0
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, 0x9d5186c
jmp 0x424ff0
mov edx, ecx
jmp 0x424ff0
mov edx, 0x5e4012e3
jmp 0x424ff0
mov eax, dword [esi + 0x10]
lea ebx, [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0x74]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [edx]
movsx edx, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x40]
mov edi, 0xc9cf036
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
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, 0x38ad60c8
jmp 0x425ff7
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x2e9a9bc1
jmp 0x425727
cmp byte [esi + 0x64], 0
mov ecx, 0xfb6fb7ae
mov eax, 0xc5846028
cmovne ecx, eax
jmp 0x423a30
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x14]
mov dword [esi + 0xd0], eax
mov ecx, dword [esi + 4]
push 0
call fcn.00427130
mov dword [esi + 0xd4], eax
mov ecx, 0x96b2abf6
jmp 0x423a30
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x94]
mov edx, 0x5e4012e3
mov dword [esi + 0x10c], eax
mov eax, dword [0x4ac3b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4ac3b4], 0xa
setl cl
or cl, al
mov eax, 0xd6069f41
mov ecx, 0x3091b9b2
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop dword [eax]
cmp edx, 0x9d5186b
jle 0x4251b0
cmp edx, 0x9d5186c
je 0x4251d1
cmp edx, 0x3091b9b2
je 0x426296
cmp edx, 0x5e4012e3
jne 0x425180
mov edx, eax
jmp 0x425180
cmp edx, 0xd6069f41
je 0x4251d5
cmp edx, 0x70e7b03
jne 0x425180
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, 0x9d5186c
jmp 0x425180
mov edx, ecx
jmp 0x425180
mov edx, 0x5e4012e3
jmp 0x425180
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xe9d8d0f
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, 0x9869b710
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0x2c]
cmovge ecx, edx
jmp 0x423a30
mov eax, dword [esi + 0xc0]
mov eax, dword [esi + 0xc4]
mov ecx, 0xdf7edaff
jmp 0x423a30
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 4]
push 0
call fcn.00427130
lea ebx, [ebp + 0x10]
mov ecx, dword [esi + 0x98]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x98]
mov edi, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x78]
mov ecx, 0xf24cd4e
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x78]
jmp 0x423a30
mov ecx, 0x23769b8b
jmp 0x423a30
mov eax, dword [esi + 0xf8]
mov ecx, 0xb56d4a3e
add eax, 2
mov dword [esi + 0xfc], eax
jmp 0x423a30
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0xbc]
mov edx, 0xfdb4dc0d
nop word cs:[eax + eax]
cmp edx, 0x4c03a2f4
je 0x4262bb
cmp edx, 0xfdb4dc0d
jne 0x4252e0
mov dword [esi + 0x10c], ecx
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov dword [esi], edx
mov edx, 0x4c03a2f4
jmp 0x4252e0
cmp byte [esi + 0x5b], 0
mov ecx, 0xf53039
mov eax, 0xce17b06c
cmovne ecx, eax
jmp 0x423a30
mov ecx, 0xa47a6aec
jmp 0x423a30
mov eax, dword [0x4abf60]
mov edi, 0x1f376bc5
mov ebx, 0x8c00c338
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x8c00c338
jmp 0x423a10
mov eax, dword [ebp + 0x18]
mov ecx, 0x1f376bc5
mov dword [esi], eax
mov eax, dword [esi]
jmp 0x423a30
mov ecx, 0xc5f76c97
jmp 0x423a30
test byte [esi + 0x6c], 1
mov ecx, 0xa06fa647
mov eax, 0x5575932f
cmovne ecx, eax
jmp 0x423a30
mov eax, dword [ebp + 0x18]
mov ebx, 0xc7109624
mov edi, 0x8c00c338
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0xdc], eax
mov eax, dword [0x4abf60]
mov dword [esi + 0xd8], ecx
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x8c00c338
jmp 0x426660
mov ecx, 0xd8e474f1
jmp 0x423a30
lea ecx, [ebp + 0x10]
mov eax, dword [esi + 0x80]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x20]
mov edi, dword [esi + 0xcc]
movsx ebx, byte [esi + 0x26]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x38]
mov ecx, 0x86e0836e
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x10]
mov dword [eax], 0
jmp 0x423a30
mov ecx, 0xc021a6c0
jmp 0x423a30
mov eax, dword [esi + 0x70]
movzx ecx, byte [esi + 0x5c]
mov byte [eax], cl
mov ecx, 0x46fd586f
jmp 0x423a30
mov eax, dword [ebp + 0x20]
mov ecx, 0xb6f9008e
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0xb4], eax
jmp 0x423a30
mov eax, dword [esi + 0xfc]
mov ecx, 0x8cdb45fb
mov dword [esi + 0x14], eax
jmp 0x423a30
mov eax, dword [esi + 0x10]
lea ebx, [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0x74]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [edx]
movsx edx, byte [ebp + 0x1c]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x40]
mov ecx, 0xdc5a8d0c
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x10]
mov dword [eax], 0
jmp 0x423a30
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc8]
mov dword [eax], ecx
mov ecx, 0x46848df6
jmp 0x423a30
mov dword [esi], eax
mov ecx, dword [esi]
sub esp, 4
movzx eax, byte [esi + 0x10c]
mov byte [esp], al
call fcn.00409d70
mov ecx, dword [esi]
mov ebx, dword [esi + 0x1c]
push ebx
push 0
call fcn.0042ab10
mov eax, dword [esi]
mov eax, dword [esi + 0x68]
mov edi, dword [eax]
mov ecx, dword [esi + 4]
push 0
call fcn.00427130
mov ecx, dword [ebp + 0x20]
lea edx, [ecx + ebx]
mov ebx, ecx
mov ecx, edi
push eax
push edx
push ebx
call fcn.00426fe0
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp + 0x18]
push dword [esi + 0x28]
call fcn.0041b4d0
push dword [esi + 0x28]
call fcn.00427330
add esp, 4
mov ecx, dword [esi + 0x28]
mov edi, eax
call fcn.0041b750
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
mov ebx, 0x32cb02e4
mov dword [eax], edi
mov edi, 0x9869b710
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0xbc], eax
mov eax, dword [0x4abf60]
lea ecx, [eax + 1]
imul eax, ecx
mov ecx, 0x9869b710
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
jmp 0x426660
mov eax, dword [esi + 0x3c]
mov edi, 0xee61d25c
mov ebx, 0xb7c96414
cmp dword [eax], 0x100
mov eax, dword [0x4abf60]
lea ecx, [eax + 1]
sete byte [esi + 0x66]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xb7c96414
jmp 0x423a10
mov eax, dword [esi + 0x70]
mov ecx, 0x4536d831
jmp 0x423a30
mov eax, dword [esi + 4]
mov edx, 0x3f7fd7c9
mov dword [esi + 0x4c], eax
mov eax, dword [0x4abf98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4abf94], 0xa
setl cl
or cl, al
mov eax, 0xc7f8c333
mov ecx, 0x5887019e
cmovne eax, ecx
mov ecx, 0xc7f8c333
cmovne ecx, edx
mov edx, 0xbe971c08
nop word cs:[eax + eax]
cmp edx, 0x25255c02
jle 0x425670
cmp edx, 0x25255c03
je 0x42568d
cmp edx, 0x3f7fd7c9
je 0x425691
cmp edx, 0x5887019e
jne 0x425640
jmp 0x4263c7
cmp edx, 0xbe971c08
je 0x42569f
cmp edx, 0xc7f8c333
jne 0x425640
mov edx, dword [esi + 0x10c]
mov edx, 0x3f7fd7c9
jmp 0x425640
mov edx, ecx
jmp 0x425640
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, eax
jmp 0x425640
mov edx, dword [esi + 0x4c]
add edx, 0x10
mov dword [esi + 0x10c], edx
mov edx, 0x25255c03
jmp 0x425640
mov ecx, dword [0x4abf60]
movzx eax, byte [esi + 0x25]
mov ebx, 0x4580b737
mov edi, 0xc149f005
lea edx, [ecx + 1]
and al, 1
imul edx, ecx
mov byte [esi + 0x67], al
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ecx, 0xc149f005
sete dl
cmove ecx, ebx
cmp dword [0x4abf5c], 0xa
setl ah
cmovge ecx, edi
xor ah, dl
cmovne ecx, ebx
jmp 0x423a30
mov ecx, 0x2e9a9bc1
jmp 0x423a30
mov eax, dword [ebp + 0x20]
mov ecx, 0x5e7b7bf0
mov dword [esi + 0xa8], eax
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x185256a8
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, 0x93fab9f5
jmp 0x425d81
cmp byte [esi + 0x5f], 0
mov ecx, 0x1d678e57
mov eax, 0xa8e574be
jmp 0x425bf7
mov ecx, 0x97fc341
jmp 0x423a30
lea ecx, [ebp + 0x10]
mov eax, dword [esi + 0x84]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x20]
mov edi, dword [esi + 0xd0]
mov ebx, dword [esi + 0xd4]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x48]
mov ebx, 0xe4057e19
mov edi, 0x39fc8ea1
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x48]
mov eax, dword [0x4abf60]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x39fc8ea1
jmp 0x426660
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
sub eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov ecx, 0xa47a6aec
jmp 0x423a30
mov eax, dword [esi + 0xac]
mov ecx, 0x93b2167d
jmp 0x423a30
mov eax, dword [esi + 0xb0]
mov eax, dword [esi + 0xb4]
mov ecx, 0x290ba812
jmp 0x423a30
mov dword [esi], eax
mov ecx, dword [esi]
sub esp, 4
movzx eax, byte [esi + 0x10c]
mov byte [esp], al
call fcn.00409d70
mov ecx, dword [esi]
mov ebx, dword [esi + 0x1c]
push ebx
push 0
call fcn.0042ab10
mov eax, dword [esi]
mov eax, dword [esi + 0x68]
mov edi, dword [eax]
mov ecx, dword [esi + 4]
push 0
call fcn.00427130
mov ecx, dword [ebp + 0x20]
lea edx, [ecx + ebx]
mov ebx, ecx
mov ecx, edi
push eax
push edx
push ebx
call fcn.00426fe0
mov ecx, dword [ebp + 0x18]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x28]
push dword [esi + 0x28]
call fcn.0041b4d0
push dword [esi + 0x28]
call fcn.00427330
add esp, 4
mov ecx, dword [esi + 0x28]
mov edi, eax
call fcn.0041b750
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
mov ecx, 0xe9d8d0f
mov dword [eax], edi
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x91c25e51
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, 0xb102bd05
jmp 0x425ff7
mov eax, dword [esi + 0x3c]
mov ecx, 0xcb3f4464
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x9c3f91fc
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, 0x4addb0bc
jmp 0x425ff7
mov eax, dword [ebp + 0x20]
mov ecx, 0x37af05f5
mov dword [esi + 0xe8], eax
jmp 0x423a30
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
sub edi, eax
push eax
call fcn.00427130
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0x9c]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x9c]
mov ebx, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x88]
mov ecx, dword [ebp + 0x18]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea eax, [ebp + 0x10]
mov dword [eax + 4], ebx
mov dword [eax], edi
mov eax, dword [esi + 0x88]
push 0
push 0
call fcn.0040fd50
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0xa0]
mov dword [ecx + 4], ebx
mov dword [ecx], edi
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
movsx edi, byte [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x34]
mov eax, dword [0x4ac418]
mov ecx, dword [0x4ac414]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xf073b78a
sete byte [esi + 0xf]
cmp ecx, 0xa
setl byte [esi + 0x4c]
cmp eax, 0xf073b789
jg 0x425ab0
cmp eax, 0x83947bad
je 0x425af8
cmp eax, 0x87f815b4
je 0x4263fa
cmp eax, 0xca08351e
jne 0x425a30
mov dword [esi + 0x10c], ebx
mov ecx, dword [esi + 0x10c]
call fcn.00408550
mov edx, dword [0x4ac418]
mov ecx, dword [0x4ac414]
mov dword [esi + 0x18], ebx
mov edi, 0x1726de71
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x53566e51
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
mov ebx, dword [esi + 0x18]
jmp 0x425a30
cmp eax, 0x53566e51
je 0x425b0e
cmp eax, 0x1726de71
je 0x425b1f
cmp eax, 0xf073b78a
jne 0x425a30
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0x4c]
mov edi, 0xca08351e
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x53566e51
cmovne eax, edi
test cl, cl
mov ecx, 0x53566e51
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x425a30
mov ecx, dword [esi + 0x10c]
mov eax, 0x87f815b4
mov dword [esi + 0x8c], ecx
jmp 0x425a30
mov ecx, ebx
call fcn.00408550
mov eax, 0xca08351e
jmp 0x425a30
mov eax, 0x83947bad
jmp 0x425a30
cmp byte [esi + 0x56], 0
mov ecx, 0x8cdb45fb
mov eax, 0x948d85fc
cmovne ecx, eax
jmp 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0x92260330
mov eax, dword [eax]
movsx eax, byte [eax]
mov dword [esi + 0x104], eax
jmp 0x423a30
cmp byte [esi + 0x57], 0
mov ecx, 0xb460d9ff
mov eax, 0x56a3e295
cmovne ecx, eax
jmp 0x423a30
mov eax, dword [esi]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x10]
mov eax, 0x2243905d
nop word [eax + eax]
cmp eax, 0x2243905d
je 0x425b93
cmp eax, 0xa7ad0f34
jne 0x425b80
jmp 0x426531
mov eax, 0xa7ad0f34
jmp 0x425b80
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x933bda5d
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, 0xbecd60bf
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x44]
cmovge ecx, edi
jmp 0x423a30
mov ecx, 0xf6e775d
jmp 0x423a30
cmp byte [esi + 0x5e], 0
mov ecx, 0x1d678e57
mov eax, 0x6ae1ce96
cmovne ecx, eax
mov dword [esi + 0x6c], 0
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xe07f2283
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, 0x97fc341
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x68]
cmovge ecx, edi
jmp 0x423a30
mov eax, dword [esi + 0xec]
mov ecx, 0x4efaf7fc
cmp eax, 0x2d
sete byte [esi + 0x52]
movzx eax, byte [esi + 0x52]
mov byte [esi + 0x25], al
jmp 0x423a30
cmp byte [esi + 0x59], 0
mov ecx, 0xf53039
mov eax, 0xafa553b0
cmovne ecx, eax
jmp 0x423a30
movzx eax, byte [esi + 0x27]
mov edx, 0x5e4012e3
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x10c], eax
mov eax, dword [0x4ac3b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4ac3b4], 0xa
setl cl
or cl, al
mov eax, 0xd6069f41
mov ecx, 0x3091b9b2
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop word cs:[eax + eax]
cmp edx, 0x9d5186b
jle 0x425d10
cmp edx, 0x9d5186c
je 0x425d31
cmp edx, 0x3091b9b2
je 0x426542
cmp edx, 0x5e4012e3
jne 0x425ce0
mov edx, eax
jmp 0x425ce0
cmp edx, 0xd6069f41
je 0x425d35
cmp edx, 0x70e7b03
jne 0x425ce0
mov edx, dword [esi + 0x10c]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, 0x9d5186c
jmp 0x425ce0
mov edx, ecx
jmp 0x425ce0
mov edx, 0x5e4012e3
jmp 0x425ce0
mov eax, dword [esi + 0x70]
mov ecx, 0xc5002158
jmp 0x423a30
mov ecx, 0x562042d2
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x86e0836e
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, 0xd7e81261
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x423a30
mov ecx, 0xfd8b0d39
jmp 0x423a30
lea ecx, [ebp + 0x10]
mov eax, dword [esi + 0x80]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x20]
mov edi, dword [esi + 0xcc]
movsx ebx, byte [esi + 0x26]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x38]
mov edi, 0xd692703b
mov ebx, 0xd7e81261
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [0x4abf60]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xd7e81261
jmp 0x423a10
cmp byte [esi + 0x62], 0
mov ecx, 0x82d7e0f2
mov eax, 0xc29ebe37
cmovne ecx, eax
jmp 0x423a30
mov ecx, 0xa78e53f9
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xd5c1129d
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, 0x51e1c7d0
jmp 0x425ff7
cmp byte [esi + 0x53], 0
mov ecx, 0x8cdb45fb
mov eax, 0x8ed2da7
cmovne ecx, eax
jmp 0x423a30
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
add eax, 2
mov dword [esi + 0xf4], ecx
mov ecx, 0x798106b9
mov dword [esi + 0xf0], eax
jmp 0x423a30
mov ecx, 0x7d85da86
jmp 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0xd2a1defa
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x5d], al
jmp 0x423a30
mov ecx, dword [esi + 4]
push 0
call fcn.00427130
lea ebx, [ebp + 0x10]
mov ecx, dword [esi + 0x7c]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x7c]
mov edi, dword [esi + 0x20]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x44]
mov ecx, 0xbecd60bf
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x10]
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov ebx, 0x83fe8a8c
lea ecx, [edx + 1]
imul ecx, edx
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x97b38b20
cmovne edx, ebx
test edi, ecx
mov ecx, edx
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0xb0]
mov edi, dword [esi + 0xb4]
cmovge ecx, edx
movsx eax, byte [eax + edi]
mov dword [esi + 0xb8], eax
jmp 0x423a30
mov eax, dword [esi]
mov ecx, dword [esi + 0x10c]
call dword [eax]
mov ecx, 0x9f7ea0be
jmp 0x423a30
mov eax, 0x2243905d
nop dword [eax]
cmp eax, 0x2243905d
je 0x425fc3
cmp eax, 0xa7ad0f34
jne 0x425fb0
jmp 0x42654e
mov eax, 0xa7ad0f34
jmp 0x425fb0
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0xe8a7229
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, 0x46848df6
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x423a30
mov eax, dword [esi + 0xb8]
mov ecx, 0x4addb0bc
jmp 0x423a30
mov eax, dword [esi]
mov ecx, dword [esi + 0x10c]
call dword [eax]
mov edi, dword [0x4abf60]
mov edx, dword [0x4abf5c]
mov byte [esi + 0x18], 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, 0x2d3813eb
mov eax, 0x606ed409
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
movzx edx, byte [esi + 0x18]
cmovge ecx, ebx
mov byte [esi + 0x5c], dl
jmp 0x423a30
mov eax, dword [esi + 8]
mov ecx, 0x2715de15
mov eax, dword [eax]
mov dword [esi + 0x108], eax
jmp 0x423a30
mov ecx, 0xdb9f4dc7
jmp 0x423a30
movzx eax, byte [esi + 0x67]
mov ecx, 0xce637e25
mov dword [esi + 0x90], eax
jmp 0x423a30
mov eax, 0x2243905d
nop dword [eax + eax]
cmp eax, 0x2243905d
je 0x4260c3
cmp eax, 0xa7ad0f34
jne 0x4260b0
jmp 0x4265a1
mov eax, 0xa7ad0f34
jmp 0x4260b0
mov ecx, dword [esi + 0x10c]
mov edx, dword [esi]
push eax
call edx
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x18], eax
mov eax, 0x3dfd14f7
nop word cs:[eax + eax]
cmp eax, 0xb51b7af
jle 0x426150
cmp eax, 0xb51b7b0
je 0x4265b2
cmp eax, 0x443bf944
je 0x426165
cmp eax, 0x3dfd14f7
jne 0x4260f0
mov edx, dword [0x4abf58]
mov edi, dword [0x4abf54]
mov ecx, 0x443bf944
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov ebx, 0xa8a231aa
cmovne ebx, ecx
test edx, eax
mov eax, ebx
cmove eax, ecx
cmp edi, 0xa
cmovge eax, ebx
jmp 0x4260f0
cmp eax, 0xa8a231aa
je 0x4261b8
cmp eax, 0xc793e298
jne 0x4260f0
mov eax, 0xb51b7b0
jmp 0x4260f0
mov ecx, dword [esi + 0x18]
call fcn.0040e790
mov edx, dword [0x4abf58]
mov dword [esi + 0x8c], eax
mov ecx, dword [0x4abf54]
mov ebx, 0xc793e298
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xa8a231aa
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4260f0
mov ecx, dword [esi + 0x18]
call fcn.0040e790
mov eax, 0x443bf944
jmp 0x4260f0
mov ecx, 0xdc6e74ce
jmp 0x423a30
mov eax, dword [esi + 0x14]
mov ecx, 0xc2542117
mov dword [esi + 0xf8], eax
jmp 0x423a30
cmp byte [esi + 0x51], 0
mov ecx, 0x80a2496f
mov eax, 0x4efaf7fc
mov byte [esi + 0x25], 1
cmovne ecx, eax
jmp 0x423a30
cmp byte [esi + 0x54], 0
mov ecx, 0x8cdb45fb
mov eax, 0x20937dd1
cmovne ecx, eax
jmp 0x423a30
mov eax, dword [esi + 0x3c]
mov ecx, 0x90697670
cmp dword [eax], 0x100
setne byte [esi + 0x65]
jmp 0x423a30
mov eax, dword [esi + 0xa4]
mov ecx, 0xb102bd05
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x69625ac6
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, 0xafb0a304
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
mov ebx, dword [esi]
cmp eax, 0xa
cmovge ecx, edi
mov edx, ebx
xor edx, 0xfffff1ff
and edx, ebx
cmp edx, 0x800
sete byte [esi + 0x53]
jmp 0x423a30
mov eax, dword [esi]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
mov ecx, 0x6eb51994
mov eax, dword [esi + 0x3c]
cmp dword [eax], 0x40
setne byte [esi + 0x64]
jmp 0x423a30
mov ecx, dword [esi + 0x10c]
mov edx, dword [esi]
push eax
call edx
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x34]
mov eax, 0x3dfd14f7
nop word cs:[eax + eax]
cmp eax, 0xb51b7af
jle 0x426350
cmp eax, 0xb51b7b0
je 0x426601
cmp eax, 0x443bf944
je 0x426368
cmp eax, 0x3dfd14f7
jne 0x4262e0
mov edx, dword [0x4abf58]
mov ecx, dword [0x4abf54]
mov edi, 0x443bf944
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xa8a231aa
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4262e0
cmp eax, 0xa8a231aa
je 0x4263b6
cmp eax, 0xc793e298
jne 0x4262e0
mov eax, 0xb51b7b0
jmp 0x4262e0
mov ecx, ebx
call fcn.0040e790
mov dword [esi + 0x18], eax
mov eax, dword [0x4abf58]
mov edx, 0xc793e298
mov edi, 0xa8a231aa
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xa8a231aa
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edx
cmp dword [0x4abf54], 0xa
setl dl
cmovge eax, edi
xor dl, cl
mov edx, 0xc793e298
cmovne eax, edx
jmp 0x4262e0
mov ecx, ebx
call fcn.0040e790
mov eax, 0x443bf944
jmp 0x4262e0
mov eax, dword [esi]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x10]
mov eax, 0x2243905d
nop word cs:[eax + eax]
cmp eax, 0x2243905d
je 0x4263f3
cmp eax, 0xa7ad0f34
jne 0x4263e0
jmp 0x42662a
mov eax, 0xa7ad0f34
jmp 0x4263e0
mov eax, dword [esi + 0x8c]
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.00408760
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov ebx, dword [esi + 4]
mov eax, dword [0x4ac418]
mov ecx, dword [0x4ac414]
lea edx, [eax + 1]
imul edx, eax
mov eax, 0xf073b78a
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xf]
cmp ecx, 0xa
setl byte [esi + 0x4c]
nop dword [eax + eax]
cmp eax, 0xf073b789
jg 0x4264c0
cmp eax, 0x83947bad
je 0x426503
cmp eax, 0x87f815b4
je 0x42667d
cmp eax, 0xca08351e
jne 0x426440
mov dword [esi + 0x10c], ebx
mov ecx, dword [esi + 0x10c]
call fcn.00408550
mov eax, dword [0x4ac418]
mov edx, 0x1726de71
mov edi, 0x53566e51
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x53566e51
sete cl
cmove eax, edx
cmp dword [0x4ac414], 0xa
setl dl
cmovge eax, edi
xor dl, cl
mov edx, 0x1726de71
cmovne eax, edx
jmp 0x426440
cmp eax, 0x53566e51
je 0x426516
cmp eax, 0x1726de71
je 0x426527
cmp eax, 0xf073b78a
jne 0x426440
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0x4c]
mov edi, 0xca08351e
mov edx, ecx
xor dl, al
mov edx, 0x53566e51
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x426440
mov ecx, dword [esi + 0x10c]
mov eax, 0x87f815b4
mov dword [esi + 0x18], ecx
jmp 0x426440
mov ecx, ebx
call fcn.00408550
mov eax, 0xca08351e
jmp 0x426440
mov eax, 0x83947bad
jmp 0x426440
mov eax, dword [ebp + 0x18]
mov ecx, 0x4cd43b1f
mov dword [esi], eax
mov eax, dword [esi]
jmp 0x423a30
mov eax, dword [esi]
mov ecx, 0x23a706a5
jmp 0x423a30
mov edx, dword [0x4abf60]
mov eax, dword [0x4abf5c]
mov edi, 0x13b76e93
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, 0x56b6990d
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [ebp + 0x18]
cmovge ecx, edi
mov dword [esi], eax
mov eax, dword [esi]
mov edx, dword [esi + 0x1c]
cmp edx, dword [eax + 0x20]
setae byte [esi + 0x63]
jmp 0x423a30
mov eax, dword [ebp + 0x18]
mov ecx, 0xdd9ac683
mov dword [esi], eax
mov eax, dword [esi]
jmp 0x423a30
mov eax, dword [esi + 0x8c]
mov dword [esi], 0
mov ebx, 0xd9cd7a2c
mov edi, 0x3ad6e3ce
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x10c]
add eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp byte [eax], 0x7f
mov eax, dword [0x4abf60]
lea ecx, [eax + 1]
setne byte [esi + 0x59]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x3ad6e3ce
jmp 0x426660
mov eax, dword [esi + 0x18]
mov dword [esi], 0
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x10c]
add eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, 0x157aadb5
mov eax, dword [esi + 8]
jmp 0x423a30
mov eax, dword [ebp + 0x18]
mov ebx, 0xd2654318
mov edi, 0xac9a6d92
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x24]
cmp dword [eax + 0x20], 1
mov eax, dword [0x4abf60]
sbb ecx, 0
lea ecx, [eax + 1]
setl byte [esi + 0x62]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xac9a6d92
sete al
cmove ecx, ebx
cmp dword [0x4abf5c], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
jmp 0x423a30
mov eax, dword [esi + 0x18]
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.00408760
mov ecx, 0x96c81382
jmp 0x423a30
cmp ecx, 0x96c81382
jne 0x423a30
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x110]
xor ecx, ebp
call fcn.004388e0
mov eax, dword [ebp + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret