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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov esi, esp
mov dword [esi + 0x4c], ecx
mov eax, dword [0x4a12c0]
xor eax, ebp
mov dword [esi + 0xc0], eax
movzx eax, byte [ebp + 0x1c]
mov dword [esi + 0x48], eax
mov eax, 0x6d5505c6
jmp 0x4211e0
mov dword [esi], eax
lea ecx, [esi + 0xa8]
mov ebx, dword [esi]
call fcn.00419520
lea edx, [ebp + 0xc]
mov ecx, dword [esi + 0x24]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
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.004280e0
add esp, 0x18
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 0x14]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov eax, dword [esi + 0x10]
push 0
push 0
call fcn.00410430
mov eax, dword [esi + 0xc]
mov dword [esi + 0x60], eax
movzx eax, byte [ebp + 0x18]
mov byte [esi + 0x1b], al
mov eax, dword [esi + 0x2c]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov edi, 0x8f1d8ccb
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
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, 0x8f052355
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
nop
cmp eax, 0xf672a135
jle 0x421250
cmp eax, 0x2e7393e9
jle 0x4212c0
cmp eax, 0x61479c1d
jg 0x421437
cmp eax, 0x49a699b6
jg 0x421592
cmp eax, 0x458a92d4
jg 0x42188d
cmp eax, 0x2e7393ea
je 0x421bc3
cmp eax, 0x4208c7e2
jne 0x4211e0
mov eax, 0x5143d4b9
nop word [eax + eax]
cmp eax, 0x5143d4b9
je 0x421243
cmp eax, 0x845f2e35
jne 0x421230
jmp 0x421c02
mov eax, 0x845f2e35
jmp 0x421230
cmp eax, 0xcf5a4665
jg 0x421310
cmp eax, 0xa535ae98
jle 0x4214b2
cmp eax, 0xb7990be3
jg 0x4215bd
cmp eax, 0xb0d545ac
jg 0x4219c2
cmp eax, 0xa535ae99
je 0x421c19
cmp eax, 0xa9aab9c1
jne 0x4211e0
mov eax, dword [0x4a2fe0]
mov edi, 0x769a2ce
mov ebx, 0x6cf999ac
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x6cf999ac
jmp 0x422108
cmp eax, 0x122a65ff
jle 0x421511
cmp eax, 0x1e749e0a
jg 0x4216a5
cmp eax, 0x18fb93ec
jg 0x421a0b
cmp eax, 0x122a6600
je 0x421c30
cmp eax, 0x127d9aa9
jne 0x4211e0
cmp byte [esi + 0x1a], 0
mov eax, 0x458a92d5
mov ecx, 0xdbf823f
cmovne eax, ecx
jmp 0x4211e0
cmp eax, 0xe1989edb
jle 0x421547
cmp eax, 0xecc125a9
jg 0x421701
cmp eax, 0xe29789c1
jg 0x421a2b
cmp eax, 0xe1989edc
je 0x421c66
cmp eax, 0xe1a4ee22
jne 0x4211e0
mov eax, 0xb844e47f
nop dword [eax]
cmp eax, 0xd690659e
jle 0x421380
cmp eax, 0xd690659f
je 0x4213cd
cmp eax, 0xfe72c746
je 0x421410
cmp eax, 0x69fd2979
jne 0x421350
jmp 0x421ca1
cmp eax, 0xb844e47f
je 0x42141a
cmp eax, 0xc800a191
jne 0x421350
mov eax, dword [0x4a2fd8]
mov edi, 0x69fd2979
mov ebx, 0xfe72c746
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xfe72c746
sete cl
cmove eax, edi
cmp dword [0x4a2fd4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x421350
mov edx, dword [0x4a2fd8]
mov ecx, dword [0x4a2fd4]
mov edi, 0xfe72c746
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, 0xc800a191
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x421350
mov eax, 0xc800a191
jmp 0x421350
lea eax, [esi + 0xa8]
mov dword [esi], eax
lea eax, [esi + 0x78]
mov ecx, dword [esi]
push eax
call fcn.00437390
mov eax, 0xd690659f
jmp 0x421350
cmp eax, 0x72f19e32
jg 0x421734
cmp eax, 0x6cf999ab
jg 0x421a4b
cmp eax, 0x61479c1e
je 0x421cad
cmp eax, 0x617bb84c
jne 0x4211e0
lea ecx, [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x68], ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x50]
movsx edi, byte [esi + 0x17]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x64]
mov ebx, dword [ebp + 0x14]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ebx
mov dword [esp], edi
call eax
mov eax, 0xe29789c2
jmp 0x4211e0
cmp eax, 0x8f052354
jle 0x42175f
cmp eax, 0x9db88f7d
jg 0x421a72
cmp eax, 0x8f052355
je 0x421cd3
cmp eax, 0x8f1d8ccb
jne 0x4211e0
lea eax, [esi + 0xa8]
mov ecx, 0x7023846f
mov dword [esi + 4], eax
nop dword [eax]
cmp ecx, 0x9dbe4c7
je 0x421cdd
cmp ecx, 0x7023846f
jne 0x4214f0
mov eax, dword [esi + 4]
mov ecx, 0x9dbe4c7
mov eax, dword [eax + 0x10]
jmp 0x4214f0
cmp eax, 0x769a2cd
jle 0x4217cb
cmp eax, 0xa4c8a0b
jg 0x421a92
cmp eax, 0x769a2ce
je 0x421d58
cmp eax, 0x887a218
jne 0x4211e0
mov eax, 0xd606cd8e
jmp 0x4211e0
cmp eax, 0xd9721749
jle 0x42184d
cmp eax, 0xdc8a3e6b
jg 0x421abb
cmp eax, 0xd972174a
je 0x421d7a
cmp eax, 0xda735e8b
jne 0x4211e0
mov eax, dword [0x4a2fe0]
mov edi, 0xe1a4ee22
mov ebx, 0x8836ed4b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x8836ed4b
jmp 0x421b37
cmp eax, 0x52578413
jg 0x421ae7
cmp eax, 0x49a699b7
je 0x421d84
cmp eax, 0x4f6d5e12
jne 0x4211e0
mov eax, 0xb7990be4
jmp 0x4211e0
cmp eax, 0xbeacff40
jg 0x421b07
cmp eax, 0xb7990be4
je 0x421db7
cmp eax, 0xb79f1098
jne 0x4211e0
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov eax, dword [0x4a2fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x4a2fcc], 0xa
setge dl
setl ah
or dl, al
xor ah, cl
mov ecx, 0x71563057
xor dl, 1
or dl, ah
mov eax, 0xdf00ef4a
mov edx, 0x3082c8e8
cmovne eax, ecx
mov ecx, 0xdf00ef4a
cmovne ecx, edx
mov edx, 0x1b5b42aa
nop word cs:[eax + eax]
cmp edx, 0x3082c8e7
jle 0x421680
cmp edx, 0x71563057
je 0x421694
cmp edx, 0x378a6557
je 0x421dd6
cmp edx, 0x3082c8e8
jne 0x421640
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov dword [esi], edx
mov edx, eax
jmp 0x421640
cmp edx, 0xdf00ef4a
je 0x42169b
cmp edx, 0x1b5b42aa
jne 0x421640
mov edx, ecx
jmp 0x421640
mov edx, 0x378a6557
jmp 0x421640
mov edx, dword [esi + 4]
mov edx, 0x3082c8e8
jmp 0x421640
cmp eax, 0x2c42c3ae
jg 0x421b44
cmp eax, 0x1e749e0b
je 0x421deb
cmp eax, 0x2b30cbdd
jne 0x4211e0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov ecx, 0x7023846f
mov dword [esi + 0x54], eax
lea eax, [esi + 0xa8]
mov dword [esi + 4], eax
nop dword [eax]
cmp ecx, 0x9dbe4c7
je 0x421e21
cmp ecx, 0x7023846f
jne 0x4216e0
mov eax, dword [esi + 4]
mov ecx, 0x9dbe4c7
mov eax, dword [eax + 0x10]
jmp 0x4216e0
cmp eax, 0xef48bbeb
jg 0x421b64
cmp eax, 0xecc125aa
je 0x421e47
cmp eax, 0xedc5d5e3
jne 0x4211e0
mov ecx, dword [ebp + 0x14]
call fcn.0040fbd0
mov eax, 0xb0d545ad
jmp 0x4211e0
cmp eax, 0x7d703cc3
jg 0x421bae
cmp eax, 0x72f19e33
je 0x421e58
cmp eax, 0x7d25568a
jne 0x4211e0
mov eax, 0x127d9aa9
jmp 0x4211e0
cmp eax, 0x88200023
je 0x421e7a
cmp eax, 0x8836ed4b
je 0x421e94
cmp eax, 0x8da38b61
jne 0x4211e0
lea ecx, [esi + 0x70]
call fcn.0041b2e0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x28], eax
lea eax, [esi + 0xa8]
mov dword [esi + 4], eax
mov eax, 0x4823a8d2
nop dword [eax]
cmp eax, 0x1a4cbcd7
je 0x421f8a
cmp eax, 0x4823a8d2
jne 0x4217a0
mov ecx, dword [esi + 4]
sub esp, 4
movzx eax, byte [esi + 0x6c]
mov byte [esp], al
call fcn.0040aa10
mov eax, 0x1a4cbcd7
jmp 0x4217a0
cmp eax, 0xf672a136
je 0x421fd1
cmp eax, 0xfa765782
je 0x421ffa
cmp eax, 0xfe497b73
jne 0x4211e0
lea ebx, [ebp + 0xc]
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [ebx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x5c]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
movsx ecx, byte [ebp + 0x18]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00427bd0
add esp, 0x18
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x20]
mov eax, 0x458a92d5
mov dword [esi + 0xc], 0
jmp 0x4211e0
cmp eax, 0xcf5a4666
je 0x422031
cmp eax, 0xd459f8e0
je 0x422047
cmp eax, 0xd606cd8e
jne 0x4211e0
mov eax, dword [0x4a2fe0]
mov edi, 0x5fb0bd57
mov ebx, 0x887a218
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x887a218
jmp 0x421b37
cmp eax, 0x458a92d5
je 0x42209b
cmp eax, 0x4846009c
jne 0x4211e0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x60]
movsx edi, byte [esi + 0x1b]
sub esp, 0x18
vmovsd xmm0, qword [eax]
mov eax, dword [ebp + 8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00427bd0
add esp, 0x18
mov eax, 0xbc7af574
nop dword [eax]
cmp eax, 0x1fc136a5
jle 0x421950
cmp eax, 0x1fc136a6
je 0x4220bd
cmp eax, 0x4c4e52be
je 0x421968
cmp eax, 0x5bd84e7f
jne 0x4218e0
lea eax, [esi + 0xa8]
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.004093e0
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0x4c4e52be
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, 0xf31118c8
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4218e0
cmp eax, 0xbc7af574
je 0x42197d
cmp eax, 0xf31118c8
jne 0x4218e0
mov eax, 0x1fc136a6
jmp 0x4218e0
lea ecx, [esi + 0xa8]
call fcn.004093e0
mov eax, 0x5bd84e7f
jmp 0x4218e0
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0x5bd84e7f
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, 0x4c4e52be
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4218e0
cmp eax, 0xb0d545ad
je 0x4220ce
cmp eax, 0xb580bd81
jne 0x4211e0
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
mov edi, 0xe8a2caf9
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, 0xef48bbec
jmp 0x4211ce
cmp eax, 0x18fb93ed
je 0x422125
cmp eax, 0x1c16de67
jne 0x4211e0
mov eax, 0xf672a136
jmp 0x4211e0
cmp eax, 0xe29789c2
je 0x42212f
cmp eax, 0xe8a2caf9
jne 0x4211e0
mov eax, 0xef48bbec
jmp 0x4211e0
cmp eax, 0x6cf999ac
je 0x422162
cmp eax, 0x6d5505c6
jne 0x4211e0
push eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
mov eax, 0x52578414
jmp 0x4211e0
cmp eax, 0x9db88f7e
je 0x42218a
cmp eax, 0x9eb2aeef
jne 0x4211e0
mov eax, 0xf672a136
jmp 0x4211e0
cmp eax, 0xa4c8a0c
je 0x422194
cmp eax, 0xdbf823f
jne 0x4211e0
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x5c], eax
mov eax, 0xfe497b73
jmp 0x4211e0
cmp eax, 0xdc8a3e6c
je 0x42219e
cmp eax, 0xe0b1cdc2
jne 0x4211e0
cmp byte [esi + 0x18], 0
mov eax, 0xb79f1098
mov ecx, 0x122a6600
cmovne eax, ecx
jmp 0x4211e0
cmp eax, 0x52578414
je 0x4221e3
cmp eax, 0x5fb0bd57
jne 0x4211e0
mov eax, 0x7d703cc4
jmp 0x4211e0
cmp eax, 0xbeacff41
je 0x42222c
cmp eax, 0xc8a87352
jne 0x4211e0
mov eax, dword [0x4a2fe0]
mov edi, 0x2e7393ea
mov ebx, 0xe1989edc
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xe1989edc
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x422108
cmp eax, 0x2c42c3af
je 0x422236
cmp eax, 0x2d24384a
jne 0x4211e0
mov eax, 0xdc8a3e6c
jmp 0x4211e0
cmp eax, 0xef48bbec
je 0x42224e
cmp eax, 0xf472970c
jne 0x4211e0
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
mov edi, 0x8da38b61
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, 0xd459f8e0
jmp 0x4221cd
cmp eax, 0x7e0cc092
jne 0x422840
mov eax, 0x72f19e33
jmp 0x4211e0
lea eax, [esi + 0xa8]
mov dword [esi + 4], eax
mov eax, 0x7023846f
nop word cs:[eax + eax]
cmp eax, 0x9dbe4c7
je 0x422274
cmp eax, 0x7023846f
jne 0x421be0
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x10]
mov dword [esi + 0xc], eax
mov eax, 0x9dbe4c7
jmp 0x421be0
mov eax, dword [ebp + 0x14]
mov dword [esi], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
mov dword [esi + 8], eax
mov eax, 0xc8a87352
jmp 0x4211e0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x50], eax
movzx eax, byte [ebp + 0x18]
mov byte [esi + 0x17], al
mov eax, 0x617bb84c
jmp 0x4211e0
mov eax, 0x47fd520d
nop word cs:[eax + eax]
cmp eax, 0x4e1b9fa1
je 0x4222c6
cmp eax, 0x47fd520d
jne 0x421c40
mov eax, dword [esi + 0x28]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, 0x4e1b9fa1
jmp 0x421c40
lea eax, [esi + 0xa8]
mov ecx, 0x7023846f
mov dword [esi + 4], eax
nop word cs:[eax + eax]
cmp ecx, 0x9dbe4c7
je 0x4223cd
cmp ecx, 0x7023846f
jne 0x421c80
mov eax, dword [esi + 4]
mov ecx, 0x9dbe4c7
mov eax, dword [eax + 0x10]
jmp 0x421c80
mov eax, dword [esi]
mov eax, 0xbc7af574
jmp 0x422440
mov eax, dword [0x4a2fe0]
mov ebx, 0xd972174a
mov edi, 0xbeacff41
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xbeacff41
jmp 0x4227e5
mov eax, 0x4846009c
jmp 0x4211e0
mov dword [esi], eax
lea ecx, [esi + 0xa8]
mov ebx, dword [esi]
call fcn.00419520
lea edx, [ebp + 0xc]
mov ecx, dword [esi + 0x24]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
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.004280e0
add esp, 0x18
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 0x14]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov eax, dword [esi + 0x10]
push 0
push 0
call fcn.00410430
mov eax, dword [esi + 0x2c]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov eax, 0xfa765782
jmp 0x4211e0
mov eax, 0x5143d4b9
nop dword [eax]
cmp eax, 0x5143d4b9
je 0x421d73
cmp eax, 0x845f2e35
jne 0x421d60
jmp 0x4224cb
mov eax, 0x845f2e35
jmp 0x421d60
mov eax, 0xb7990be4
jmp 0x4211e0
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
mov edi, 0xbeacff41
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, 0x61479c1e
jmp 0x4211ce
mov eax, dword [0x4a2fe0]
mov ebx, 0xb0d545ad
mov edi, 0xedc5d5e3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xedc5d5e3
jmp 0x4227dd
mov ecx, dword [esi + 4]
mov eax, dword [esi]
lea edx, [esi + 0x78]
push edx
call eax
mov eax, 0xda735e8b
jmp 0x4211e0
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x34]
lea eax, [esi + 0xa8]
mov ecx, 0x7023846f
mov dword [esi + 4], eax
nop
cmp ecx, 0x9dbe4c7
je 0x4224fd
cmp ecx, 0x7023846f
jne 0x421e00
mov eax, dword [esi + 4]
mov ecx, 0x9dbe4c7
mov eax, dword [eax + 0x10]
jmp 0x421e00
mov dword [esi], eax
mov ebx, 0x9db88f7e
mov edi, 0x1e749e0b
mov eax, dword [esi]
mov dword [esi + 0x58], eax
mov eax, dword [0x4a2fe0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x1e749e0b
jmp 0x4227dd
mov eax, 0x49a699b7
mov dword [esi + 0xc], 0
jmp 0x4211e0
mov ecx, dword [ebp + 0x14]
lea edi, [esi + 0x70]
push edi
call fcn.0041b140
push edi
call fcn.004266e0
add esp, 4
mov dword [esi + 0x3c], eax
mov eax, 0xf472970c
jmp 0x4211e0
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
cmp eax, 1
mov eax, 0xb580bd81
sbb ecx, 0
setl byte [esi + 0x19]
jmp 0x4211e0
mov eax, 0xb844e47f
nop dword [eax]
cmp eax, 0xd690659e
jle 0x421ed0
cmp eax, 0xd690659f
je 0x421f25
cmp eax, 0xfe72c746
je 0x421f63
cmp eax, 0x69fd2979
jne 0x421ea0
jmp 0x42250b
cmp eax, 0xb844e47f
je 0x421f6d
cmp eax, 0xc800a191
jne 0x421ea0
mov edx, dword [0x4a2fd8]
mov ecx, dword [0x4a2fd4]
mov edi, 0xfe72c746
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, 0x69fd2979
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x421ea0
mov eax, dword [0x4a2fd8]
mov ebx, 0xc800a191
mov edi, 0xfe72c746
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xfe72c746
sete cl
cmove eax, ebx
cmp dword [0x4a2fd4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x421ea0
mov eax, 0xc800a191
jmp 0x421ea0
lea eax, [esi + 0xa8]
mov dword [esi], eax
lea eax, [esi + 0x78]
mov ecx, dword [esi]
push eax
call fcn.00437390
mov eax, 0xd690659f
jmp 0x421ea0
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
lea ecx, [eax + 0x10]
mov dword [esi], ecx
mov ecx, 0xa54f07b0
nop word [eax + eax]
cmp ecx, 0xd76e2436
je 0x4225fd
cmp ecx, 0xa54f07b0
jne 0x421fa0
mov ecx, dword [esi]
mov dword [ecx], 0
mov dword [eax + 0x14], 0xf
mov byte [esi + 0x6f], 0
mov dword [esi + 0x70], eax
mov ecx, 0xd76e2436
jmp 0x421fa0
mov eax, 0x5143d4b9
nop word cs:[eax + eax]
cmp eax, 0x5143d4b9
je 0x421ff3
cmp eax, 0x845f2e35
jne 0x421fe0
jmp 0x42265b
mov eax, 0x845f2e35
jmp 0x421fe0
lea eax, [esi + 0xa8]
mov ecx, 0x7023846f
mov dword [esi + 4], eax
nop dword [eax + eax]
cmp ecx, 0x9dbe4c7
je 0x421122
cmp ecx, 0x7023846f
jne 0x422010
mov eax, dword [esi + 4]
mov ecx, 0x9dbe4c7
mov eax, dword [eax + 0x10]
jmp 0x422010
cmp byte [esi + 0x19], 0
mov eax, 0xa9aab9c1
mov ecx, 0xecc125aa
cmovne eax, ecx
jmp 0x4211e0
lea ecx, [esi + 0x70]
call fcn.0041b2e0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x28], eax
lea eax, [esi + 0xa8]
mov dword [esi + 4], eax
mov eax, 0x4823a8d2
nop word cs:[eax + eax]
cmp eax, 0x1a4cbcd7
je 0x422678
cmp eax, 0x4823a8d2
jne 0x422070
mov ecx, dword [esi + 4]
sub esp, 4
movzx eax, byte [esi + 0x6c]
mov byte [esp], al
call fcn.0040aa10
mov eax, 0x1a4cbcd7
jmp 0x422070
mov eax, dword [esi + 0x10]
mov eax, dword [0x4a2fe0]
mov ebx, 0xfa765782
mov edi, 0x8f1d8ccb
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x8f1d8ccb
jmp 0x4227dd
mov ecx, dword [esi]
call fcn.00409890
mov eax, 0x7d703cc4
jmp 0x4211e0
mov ecx, dword [ebp + 0x14]
call fcn.0040fbd0
mov ecx, eax
xor ecx, 0xfffffe3f
mov edi, 0x7d25568a
mov ebx, 0xedc5d5e3
and ecx, eax
mov eax, dword [0x4a2fe0]
cmp ecx, 0x40
setne byte [esi + 0x1a]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xedc5d5e3
sete cl
cmove eax, edi
cmp dword [0x4a2fdc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x4211e0
mov eax, 0x1c16de67
jmp 0x4211e0
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
mov edi, 0x887a218
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, 0xd606cd8e
jmp 0x4211ce
mov eax, 0x5143d4b9
nop word [eax + eax]
cmp eax, 0x5143d4b9
je 0x422183
cmp eax, 0x845f2e35
jne 0x422170
jmp 0x4226c1
mov eax, 0x845f2e35
jmp 0x422170
mov eax, 0x2c42c3af
jmp 0x4211e0
mov eax, 0x9eb2aeef
jmp 0x4211e0
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
mov edi, 0x2b30cbdd
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, 0x1e749e0b
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4211e0
push eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x10], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x24], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x1c], eax
call fcn.0040fbd0
mov ecx, eax
xor ecx, 0xffffbfff
mov edx, 0xa535ae99
test ecx, eax
mov eax, 0x7e0cc092
cmove eax, edx
jmp 0x4211e0
mov eax, 0x61479c1e
jmp 0x4211e0
mov eax, dword [esi + 0x54]
mov ecx, 0x4208c7e2
cmp eax, dword [esi + 0x58]
mov eax, 0xecc125aa
cmova eax, ecx
jmp 0x4211e0
mov eax, dword [0x4a2fe0]
mov ebx, 0xcf5a4666
mov edi, 0xe8a2caf9
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe8a2caf9
jmp 0x4227e5
mov edi, dword [0x4a2fe0]
mov edx, dword [0x4a2fdc]
mov ecx, 0x4f6d5e12
lea eax, [edi + 1]
imul eax, edi
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xe1989edc
cmovne ebx, ecx
test edi, eax
mov eax, ebx
cmove eax, ecx
mov ecx, dword [esi + 0xc]
cmp edx, 0xa
cmovge eax, ebx
mov dword [esi], ecx
mov ecx, dword [esi]
mov edx, dword [esi + 8]
sub edx, ecx
mov dword [esi + 0xc], edx
jmp 0x4211e0
mov eax, dword [esi]
lea edx, [esi + 0x90]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi + 4]
push edx
call eax
mov eax, 0xb844e47f
nop dword [eax]
cmp eax, 0xd690659e
jle 0x422310
cmp eax, 0xd690659f
je 0x42235e
cmp eax, 0xfe72c746
je 0x4223a3
cmp eax, 0x69fd2979
jne 0x4222e0
jmp 0x4226d2
cmp eax, 0xb844e47f
je 0x4223ad
cmp eax, 0xc800a191
jne 0x4222e0
mov eax, dword [0x4a2fd8]
mov edi, 0x69fd2979
mov ebx, 0xfe72c746
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xfe72c746
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4a2fd4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x4222e0
mov edx, dword [0x4a2fd8]
mov ecx, dword [0x4a2fd4]
mov edi, 0xc800a191
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, 0xfe72c746
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4222e0
mov eax, 0xc800a191
jmp 0x4222e0
lea eax, [esi + 0xa8]
mov dword [esi], eax
lea eax, [esi + 0x90]
mov ecx, dword [esi]
push eax
call fcn.00437390
mov eax, 0xd690659f
jmp 0x4222e0
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x2e7393ea
mov dword [esi + 0xc], ecx
jmp 0x4211e0
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0x4c4e52be
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, 0x5bd84e7f
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
nop word cs:[eax + eax]
cmp eax, 0x1fc136a5
jle 0x4224a0
cmp eax, 0x1fc136a6
je 0x4227bc
cmp eax, 0x4c4e52be
je 0x4224b9
cmp eax, 0x5bd84e7f
jne 0x422440
lea eax, [esi + 0x78]
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.004093e0
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0x4c4e52be
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, 0xf31118c8
jmp 0x422426
cmp eax, 0xbc7af574
je 0x4223f8
cmp eax, 0xf31118c8
jne 0x422440
mov eax, 0x1fc136a6
jmp 0x422440
lea ecx, [esi + 0x78]
call fcn.004093e0
mov eax, 0x5bd84e7f
jmp 0x422440
mov eax, dword [ebp + 0x14]
mov ebx, 0x2d24384a
mov edi, 0x6cf999ac
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x34], eax
mov eax, dword [0x4a2fe0]
mov dword [esi + 0x30], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x6cf999ac
jmp 0x4227dd
mov dword [esi], eax
mov eax, dword [esi]
mov eax, 0x2b30cbdd
jmp 0x4211e0
mov eax, dword [esi]
mov eax, 0xbc7af574
nop word cs:[eax + eax]
cmp eax, 0x1fc136a5
jle 0x422590
cmp eax, 0x1fc136a6
je 0x422802
cmp eax, 0x4c4e52be
je 0x4225a8
cmp eax, 0x5bd84e7f
jne 0x422520
lea eax, [esi + 0x78]
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.004093e0
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0xf31118c8
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, 0x4c4e52be
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x422520
cmp eax, 0xbc7af574
je 0x4225ba
cmp eax, 0xf31118c8
jne 0x422520
mov eax, 0x1fc136a6
jmp 0x422520
lea ecx, [esi + 0x78]
call fcn.004093e0
mov eax, 0x5bd84e7f
jmp 0x422520
mov edx, dword [0x4a3410]
mov ecx, dword [0x4a340c]
mov edi, 0x4c4e52be
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, 0x5bd84e7f
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x422520
lea eax, [esi + 0x6f]
push eax
push dword [esi + 0x70]
call fcn.00409dc0
add esp, 8
mov edx, dword [0x4a2fe0]
mov ecx, dword [0x4a2fdc]
mov edi, 0xe0b1cdc2
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, 0xd459f8e0
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 4]
cmovge eax, edx
movzx edx, byte [ebp + 0x1c]
mov byte [esi + 0x18], dl
jmp 0x4211e0
mov eax, dword [ebp + 0x14]
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x88200023
jmp 0x4211e0
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
lea ecx, [eax + 0x10]
mov dword [esi], ecx
mov ecx, 0xa54f07b0
nop dword [eax + eax]
cmp ecx, 0xd76e2436
je 0x422813
cmp ecx, 0xa54f07b0
jne 0x422690
mov ecx, dword [esi]
mov dword [ecx], 0
mov dword [eax + 0x14], 0xf
mov byte [esi + 0x6f], 0
mov dword [esi + 0x70], eax
mov ecx, 0xd76e2436
jmp 0x422690
mov eax, dword [ebp + 0x14]
mov dword [esi], eax
mov eax, dword [esi]
mov eax, 0x769a2ce
jmp 0x4211e0
mov eax, dword [esi]
mov eax, 0xbc7af574
nop dword [eax]
cmp eax, 0x1fc136a5
jle 0x422750
cmp eax, 0x1fc136a6
je 0x42282f
cmp eax, 0x4c4e52be
je 0x422768
cmp eax, 0x5bd84e7f
jne 0x4226e0
lea eax, [esi + 0x90]
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.004093e0
mov eax, dword [0x4a3410]
mov ebx, 0xf31118c8
mov edi, 0x4c4e52be
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4c4e52be
sete cl
cmove eax, ebx
cmp dword [0x4a340c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4226e0
cmp eax, 0xbc7af574
je 0x42277d
cmp eax, 0xf31118c8
jne 0x4226e0
mov eax, 0x1fc136a6
jmp 0x4226e0
lea ecx, [esi + 0x90]
call fcn.004093e0
mov eax, 0x5bd84e7f
jmp 0x4226e0
mov eax, dword [0x4a3410]
mov edi, 0x5bd84e7f
mov ebx, 0x4c4e52be
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x4c4e52be
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4a340c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x4226e0
mov ecx, dword [esi]
call fcn.00409890
mov eax, dword [0x4a2fe0]
mov ebx, 0xa4c8a0c
mov edi, 0x8836ed4b
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x8836ed4b
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4a2fdc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4211e0
mov ecx, dword [esi]
call fcn.00409890
mov eax, 0xe1a4ee22
jmp 0x4211e0
lea eax, [esi + 0x6f]
push eax
push dword [esi + 0x70]
call fcn.00409dc0
add esp, 8
mov eax, dword [esi + 4]
mov eax, 0x8da38b61
jmp 0x4211e0
mov ecx, dword [esi]
call fcn.00409890
mov eax, 0x18fb93ed
jmp 0x4211e0
cmp eax, 0x7d703cc4
jne 0x4211e0
mov ecx, dword [esi + 0xc0]
xor ecx, ebp
call fcn.0043a0c0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18