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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x130
mov eax, dword [0x4ad2c0]
mov esi, esp
xor eax, ebp
mov dword [esi + 0x128], eax
mov eax, dword [0x4aefd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x4aefcc]
mov dword [esi + 0x98], ecx
sete byte [esi + 0x44]
cmp eax, 0xa
mov eax, 0xff12c74f
setl byte [esi + 0x45]
jmp 0x42179f
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
sub eax, dword [ecx]
mov ecx, dword [esi + 0x100]
cmp ecx, eax
mov eax, 0xb766ffe8
setb byte [esi + 0x50]
movzx ecx, byte [esi + 0x50]
mov dword [esi + 0x70], ecx
jmp 0x4217f0
mov eax, dword [esi + 0x68]
mov eax, dword [0x4aefd0]
mov edi, 0xc09fe80a
mov ebx, 0x3b11c5d6
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x3b11c5d6
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4aefcc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop word cs:[eax + eax]
cmp eax, 0xf8e2e149
jg 0x421860
cmp eax, 0xbdc70aa3
jle 0x4218e0
cmp eax, 0xe030b368
jg 0x4219bc
cmp eax, 0xcc2084db
jle 0x421aea
cmp eax, 0xdb290c5c
jle 0x421d51
cmp eax, 0xdb8208ba
jle 0x422271
cmp eax, 0xdb8208bb
je 0x42298f
cmp eax, 0xdd092afc
je 0x422999
cmp eax, 0xdf09f91c
jne 0x4217f0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x110], eax
mov eax, 0x86b6c481
jmp 0x4217f0
cmp eax, 0x3dbcff76
jg 0x421950
cmp eax, 0x1d8d6006
jle 0x421a24
cmp eax, 0x28e912b0
jle 0x421b75
cmp eax, 0x322d051a
jle 0x421d98
cmp eax, 0x3af496ed
jle 0x4222c4
cmp eax, 0x3af496ee
je 0x422a07
cmp eax, 0x3b11c5d6
je 0x422a21
cmp eax, 0x3b6433af
jne 0x4217f0
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xe8]
movsx eax, byte [eax + ecx + 1]
mov dword [esi + 0xf0], eax
mov eax, 0xe757d607
jmp 0x4217f0
cmp eax, 0x9bd03e8b
jle 0x421a65
cmp eax, 0xadef327c
jle 0x421bae
cmp eax, 0xb51fb736
jle 0x421dc3
cmp eax, 0xb766ffe7
jle 0x4222ef
cmp eax, 0xb766ffe8
je 0x422a2b
cmp eax, 0xb90b7f23
je 0x422a41
cmp eax, 0xbd9f3485
jne 0x4217f0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x114]
mov dword [eax], ecx
mov eax, 0x5036ad28
jmp 0x4217f0
cmp eax, 0x577c380b
jle 0x421aa9
cmp eax, 0x6839e5f3
jle 0x421bed
cmp eax, 0x71a1b5fd
jle 0x421e32
cmp eax, 0x74dffa42
jle 0x422318
cmp eax, 0x74dffa43
je 0x422b45
cmp eax, 0x75932589
je 0x422b5e
cmp eax, 0x7f3f3896
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov ebx, 0x30e99846
mov edi, 0xf83dd7cb
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xf83dd7cb
jmp 0x422bf4
cmp eax, 0xe757d606
jle 0x421c32
cmp eax, 0xf0c1e3d4
jle 0x421e64
cmp eax, 0xf83dd7ca
jle 0x42237f
cmp eax, 0xf83dd7cb
je 0x422bae
cmp eax, 0xf86afe80
je 0x422bbc
cmp eax, 0xf8da2f30
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov ebx, 0x543de721
mov edi, 0x4d73f87
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4d73f87
jmp 0x423131
cmp eax, 0x5e5940c
jle 0x421c8c
cmp eax, 0xf0ae205
jle 0x421eb8
cmp eax, 0x103113de
jle 0x4223f1
cmp eax, 0x103113df
je 0x422bda
cmp eax, 0x1d7a3bf6
jne 0x42399b
mov eax, 0x8a0db0e8
jmp 0x4217f0
cmp eax, 0x8b6bfc02
jg 0x421cc6
cmp eax, 0x87a21d56
jg 0x421f1d
cmp eax, 0x86708564
jg 0x42241b
cmp eax, 0x81a313c8
je 0x422c01
cmp eax, 0x853c2469
jne 0x4217f0
mov eax, dword [esi + 0x68]
mov eax, 0x1d7a3bf6
jmp 0x4217f0
cmp eax, 0x4b6d099a
jg 0x421d06
cmp eax, 0x4422d5ce
jg 0x421f48
cmp eax, 0x426b5371
jg 0x422448
cmp eax, 0x3dbcff77
je 0x422c0c
cmp eax, 0x3f45feea
jne 0x4217f0
mov eax, 0x57c487e4
jmp 0x4217f0
cmp eax, 0xbfc0a63f
jg 0x421f86
cmp eax, 0xbec045d1
jg 0x422484
cmp eax, 0xbdc70aa4
je 0x422c22
cmp eax, 0xbe36b975
jne 0x4217f0
mov eax, dword [esi + 0x78]
mov ebx, dword [eax]
mov ecx, dword [esi + 0x20]
push 0
call fcn.00424850
mov ecx, dword [esi + 0x28]
mov edi, 0x59a1112b
mov ecx, dword [ecx]
mov edx, dword [esi + 0x18]
add ecx, dword [edx]
mov edx, dword [esi + 0x28]
mov edx, dword [edx]
nop dword [eax]
cmp edi, 0x1cab645c
je 0x422c52
cmp edi, 0x59a1112b
jne 0x421b40
mov dword [esi + 0x58], ebx
mov dword [esi + 0x124], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], edx
mov edi, dword [esi + 0x58]
mov edi, dword [edi]
mov edi, dword [edi + 0x1c]
mov dword [esi + 0x10], edi
mov edi, 0x1cab645c
jmp 0x421b40
cmp eax, 0x234de44c
jg 0x421fda
cmp eax, 0x20994f23
jg 0x4224aa
cmp eax, 0x1d8d6007
je 0x422ca4
cmp eax, 0x1ef69e7d
jne 0x4217f0
mov eax, dword [esi + 0x1c]
mov eax, 0x75932589
jmp 0x4217f0
cmp eax, 0xa6c32b10
jg 0x422005
cmp eax, 0xa1c6138c
jg 0x4224d9
cmp eax, 0x9bd03e8c
je 0x422cd7
cmp eax, 0x9e6308db
jne 0x4217f0
cmp byte [esi + 0x4f], 0
mov eax, 0xb766ffe8
mov ecx, 0xeb80818a
jmp 0x422034
cmp eax, 0x5936a233
jg 0x422043
cmp eax, 0x57c9a6ce
jg 0x422539
cmp eax, 0x577c380c
je 0x422ce9
cmp eax, 0x57c487e4
jne 0x4217f0
mov eax, dword [esi + 0xfc]
movsx eax, byte [eax]
mov dword [esi + 0x100], eax
mov eax, 0x57c9a6cf
jmp 0x4217f0
cmp eax, 0xe31787ff
jg 0x422158
cmp eax, 0xe274f73a
jg 0x422559
cmp eax, 0xe030b369
je 0x422cfe
cmp eax, 0xe0df6099
jne 0x4217f0
mov eax, dword [esi + 0x2c]
mov edx, 0xcbbf6d18
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
nop
cmp edx, 0xcbbf6d18
je 0x421c85
cmp edx, 0x7a156984
jne 0x421c70
jmp 0x422e04
mov edx, 0x7a156984
jmp 0x421c70
cmp eax, 0xff12c74e
jg 0x422183
cmp eax, 0xfbb59105
jg 0x42257c
cmp eax, 0xf8e2e14a
je 0x422e23
cmp eax, 0xf9d4cd21
jne 0x4217f0
movzx eax, byte [esi + 0x26]
mov eax, 0xbdc70aa4
jmp 0x4217f0
cmp eax, 0x8fb7d46d
jg 0x422218
cmp eax, 0x8c470708
jg 0x4225bc
cmp eax, 0x8b6bfc03
je 0x422e93
cmp eax, 0x8be4f65e
jne 0x4217f0
movsx eax, byte [esi + 0x4b]
mov dword [esi + 0xf8], eax
mov eax, 0xfbb59106
jmp 0x4217f0
cmp eax, 0x4f09d23f
jg 0x422246
cmp eax, 0x4c6e52a7
jg 0x422605
cmp eax, 0x4b6d099b
je 0x422ed3
cmp eax, 0x4b9d766b
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov ebx, 0xb90b7f23
mov edi, 0x5bcf9094
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x5bcf9094
jmp 0x422bf4
cmp eax, 0xd71b80c4
jg 0x42262e
cmp eax, 0xcc2084dc
je 0x422f06
cmp eax, 0xd15d66a0
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov edi, 0x4b6d099b
mov ebx, 0xdc377e5
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdc377e5
jmp 0x4217c9
cmp eax, 0x2fd2f670
jg 0x42266a
cmp eax, 0x28e912b1
je 0x422f4b
cmp eax, 0x2e7babc6
jne 0x4217f0
mov eax, 0x4f09d240
jmp 0x4217f0
cmp eax, 0xb1d54d9e
jg 0x4226ce
cmp eax, 0xadef327d
je 0x422f55
cmp eax, 0xaed2f1e7
jne 0x4217f0
push eax
mov edi, dword [0x4aefd0]
mov edx, dword [0x4aefcc]
mov ecx, esp
mov dword [esi + 0xd0], ecx
lea eax, [edi + 1]
imul eax, edi
mov edi, 0xc9d0ddf8
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xdb290c5d
cmovne edi, ebx
cmp eax, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp edx, 0xa
cmovge eax, edi
jmp 0x4217f0
cmp eax, 0x6dd96662
jg 0x4226fa
cmp eax, 0x6839e5f4
je 0x422f7f
cmp eax, 0x6c84d5f0
jne 0x4217f0
movzx ecx, byte [esi + 0x48]
mov eax, 0x25e8c9f4
mov byte [esi + 0x25], cl
jmp 0x4217f0
cmp eax, 0xefd2d86b
jg 0x422727
cmp eax, 0xe757d607
je 0x422fcf
cmp eax, 0xeb80818a
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0xbec045d2
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, 0xa6c32b11
jmp 0x4236c2
cmp eax, 0x9f27695
jg 0x422752
cmp eax, 0x5e5940d
je 0x422fea
cmp eax, 0x7c451a5
jne 0x4217f0
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
sub ecx, eax
mov eax, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x68]
movsx eax, byte [eax]
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
push eax
push 1
push dword [edx]
call fcn.004256c0
mov eax, dword [esi + 0x1c]
mov ecx, 0xdf09f91c
mov eax, dword [eax]
cmp byte [eax + 1], 0
mov eax, 0x5036ad28
cmovg eax, ecx
jmp 0x4217f0
cmp eax, 0x8a0db0e7
jg 0x422772
cmp eax, 0x87a21d57
je 0x423043
cmp eax, 0x8827a2e7
jne 0x4217f0
mov eax, 0xa302169d
jmp 0x4217f0
cmp eax, 0x46d8af71
jg 0x4227a7
cmp eax, 0x4422d5cf
je 0x42309c
cmp eax, 0x457e6486
jne 0x4217f0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xdc]
cmp ecx, dword [eax]
mov eax, 0xd71b80c5
mov ecx, 0xdb78c5ce
cmova eax, ecx
jmp 0x4217f0
cmp eax, 0xc9d0ddf7
jg 0x4227c7
cmp eax, 0xbfc0a640
je 0x4230b9
cmp eax, 0xc09fe80a
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x3b11c5d6
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, 0x2446ecfb
jmp 0x4236c2
cmp eax, 0x251be034
jg 0x4227fc
cmp eax, 0x234de44d
je 0x4230cf
cmp eax, 0x2446ecfb
jne 0x4217f0
mov eax, 0x4b9d766b
jmp 0x4217f0
cmp eax, 0xaae7b19c
jg 0x422826
cmp eax, 0xa6c32b11
je 0x4230df
cmp eax, 0xa9e461e1
jne 0x4217f0
cmp byte [esi + 0x4d], 0
mov eax, 0xb766ffe8
mov ecx, 0x46d8af72
cmovne eax, ecx
mov dword [esi + 0x70], 0
jmp 0x4217f0
cmp eax, 0x5eb62a45
jg 0x422846
cmp eax, 0x5936a234
je 0x423110
cmp eax, 0x5bcf9094
jne 0x4217f0
mov eax, dword [esi + 0x54]
mov ecx, 0xba3a1284
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
add eax, 0x10
mov dword [esi + 0x10], eax
mov edx, dword [0x4aefc8]
mov edi, dword [0x4aefc4]
mov eax, 0xc5931abe
lea ebx, [edx - 1]
mov dword [esi + 0x90], edi
imul ebx, edx
mov edx, 0x6aa6cbc8
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete byte [esi + 0xa0]
cmove eax, edx
cmp edi, 0xa
mov edi, 0xc5931abe
cmovge eax, edi
setl dl
xor dl, byte [esi + 0xa0]
mov edx, 0x6aa6cbc8
mov edi, 0xdb63ca7d
cmovne eax, edx
mov edx, 0xc5931abe
cmovne edx, edi
cmp ebx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp dword [esi + 0x90], 0xa
cmovge ebx, edx
nop dword [eax + eax]
cmp ecx, 0xdb63ca7c
jle 0x422120
cmp ecx, 0xdb63ca7d
je 0x422137
cmp ecx, 0xe35a144a
je 0x42213b
cmp ecx, 0x6aa6cbc8
jne 0x4220f0
jmp 0x42314e
cmp ecx, 0xba3a1284
je 0x422140
cmp ecx, 0xc5931abe
jne 0x4220f0
mov ecx, 0xdb63ca7d
jmp 0x4220f0
mov ecx, eax
jmp 0x4220f0
mov ecx, ebx
jmp 0x4220f0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
call dword [eax]
mov byte [esi + 0x9c], al
mov ecx, 0xe35a144a
jmp 0x42207c
cmp eax, 0xe58488d3
jg 0x4228bd
cmp eax, 0xe3178800
je 0x42316b
cmp eax, 0xe390d225
jne 0x4217f0
mov eax, 0x98b8bc21
jmp 0x4217f0
cmp eax, 0x4d73f86
jg 0x4228dd
cmp eax, 0xff12c74f
je 0x423175
cmp eax, 0x2821a49
jne 0x4217f0
mov eax, dword [esi + 0x88]
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov ecx, dword [esi + 0x20]
push 0
call fcn.00424850
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0xb8]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0xb8]
mov ebx, dword [esi + 0x34]
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.004260d0
add esp, 0x18
mov eax, dword [esi + 0x88]
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, 0xbeec3461
jmp 0x4217f0
cmp eax, 0x98b8bc20
jg 0x422908
cmp eax, 0x8fb7d46e
je 0x42319f
cmp eax, 0x957c3c35
jne 0x4217f0
mov eax, dword [esi + 0x28]
mov eax, 0x6839e5f4
jmp 0x4217f0
cmp eax, 0x516a7e0b
jg 0x422963
cmp eax, 0x4f09d240
je 0x4231a9
cmp eax, 0x5036ad28
jne 0x4217f0
mov eax, 0xe58488d4
jmp 0x4217f0
cmp eax, 0xdb290c5d
je 0x4231bf
cmp eax, 0xdb78c5ce
jne 0x4217f0
mov eax, dword [esi + 0x78]
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x2c]
mov edx, 0x561123a8
mov ecx, dword [eax]
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xa4], ecx
cmp edx, 0x86c3f090
je 0x4231c9
cmp edx, 0x561123a8
jne 0x4222a0
mov ecx, dword [esi + 0xa4]
mov edx, 0x86c3f090
add ecx, 0x30
jmp 0x4222a0
cmp eax, 0x322d051b
je 0x423231
cmp eax, 0x3660eee6
jne 0x4217f0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x104], eax
mov eax, 0x322d051b
jmp 0x4217f0
cmp eax, 0xb51fb737
je 0x423255
cmp eax, 0xb64c9aa0
jne 0x4217f0
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov eax, 0x20994f24
jmp 0x4217f0
cmp eax, 0x71a1b5fe
je 0x42325f
cmp eax, 0x7466faea
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov eax, dword [0x4aefcc]
mov edi, 0x28e912b1
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, 0xe30693f7
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0x38]
cmovge ecx, edx
mov eax, dword [eax]
mov dword [esi + 0x118], eax
mov eax, ecx
jmp 0x4217f0
cmp eax, 0xf0c1e3d5
je 0x4232b8
cmp eax, 0xf592f5ad
jne 0x4217f0
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x20]
mov eax, dword [esi + 0x28]
mov dword [eax], ecx
movzx ecx, byte [ebp + 0x1c]
mov eax, dword [esi + 0x74]
mov byte [eax], cl
mov ecx, dword [ebp + 0x18]
mov eax, dword [esi + 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0xa8]
mov dword [eax], ecx
mov ecx, 0x4c6e52a8
mov eax, dword [esi + 0xa8]
mov eax, dword [eax]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov dword [esi + 0x98], 0
cmp dword [eax], 0
mov eax, 0xcc2084dc
cmove eax, ecx
jmp 0x4217f0
cmp eax, 0xf0ae206
je 0x4232ff
cmp eax, 0xf35d84d
jne 0x4217f0
movzx eax, byte [esi + 0x4c]
cmp al, 0x7f
mov eax, 0xa9e461e1
setne byte [esi + 0x4d]
jmp 0x4217f0
cmp eax, 0x86708565
je 0x423314
cmp eax, 0x86b6c481
jne 0x4217f0
mov eax, dword [esi + 0x110]
inc eax
mov dword [esi + 0x114], eax
mov eax, 0xbd9f3485
jmp 0x4217f0
cmp eax, 0x426b5372
je 0x423328
cmp eax, 0x42fc5c10
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov ebx, 0x9e6308db
mov edi, 0x5801b8ed
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5801b8ed
jmp 0x423131
cmp eax, 0xbec045d2
je 0x423332
cmp eax, 0xbeec3461
jne 0x4217f0
mov eax, dword [esi + 0x88]
mov eax, 0x8b6bfc03
jmp 0x4217f0
cmp eax, 0x20994f24
je 0x42333f
cmp eax, 0x2292ca1d
jne 0x4217f0
mov eax, dword [esi + 0xd8]
add eax, 2
mov dword [esi + 0xdc], eax
mov eax, 0x457e6486
jmp 0x4217f0
cmp eax, 0xa1c6138d
je 0x423349
cmp eax, 0xa302169d
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov eax, dword [0x4aefcc]
mov edi, 0x4eb30cbd
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, 0x6057d655
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x8c]
cmovge ecx, edi
mov eax, ecx
jmp 0x4217f0
cmp eax, 0x57c9a6cf
je 0x421780
cmp eax, 0x5801b8ed
jne 0x4217f0
mov eax, 0x42fc5c10
jmp 0x4217f0
cmp eax, 0xe274f73b
je 0x423364
cmp eax, 0xe30693f7
jne 0x4217f0
mov eax, dword [esi + 0x38]
mov eax, 0x7466faea
jmp 0x4217f0
cmp eax, 0xfbb59106
je 0x42336e
cmp eax, 0xfc2e0354
jne 0x4217f0
mov eax, dword [esi + 0x2c]
mov ecx, 0x97dc2d60
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
nop
cmp ecx, 0x97dc2d60
je 0x4225b5
cmp ecx, 0x12cfa0a4
jne 0x4225a0
jmp 0x423387
mov ecx, 0x12cfa0a4
jmp 0x4225a0
cmp eax, 0x8c470709
je 0x4233b4
cmp eax, 0x8f903c11
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0xf9d4cd21
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, 0xbdc70aa4
jmp 0x4236c2
cmp eax, 0x4c6e52a8
je 0x42344a
cmp eax, 0x4eb30cbd
jne 0x4217f0
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
mov eax, 0x6057d655
jmp 0x4217f0
cmp eax, 0xd71b80c5
je 0x42348c
cmp eax, 0xd8c529b9
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov edi, 0x7466faea
mov ebx, 0xe30693f7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe30693f7
jmp 0x4217c9
cmp eax, 0x2fd2f671
je 0x4234ac
cmp eax, 0x30e99846
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0xf83dd7cb
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, 0xbfc0a640
cmovne edi, ebx
test edx, eax
movzx edx, byte [esi + 0x27]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
cmp dl, 0x7f
setne byte [esi + 0x4a]
jmp 0x4217f0
cmp eax, 0xb1d54d9f
je 0x423551
cmp eax, 0xb27e9f9c
jne 0x4217f0
mov eax, dword [esi + 0xc4]
mov eax, dword [esi + 0xc8]
mov eax, 0x5e5940d
jmp 0x4217f0
cmp eax, 0x6dd96663
je 0x423566
cmp eax, 0x704c64e8
jne 0x4217f0
mov eax, dword [esi + 0x38]
cmp dword [eax], 0x100
mov eax, 0x8b3b280c
setne byte [esi + 0x53]
jmp 0x4217f0
cmp eax, 0xefd2d86c
je 0x423573
cmp eax, 0xf06ce68f
jne 0x4217f0
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0xe4], eax
mov eax, 0xf86afe80
jmp 0x4217f0
cmp eax, 0x9f27696
je 0x423599
cmp eax, 0xdc377e5
jne 0x4217f0
mov eax, 0x4b6d099b
jmp 0x4217f0
cmp eax, 0x8a0db0e8
je 0x4235ae
cmp eax, 0x8b3b280c
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov edi, 0xf8da2f30
mov ebx, 0x4d73f87
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x4d73f87
jmp 0x4217c1
cmp eax, 0x46d8af72
je 0x423655
cmp eax, 0x486a8770
jne 0x4217f0
mov eax, 0xf35d84d
jmp 0x4217f0
cmp eax, 0xc9d0ddf8
je 0x42366a
cmp eax, 0xcaa25eb1
jne 0x4217f0
mov eax, dword [0x4aefd0]
mov edi, 0x71a1b5fe
mov ebx, 0x234de44d
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x234de44d
jmp 0x4217c1
cmp eax, 0x251be035
je 0x423674
cmp eax, 0x25e8c9f4
jne 0x4217f0
movzx ecx, byte [esi + 0x25]
mov eax, 0x4c6e52a8
mov dword [esi + 0x98], ecx
jmp 0x4217f0
cmp eax, 0xaae7b19d
je 0x4217a4
cmp eax, 0xac3425a4
jne 0x4217f0
mov eax, 0x3b6433af
jmp 0x4217f0
cmp eax, 0x5eb62a46
je 0x42368a
cmp eax, 0x6057d655
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov eax, dword [0x4aefcc]
mov edi, 0x8fb7d46e
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, 0x4eb30cbd
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esi + 0x18]
cmovge ecx, edx
mov eax, dword [eax]
mov edx, dword [esi + 4]
sub eax, dword [edx]
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x120], eax
mov eax, ecx
jmp 0x4217f0
cmp eax, 0xe58488d4
je 0x423694
cmp eax, 0xe6d0d95e
jne 0x4217f0
mov eax, 0x6dd96663
jmp 0x4217f0
cmp eax, 0x4d73f87
je 0x4236d7
cmp eax, 0x57a4306
jne 0x4217f0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xcc]
mov dword [eax], ecx
mov eax, 0xadef327d
jmp 0x4217f0
cmp eax, 0x98b8bc21
je 0x4236e1
cmp eax, 0x9b3af7e4
jne 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x42fc5c10
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, 0x5801b8ed
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4217f0
cmp eax, 0x516a7e0c
je 0x423725
cmp eax, 0x543de721
jne 0x4217f0
cmp byte [esi + 0x53], 0
mov eax, 0xd8c529b9
mov ecx, 0x87a21d57
cmovne eax, ecx
jmp 0x4217f0
mov eax, 0xe3178800
jmp 0x4217f0
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov ecx, dword [esi + 0x20]
push 0
call fcn.00424850
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0x84]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x84]
mov ebx, dword [esi + 0x34]
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.004260d0
add esp, 0x18
mov eax, dword [esi + 0x3c]
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x6c]
mov eax, 0x2fd2f671
jmp 0x4217f0
cmp byte [esi + 0x46], 0
mov eax, 0x577c380c
mov ecx, 0x25e8c9f4
mov byte [esi + 0x25], 1
cmovne eax, ecx
jmp 0x4217f0
mov eax, 0xc09fe80a
jmp 0x4217f0
test byte [esi + 0x70], 1
mov eax, 0x853c2469
mov ecx, 0x3660eee6
cmovne eax, ecx
jmp 0x4217f0
mov eax, dword [esi + 0x54]
mov ecx, 0xba3a1284
mov eax, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
add eax, 0x10
mov dword [esi + 0x10], eax
mov edx, dword [0x4aefc4]
mov eax, dword [0x4aefc8]
mov edi, 0x6aa6cbc8
cmp edx, 0xa
mov dword [esi + 0xa0], edx
lea edx, [eax + 1]
setl bl
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov dword [esi + 0x9c], eax
mov eax, 0xc5931abe
sete bh
xor bh, bl
mov ebx, 0xc5931abe
cmovne ebx, edi
mov edi, 0xdb63ca7d
cmovne eax, edi
test dword [esi + 0x9c], edx
mov edi, ebx
mov edx, 0xdb63ca7d
mov dword [esi + 0x90], eax
mov eax, 0x6aa6cbc8
cmove ebx, eax
mov eax, dword [esi + 0x90]
cmove eax, edx
cmp dword [esi + 0xa0], 0xa
cmovge eax, dword [esi + 0x90]
cmovge ebx, edi
nop word [eax + eax]
cmp ecx, 0xdb63ca7c
jle 0x422b10
cmp ecx, 0xdb63ca7d
je 0x422b27
cmp ecx, 0xe35a144a
je 0x422b2b
cmp ecx, 0x6aa6cbc8
jne 0x422ae0
jmp 0x42375c
cmp ecx, 0xba3a1284
je 0x422b30
cmp ecx, 0xc5931abe
jne 0x422ae0
mov ecx, 0xdb63ca7d
jmp 0x422ae0
mov ecx, ebx
jmp 0x422ae0
mov ecx, eax
jmp 0x422ae0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
call dword [eax]
mov byte [esi + 0x43], al
mov ecx, 0xe35a144a
jmp 0x422a59
mov eax, dword [esi + 0xf4]
add eax, 2
mov dword [esi + 0xcc], eax
mov eax, 0x103113df
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x486a8770
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, 0x1ef69e7d
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x1c]
cmovge eax, edx
mov ecx, dword [ecx]
movzx ecx, byte [ecx]
mov byte [esi + 0x4c], cl
jmp 0x4217f0
movzx eax, byte [esi + 0x27]
mov eax, 0x30e99846
jmp 0x4217f0
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xe4]
cmp byte [eax + ecx + 1], 0x78
mov eax, 0x251be035
sete byte [esi + 0x49]
jmp 0x4217f0
mov eax, dword [0x4aefd0]
mov ebx, 0xadef327d
mov edi, 0x57a4306
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x57a4306
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x423131
cmp byte [esi + 0x52], 0
mov eax, 0x516a7e0c
jmp 0x422c15
cmp byte [esi + 0x51], 0
mov eax, 0xe0df6099
mov ecx, 0xb64c9aa0
cmovne eax, ecx
jmp 0x4217f0
movzx eax, byte [esi + 0x26]
mov ebx, 0x3af496ee
mov edi, 0xf9d4cd21
cmp al, 0x2b
mov eax, dword [0x4aefd0]
sete byte [esi + 0x46]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf9d4cd21
jmp 0x423131
mov ecx, dword [esi + 0x58]
mov eax, dword [esi + 0x10]
push dword [esi + 0x124]
push dword [esi + 0xc]
push dword [esi + 8]
call eax
mov eax, dword [esi + 0x54]
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x2c]
mov edx, 0x561123a8
mov ecx, dword [eax]
mov eax, dword [esi + 0x60]
mov dword [esi + 0xa4], ecx
nop
cmp edx, 0x86c3f090
je 0x423792
cmp edx, 0x561123a8
jne 0x422c80
mov ecx, dword [esi + 0xa4]
mov edx, 0x86c3f090
add ecx, 0x30
jmp 0x422c80
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x5eb62a46
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, 0x5936a234
jmp 0x4236c2
cmp byte [esi + 0x4e], 0
mov eax, 0x9b3af7e4
setg byte [esi + 0x4f]
jmp 0x4217f0
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x47], al
mov eax, 0x86708565
jmp 0x4217f0
push eax
mov eax, esp
mov dword [esi + 0x18], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0xa8], eax
push eax
mov eax, esp
mov dword [esi + 4], eax
push eax
mov eax, esp
mov dword [esi + 0x78], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x20], eax
push eax
mov eax, esp
mov dword [esi + 0x54], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x60], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x68], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x7c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xac], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xb0], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x84], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x6c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xb4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x88], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xb8], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x8c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xbc], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xc0], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xd0]
mov dword [eax], ecx
mov eax, 0xf592f5ad
jmp 0x4217f0
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
cmp dword [ecx], eax
mov eax, 0x81a313c8
setae byte [esi + 0x52]
jmp 0x4217f0
mov eax, dword [esi + 0x30]
lea edi, [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0x74]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0xb4]
vmovsd xmm0, qword [edi]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0xb4]
mov ebx, dword [esi + 0x34]
sub esp, 0x18
vmovsd xmm0, qword [edi]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00425c60
add esp, 0x18
mov eax, dword [esi + 0x6c]
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x6c]
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov eax, 0x8b6bfc03
jmp 0x4217f0
mov eax, dword [0x4aefd0]
mov edi, 0x98b8bc21
mov ebx, 0xe390d225
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xe390d225
sete al
cmove ecx, edi
cmp dword [0x4aefcc], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
mov eax, ecx
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0xdc377e5
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, 0x6c84d5f0
jmp 0x4236c2
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x6839e5f4
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, 0x957c3c35
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4217f0
mov eax, 0x4422d5cf
jmp 0x4217f0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xcc]
mov edi, 0xe274f73b
mov ebx, 0x57a4306
mov dword [eax], ecx
mov eax, dword [0x4aefd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x57a4306
jmp 0x4217c1
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x2e7babc6
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, 0x957c3c35
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x28]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0xd4], ecx
jmp 0x4217f0
mov eax, dword [esi + 0xf0]
mov ecx, 0xf0ae206
cmp eax, 0x58
mov eax, 0xdb78c5ce
cmove eax, ecx
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov ebx, 0xb51fb737
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xb27e9f9c
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0xc4]
mov edi, dword [esi + 0xc8]
cmovge eax, edx
movsx ecx, byte [ecx + edi]
mov dword [esi + 0xe0], ecx
jmp 0x4217f0
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x30]
lea edi, [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0x74]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0xac]
vmovsd xmm0, qword [edi]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x7c]
mov edi, dword [esi + 0xac]
mov ebx, dword [esi + 0x34]
sub esp, 0x18
vmovsd xmm0, qword [edi]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00425c60
add esp, 0x18
mov eax, 0x8c470709
jmp 0x4217f0
mov eax, dword [esi + 0x118]
mov ecx, 0xf0c1e3d5
cmp eax, 0x100
mov eax, 0x2821a49
cmove eax, ecx
jmp 0x4217f0
cmp byte [esi + 0x4a], 0
mov eax, 0x8a0db0e8
mov ecx, 0x9f27696
cmovne eax, ecx
jmp 0x4217f0
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 4]
mov eax, 0x71a1b5fe
jmp 0x4217f0
mov eax, dword [esi + 0x1c]
mov edi, 0x3f45feea
mov ebx, 0xbec045d2
mov eax, dword [eax]
mov dword [esi + 0xfc], eax
mov eax, dword [0x4aefd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xbec045d2
jmp 0x4217c9
mov eax, dword [0x4aefd0]
mov ebx, 0xe6d0d95e
mov edi, 0x5eb62a46
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5eb62a46
sete cl
cmove eax, ebx
cmp dword [0x4aefcc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4217f0
movzx eax, byte [esi + 0x9c]
mov byte [esi + 0xc], al
movzx eax, byte [esi + 0xc]
mov ecx, dword [esi + 0x68]
mov byte [ecx], al
mov eax, 0xb90b7f23
jmp 0x4217f0
mov eax, 0xe58488d4
jmp 0x4217f0
movzx ecx, byte [esi + 0x44]
movzx eax, byte [esi + 0x45]
mov edi, 0xaed2f1e7
mov edx, ecx
xor dl, al
mov edx, 0xc9d0ddf8
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4217f0
mov eax, 0x141ed6ea
jmp 0x4217f0
mov eax, dword [esi + 0xd4]
movzx eax, byte [eax]
mov byte [esi + 0x26], al
mov eax, 0x8f903c11
jmp 0x4217f0
mov eax, 0xe030b369
jmp 0x4217f0
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x58]
mov ecx, dword [ecx]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x124]
mov eax, dword [esi + 0x124]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov ecx, 0xbcf77c33
mov eax, dword [esi + 0x124]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 8], eax
nop word cs:[eax + eax]
cmp ecx, 0x46e59eca
je 0x4237f1
cmp ecx, 0xbcf77c33
jne 0x423210
mov eax, dword [esi + 8]
mov ecx, 0x46e59eca
mov eax, dword [eax + 4]
jmp 0x423210
mov eax, dword [esi + 0x104]
movsx eax, byte [eax]
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x10c], eax
mov eax, 0x7c451a5
jmp 0x4217f0
mov eax, 0xa1c6138d
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov ebx, 0xac3425a4
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x234de44d
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x28]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0xe8], ecx
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov dword [esi + 0xec], ecx
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov eax, dword [0x4aefcc]
mov edi, 0xdd092afc
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, 0x2fd2f671
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x3c]
cmovge ecx, edi
mov eax, ecx
jmp 0x4217f0
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xf4], eax
mov eax, 0x74dffa43
jmp 0x4217f0
movzx eax, byte [esi + 0x47]
cmp al, 0x2d
mov eax, 0xd15d66a0
sete byte [esi + 0x48]
jmp 0x4217f0
mov eax, 0xf8e2e14a
jmp 0x4217f0
mov eax, dword [esi + 0x1c]
mov eax, 0xa6c32b11
jmp 0x4217f0
mov eax, 0x6dd96663
jmp 0x4217f0
mov eax, dword [esi + 0xe0]
mov ecx, 0xf06ce68f
cmp eax, 0x30
mov eax, 0xdb78c5ce
cmove eax, ecx
jmp 0x4217f0
mov eax, 0xdb78c5ce
jmp 0x4217f0
cmp dword [esi + 0xf8], 0
mov eax, 0x8a0db0e8
mov ecx, 0xaae7b19d
cmovg eax, ecx
jmp 0x4217f0
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov eax, dword [esi + 0x38]
mov dword [eax], ecx
mov ecx, 0xd8c529b9
mov eax, dword [esi + 0x38]
cmp dword [eax], 0x40
mov eax, 0x704c64e8
cmove eax, ecx
jmp 0x4217f0
mov eax, dword [esi + 0x7c]
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x90], xmm0
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x30]
mov dword [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov ecx, dword [esi + 0x20]
push 0
call fcn.00424850
mov ecx, dword [esi + 0xb0]
vmovsd xmm0, qword [esi + 0x90]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x34]
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.004260d0
add esp, 0x18
mov eax, dword [esi + 0x80]
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x80]
mov eax, 0xa302169d
jmp 0x4217f0
movzx eax, byte [esi + 0x98]
mov ecx, dword [esi + 4]
and eax, 1
mov dword [ecx], eax
mov ecx, 0x97dc2d60
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
nop word cs:[eax + eax]
cmp ecx, 0x97dc2d60
je 0x423485
cmp ecx, 0x12cfa0a4
jne 0x423470
jmp 0x423871
mov ecx, 0x12cfa0a4
jmp 0x423470
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xc8], eax
mov eax, 0xefd2d86c
jmp 0x4217f0
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov ecx, dword [esi + 0x20]
push 0
call fcn.00424850
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0x84]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x84]
mov ebx, dword [esi + 0x34]
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.004260d0
add esp, 0x18
mov eax, dword [esi + 0x3c]
mov ebx, 0x426b5372
mov edi, 0xdd092afc
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0x10]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x6c]
mov eax, dword [0x4aefd0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xdd092afc
sete al
cmove ecx, ebx
cmp dword [0x4aefcc], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
mov eax, ecx
jmp 0x4217f0
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xd8], eax
mov eax, 0x2292ca1d
jmp 0x4217f0
mov eax, dword [esi + 0x38]
mov eax, 0xfc2e0354
jmp 0x4217f0
mov eax, dword [0x4aefd0]
mov edi, 0x5e5940d
mov ebx, 0xb27e9f9c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xb27e9f9c
jmp 0x4217c9
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x4b], al
mov eax, 0x8be4f65e
jmp 0x4217f0
mov eax, dword [esi + 0x20]
mov ecx, dword [0x4af018]
mov ebx, 0x1687b172
mov dword [esi + 8], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4af014], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0x56eab8cb
not dl
or dl, ch
mov ecx, 0xd055c2b4
test dl, 1
mov edx, 0x24c55289
cmovne eax, ecx
mov ecx, 0x56eab8cb
cmovne ecx, edx
nop dword [eax]
cmp ebx, 0x24c55288
jle 0x423630
cmp ebx, 0x7d42c0d8
je 0x423895
cmp ebx, 0x56eab8cb
je 0x423644
cmp ebx, 0x24c55289
jne 0x423600
mov edx, dword [esi + 8]
mov ebx, eax
jmp 0x423600
cmp ebx, 0xd055c2b4
je 0x42364e
cmp ebx, 0x1687b172
jne 0x423600
mov ebx, ecx
jmp 0x423600
mov edi, dword [esi + 8]
mov ebx, 0x24c55289
jmp 0x423600
mov ebx, 0x7d42c0d8
jmp 0x423600
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x4e], al
mov eax, 0x9bd03e8c
jmp 0x4217f0
mov eax, 0xaed2f1e7
jmp 0x4217f0
cmp byte [esi + 0x49], 0
mov eax, 0xcaa25eb1
mov ecx, 0xf0ae206
cmovne eax, ecx
jmp 0x4217f0
mov eax, 0x5936a234
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov ecx, dword [0x4aefcc]
mov edi, 0x1ef69e7d
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, 0x75932589
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4217f0
mov eax, 0xf8da2f30
jmp 0x4217f0
mov edx, dword [0x4aefd0]
mov eax, dword [0x4aefcc]
mov edi, 0xe390d225
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, 0x8827a2e7
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov eax, ecx
jmp 0x4217f0
mov eax, dword [esi + 0x2c]
mov edx, 0xcbbf6d18
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
nop word cs:[eax + eax]
cmp edx, 0xcbbf6d18
je 0x423755
cmp edx, 0x7a156984
jne 0x423740
jmp 0x4238dc
mov edx, 0x7a156984
jmp 0x423740
movzx eax, byte [esi + 0x43]
mov edi, 0xdb8208bb
mov ebx, 0x5bcf9094
mov byte [esi + 0xc], al
movzx eax, byte [esi + 0xc]
mov ecx, dword [esi + 0x68]
mov byte [ecx], al
mov eax, dword [0x4aefd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5bcf9094
jmp 0x4217c9
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x58]
mov ecx, dword [ecx]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x124]
mov eax, dword [esi + 0x124]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov ecx, 0xbcf77c33
mov eax, dword [esi + 0x124]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 8], eax
nop dword [eax + eax]
cmp ecx, 0x46e59eca
je 0x4238fc
cmp ecx, 0xbcf77c33
jne 0x4237d0
mov eax, dword [esi + 8]
mov ecx, 0x46e59eca
mov eax, dword [eax + 4]
jmp 0x4237d0
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
call eax
mov eax, dword [esi + 0x124]
push dword [esi + 0x5c]
call fcn.00423f60
add esp, 4
mov ecx, dword [esi + 0x5c]
mov ebx, eax
call fcn.0041a4f0
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x78]
mov dword [eax], ebx
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov ebx, dword [eax]
mov eax, dword [esi + 0x20]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
mov eax, 0x1e868a22
nop dword [eax + eax]
cmp eax, 0xf064696
je 0x423961
cmp eax, 0x1e868a22
jne 0x423840
mov ecx, dword [esi + 8]
sub esp, 4
movzx eax, byte [esi + 0x124]
mov byte [esp], al
call fcn.0040a510
mov dword [esi + 0x10], ebx
mov eax, 0xf064696
jmp 0x423840
mov dword [esi + 0x10], eax
mov ecx, 0xb1d54d9f
mov eax, dword [esi + 0x10]
not eax
or eax, 0xfffff1ff
cmp eax, 0xfffff7ff
mov eax, 0xdb78c5ce
cmove eax, ecx
jmp 0x4217f0
mov dword [esi + 0x10], edx
mov edx, 0xcbbf6d18
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
nop word cs:[eax + eax]
cmp edx, 0xcbbf6d18
je 0x4238d5
cmp edx, 0x7a156984
jne 0x4238c0
jmp 0x42397b
mov edx, 0x7a156984
jmp 0x4238c0
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
sub eax, dword [ecx]
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, 0x1d8d6007
jmp 0x4217f0
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
call eax
mov eax, dword [esi + 0x124]
push dword [esi + 0x60]
call fcn.00424a90
add esp, 4
mov ecx, dword [esi + 0x60]
mov ebx, eax
call fcn.0041a4f0
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x54]
mov dword [eax], ebx
mov eax, dword [esi + 0x64]
mov eax, dword [esi + 0x54]
mov ecx, dword [eax]
push dword [esi + 0x64]
call fcn.00425280
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x64]
push 0
call fcn.00425490
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esi + 0x27], al
mov eax, 0x7f3f3896
jmp 0x4217f0
mov ecx, dword [esi + 0xc]
push dword [esi + 0x10]
push 0
call fcn.00429550
mov eax, dword [esi + 0xc]
mov eax, 0xbe36b975
jmp 0x4217f0
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp ecx, 1
sbb eax, 0
mov eax, 0x3dbcff77
setl byte [esi + 0x51]
jmp 0x4217f0
cmp eax, 0x141ed6ea
jne 0x4217f0
mov ecx, dword [esi + 0x20]
push dword [esi + 0x120]
call fcn.00424850
lea edx, [ebp + 0x10]
mov ecx, dword [esi + 0xbc]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0xbc]
mov edi, dword [esi + 0x34]
mov ebx, dword [esi + 0x11c]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.004260d0
add esp, 0x18
mov eax, dword [esi + 0x8c]
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x90], xmm0
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
push 0
push 0
call fcn.004109e0
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x74]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0xc0]
vmovsd xmm0, qword [esi + 0x90]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0xc0]
mov edi, dword [esi + 0x34]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edi
call fcn.00425c60
add esp, 0x18
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x64]
call section..text
mov eax, dword [esi + 0x64]
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x20]
call section..text
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x78]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x128]
xor ecx, ebp
call fcn.00437ee0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret