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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, esp
mov dword [esi + 0x98], ecx
mov eax, dword [0x4b12c0]
xor eax, ebp
mov dword [esi + 0xb8], eax
mov eax, dword [0x4b2fd0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [0x4b2fcc]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x33]
cmp eax, 0xa
mov eax, 0xcafc9691
setl byte [esi + 0x34]
jmp 0x4224d0
mov eax, dword [0x4b2fd0]
mov edi, 0x4427799f
mov ebx, 0xeec3df3d
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xeec3df3d
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b2fcc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop dword [eax + eax]
cmp eax, 0x6e6aac9
jg 0x422520
cmp eax, 0xd27829f3
jg 0x422630
cmp eax, 0xa987d395
jg 0x422791
cmp eax, 0x96fbd41a
jg 0x4229fc
cmp eax, 0x8d6f25a7
jg 0x422c4a
cmp eax, 0x86eb946e
je 0x423072
cmp eax, 0x899464f5
jne 0x423ad3
mov eax, 0x4bb08492
jmp 0x4224d0
cmp eax, 0x45ab5589
jg 0x422750
cmp eax, 0x3706ef57
jg 0x4228ca
cmp eax, 0x1820ff25
jg 0x422a35
cmp eax, 0x13104f8d
jg 0x422c76
cmp eax, 0x6e6aaca
je 0x42309b
cmp eax, 0xdb13cf2
jne 0x4224d0
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x54]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x88]
mov ebx, dword [esi + 0x8c]
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.00428ca0
add esp, 0x18
mov eax, dword [esi + 0x2c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [eax + 4], ebx
mov dword [eax], edi
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push 0
push 0
call fcn.004114c0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0x58]
mov dword [edx + 4], ebx
mov dword [edx], edi
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x24]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00428560
add esp, 0x18
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
call section..text
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x28]
mov eax, 0xd34383d5
jmp 0x4224d0
cmp eax, 0xf31ae718
jg 0x422929
cmp eax, 0xe2c745d0
jg 0x422a60
cmp eax, 0xdee3956b
jg 0x422cb2
cmp eax, 0xd27829f4
je 0x4230cc
cmp eax, 0xd34383d5
jne 0x4224d0
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x54]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x88]
mov ebx, dword [esi + 0x8c]
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.00428ca0
add esp, 0x18
mov eax, dword [esi + 0x2c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [eax + 4], ebx
mov dword [eax], edi
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push 0
push 0
call fcn.004114c0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0x58]
mov dword [edx + 4], ebx
mov dword [edx], edi
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x24]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00428560
add esp, 0x18
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
call section..text
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x28]
mov eax, dword [0x4b2fd0]
mov edi, 0xf9a1f594
mov ebx, 0xdb13cf2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdb13cf2
jmp 0x4224b0
cmp eax, 0x5965005a
jg 0x42298b
cmp eax, 0x5079b298
jg 0x422a8b
cmp eax, 0x4bb08491
jg 0x422ce1
cmp eax, 0x45ab558a
je 0x4230d6
cmp eax, 0x48613119
jne 0x4224d0
mov eax, 0xc9327a0e
jmp 0x4224d0
cmp eax, 0xcafc9690
jg 0x422adf
cmp eax, 0xc775b512
jg 0x422d01
cmp eax, 0xa987d396
je 0x42310c
cmp eax, 0xb6393ad5
jne 0x4224d0
push eax
push eax
mov eax, esp
mov dword [esi + 0x78], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x58], eax
mov ecx, dword [ebp + 8]
mov edi, 0x5ba9322
mov eax, dword [esi + 0x9c]
mov dword [eax], ecx
movzx ecx, byte [ebp + 0x1c]
mov eax, dword [esi + 0x60]
mov byte [eax], cl
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0x3c]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x98]
mov dword [eax], ecx
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b33e8]
lea edx, [ecx + 1]
mov eax, dword [eax]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete dl
cmp dword [0x4b33e4], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0xcf952ebe
mov edx, 0xf67e6461
cmovne ecx, edx
mov edx, 0xcf952ebe
cmovne edx, edi
add eax, 0x14
mov edi, 0x523bb3b8
nop word [eax + eax]
cmp edi, 0xf67e6460
jle 0x4228a0
cmp edi, 0xf67e6461
je 0x423162
cmp edi, 0x5ba9322
je 0x4228b4
cmp edi, 0x523bb3b8
jne 0x422870
mov dword [esi + 4], eax
mov edi, 0xf592100f
jmp 0x422870
cmp edi, 0xcf952ebe
je 0x4228c0
cmp edi, 0xf592100f
jne 0x422870
mov edi, edx
jmp 0x422870
mov edi, dword [esi + 4]
mov edi, dword [edi]
mov dword [esi + 8], edi
mov edi, ecx
jmp 0x422870
mov edi, dword [esi + 4]
mov edi, 0x5ba9322
jmp 0x422870
cmp eax, 0x3cf419af
jg 0x422b0a
cmp eax, 0x3b4ac603
jg 0x422d40
cmp eax, 0x3706ef58
je 0x423181
cmp eax, 0x3a32f7d5
jne 0x4224d0
mov edx, dword [0x4b2fd0]
mov ecx, dword [0x4b2fcc]
mov edi, 0x96fbd41b
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, 0xf3f1c1ff
jmp 0x423821
cmp eax, 0xfbcccea9
jg 0x422b35
cmp eax, 0xf9a1f593
jg 0x422d60
cmp eax, 0xf31ae719
je 0x423199
cmp eax, 0xf3f1c1ff
jne 0x4224d0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov edi, 0x899464f5
mov ebx, 0x96fbd41b
cmp eax, 1
mov eax, dword [0x4b2fd0]
sbb ecx, 0
setl byte [esi + 0x37]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x96fbd41b
jmp 0x4224b0
cmp eax, 0x69a464cc
jg 0x422b7c
cmp eax, 0x5d678c34
jg 0x422d94
cmp eax, 0x5965005b
je 0x4231ce
cmp eax, 0x5bd6e890
jne 0x4224d0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x94]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov eax, 0x53b66696
nop word cs:[eax + eax]
cmp eax, 0x59566ff7
je 0x42326f
cmp eax, 0x53b66696
jne 0x4229e0
mov ecx, dword [esi + 4]
mov eax, 0x59566ff7
jmp 0x4229e0
cmp eax, 0x9eaeedee
jg 0x422ddc
cmp eax, 0x96fbd41b
je 0x423288
cmp eax, 0x9729bfa8
jne 0x4224d0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
add eax, 0x24
mov dword [esi + 0x84], eax
mov eax, 0x9eaeedef
jmp 0x4224d0
cmp eax, 0x25ea3f4f
jg 0x422e5f
cmp eax, 0x1820ff26
je 0x423298
cmp eax, 0x2326f140
jne 0x4224d0
mov eax, 0x705d1e1c
jmp 0x4224d0
cmp eax, 0xe67bf6c5
jg 0x422e82
cmp eax, 0xe2c745d1
je 0x4232a2
cmp eax, 0xe3e4fbfc
jne 0x4224d0
mov eax, 0xfc4e4aae
jmp 0x4224d0
cmp eax, 0x56bdf690
jg 0x422eab
cmp eax, 0x5079b299
je 0x4232b7
cmp eax, 0x52e84122
jne 0x4224d0
mov edx, dword [0x4b2fd0]
mov ecx, dword [0x4b2fcc]
mov edi, 0x1820ff26
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, 0x48613119
jmp 0x423821
cmp eax, 0xcc867814
jg 0x422ee7
cmp eax, 0xcafc9691
je 0x42335f
cmp eax, 0xcc2e3f08
jne 0x4224d0
mov eax, 0x5d678c35
jmp 0x4224d0
cmp eax, 0x42ee0e25
jg 0x422f1c
cmp eax, 0x3cf419b0
je 0x42338e
cmp eax, 0x3e9049f1
jne 0x4224d0
mov eax, 0x3cf419b0
jmp 0x4224d0
cmp eax, 0xff49d218
jg 0x422f80
cmp eax, 0xfbccceaa
je 0x42248e
cmp eax, 0xfc4e4aae
jne 0x4224d0
mov eax, dword [0x4b2fd0]
mov edi, 0x6e6aaca
mov ebx, 0x45ab558a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x45ab558a
jmp 0x4224b0
cmp eax, 0x760ca94e
jg 0x42300c
cmp eax, 0x69a464cd
je 0x4233bc
cmp eax, 0x705d1e1c
jne 0x4224d0
mov eax, dword [esi + 0x14]
mov edx, dword [0x4b33e8]
mov edi, 0x5ba9322
lea ecx, [edx + 1]
mov eax, dword [eax]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x4b33e4], 0xa
setge dh
setl bl
or dh, cl
xor bl, dl
mov ecx, 0xcf952ebe
not dh
or dh, bl
test dh, 1
mov edx, 0xf67e6461
cmovne ecx, edx
mov edx, 0xcf952ebe
cmovne edx, edi
add eax, 0x14
mov edi, 0x523bb3b8
nop
cmp edi, 0xf67e6460
jle 0x422c20
cmp edi, 0xf67e6461
je 0x4233ec
cmp edi, 0x5ba9322
je 0x422c34
cmp edi, 0x523bb3b8
jne 0x422bf0
mov dword [esi + 4], eax
mov edi, 0xf592100f
jmp 0x422bf0
cmp edi, 0xcf952ebe
je 0x422c40
cmp edi, 0xf592100f
jne 0x422bf0
mov edi, edx
jmp 0x422bf0
mov edi, dword [esi + 4]
mov edi, dword [edi]
mov dword [esi + 8], edi
mov edi, ecx
jmp 0x422bf0
mov edi, dword [esi + 4]
mov edi, 0x5ba9322
jmp 0x422bf0
cmp eax, 0x8d6f25a8
je 0x423409
cmp eax, 0x969ced2f
jne 0x4224d0
cmp byte [esi + 0x36], 0
mov eax, 0x86eb946e
mov ecx, 0x3706ef58
cmovne eax, ecx
jmp 0x4224d0
cmp eax, 0x13104f8e
je 0x423468
cmp eax, 0x14a348a6
jne 0x4224d0
mov eax, dword [0x4b2fd0]
mov edi, 0x52e84122
mov ebx, 0x1820ff26
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1820ff26
jmp 0x4224b0
cmp eax, 0xdee3956c
je 0x423472
cmp eax, 0xdf048248
jne 0x4224d0
movzx eax, byte [esi + 0x35]
mov ecx, eax
xor cl, 0xfe
test cl, al
mov eax, 0x969ced2f
setne byte [esi + 0x36]
jmp 0x4224d0
cmp eax, 0x4bb08492
je 0x42347c
cmp eax, 0x4c171517
jne 0x4224d0
mov eax, 0xff49d219
jmp 0x4224d0
cmp eax, 0xc775b513
je 0x423492
cmp eax, 0xc9327a0e
jne 0x4224d0
mov eax, dword [esi + 0x2c]
mov eax, dword [0x4b2fd0]
mov edi, 0x69a464cd
mov ebx, 0x69769fb1
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x69769fb1
jmp 0x4224b0
cmp eax, 0x3b4ac604
je 0x42353f
cmp eax, 0x3c94ddb5
jne 0x4224d0
mov eax, 0xdee3956c
jmp 0x4224d0
cmp eax, 0xf9a1f594
je 0x423562
cmp eax, 0xf9fc608a
jne 0x4224d0
mov eax, dword [esi + 0xa8]
mov ecx, 0xcee5b0d8
cmp eax, dword [esi + 0xac]
mov eax, 0xfbccceaa
cmova eax, ecx
jmp 0x4224d0
cmp eax, 0x5d678c35
je 0x42356c
cmp eax, 0x69769fb1
jne 0x4224d0
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov eax, 0x53b66696
nop word cs:[eax + eax]
cmp eax, 0x59566ff7
je 0x42359f
cmp eax, 0x53b66696
jne 0x422dc0
mov ecx, dword [esi + 4]
mov eax, 0x59566ff7
jmp 0x422dc0
cmp eax, 0x9eaeedef
je 0x42368a
cmp eax, 0xa3ca72f9
jne 0x4224d0
mov eax, dword [esi + 0x50]
mov eax, dword [esi + 0x18]
lea edi, [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0x78]
vmovsd xmm0, qword [edi]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x78]
mov ebx, dword [esi + 0x24]
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.00428560
add esp, 0x18
mov eax, dword [esi + 0x50]
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0xc]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x50]
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, 0x14a348a6
jmp 0x4224d0
cmp eax, 0x25ea3f50
je 0x4236a9
cmp eax, 0x2fbc2d44
jne 0x4224d0
mov eax, dword [esi + 0x28]
mov eax, 0x7b981114
jmp 0x4224d0
cmp eax, 0xe67bf6c6
je 0x4236c4
cmp eax, 0xeec3df3d
jne 0x4224d0
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, 0x4427799f
jmp 0x4224d0
cmp eax, 0x56bdf691
je 0x4236f5
cmp eax, 0x593e7029
jne 0x4224d0
mov eax, dword [0x4b2fd0]
mov edi, 0x7b981114
mov ebx, 0x2fbc2d44
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2fbc2d44
jmp 0x4224b0
cmp eax, 0xcc867815
je 0x42379f
cmp eax, 0xcee5b0d8
jne 0x4224d0
mov eax, dword [0x4b2fd0]
mov ebx, 0xc775b513
mov edi, 0x5079b299
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x5079b299
jmp 0x423aae
cmp eax, 0x42ee0e26
je 0x4237e9
cmp eax, 0x4427799f
jne 0x4224d0
mov eax, dword [esi + 0x18]
mov edi, 0x3c94ddb5
mov dword [eax], 0
mov edx, dword [0x4b2fd0]
mov ecx, dword [0x4b2fcc]
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, 0xeec3df3d
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4224d0
cmp eax, 0xff49d219
je 0x4237f3
cmp eax, 0x59d0fbe
jne 0x4224d0
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push dword [esi + 0x40]
call fcn.0041b8b0
push dword [esi + 0x40]
call fcn.00427340
add esp, 4
mov ecx, dword [esi + 0x40]
mov ebx, eax
call fcn.0041baa0
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x28]
mov dword [eax], ebx
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x5c]
sub esp, 4
movzx eax, byte [esi + 0xb4]
mov byte [esp], al
call fcn.0040b660
mov eax, dword [esi + 0x5c]
mov dword [esi + 4], eax
mov eax, 0x75a61558
nop
cmp eax, 0x75fa95c2
je 0x423836
cmp eax, 0x75a61558
jne 0x422ff0
mov ecx, dword [esi + 4]
mov eax, 0x75fa95c2
jmp 0x422ff0
cmp eax, 0x760ca94f
je 0x423864
cmp eax, 0x7b981114
jne 0x4224d0
mov edx, dword [0x4b2fd0]
mov ecx, dword [0x4b2fcc]
mov edi, 0x3e9049f1
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, 0x2fbc2d44
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 + 0xa4], ecx
jmp 0x4224d0
mov eax, dword [esi + 0x48]
mov eax, dword [0x4b2fd0]
mov edi, 0xff49d219
mov ebx, 0x4c171517
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4c171517
jmp 0x4224b0
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov eax, 0x53b66696
nop word cs:[eax + eax]
cmp eax, 0x59566ff7
je 0x42386e
cmp eax, 0x53b66696
jne 0x4230b0
mov ecx, dword [esi + 4]
mov eax, 0x59566ff7
jmp 0x4230b0
mov eax, 0x593e7029
jmp 0x4224d0
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov eax, 0x53b66696
nop word cs:[eax + eax]
cmp eax, 0x59566ff7
je 0x4238a5
cmp eax, 0x53b66696
jne 0x4230f0
mov ecx, dword [esi + 4]
mov eax, 0x59566ff7
jmp 0x4230f0
push eax
mov eax, esp
mov dword [esi + 0x9c], eax
push eax
mov eax, esp
mov dword [esi + 0x60], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x40], eax
mov eax, dword [0x4b2fd0]
mov edi, 0x760ca94f
mov ebx, 0x13104f8e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x13104f8e
jmp 0x4224a8
mov eax, dword [esi + 8]
mov edx, 0xf31ae719
mov ecx, eax
xor ecx, 0xffffbfff
test ecx, eax
mov eax, 0x59d0fbe
cmove eax, edx
jmp 0x4224d0
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov dword [esi + 0xa0], eax
mov eax, 0x3b4ac604
jmp 0x4224d0
mov eax, dword [esi + 0x60]
lea ecx, [ebp + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax]
mov byte [esi + 0x1f], al
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x64]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, 0x9729bfa8
jmp 0x4224d0
mov eax, dword [esi + 0x14]
mov edx, dword [0x4b33f0]
mov ebx, 0x800b0f9f
lea edi, [edx + 1]
mov ecx, dword [eax]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edi, 0x3606e75b
sete dl
cmp dword [0x4b33ec], 0xa
setl dh
or dh, dl
mov edx, 0x2a1d0551
cmovne edx, edi
mov edi, 0x2a1d0551
cmovne edi, ebx
mov ebx, 0xd184f13a
nop word [eax + eax]
cmp ebx, 0xda221549
jle 0x423250
cmp ebx, 0xda22154a
je 0x4238c9
cmp ebx, 0x2a1d0551
je 0x423264
cmp ebx, 0x3606e75b
jne 0x423220
mov ebx, 0xda22154a
jmp 0x423220
cmp ebx, 0x800b0f9f
je 0x42326b
cmp ebx, 0xd184f13a
jne 0x423220
mov ebx, edi
jmp 0x423220
mov ebx, 0x800b0f9f
jmp 0x423220
mov ebx, edx
jmp 0x423220
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0xac], eax
mov eax, 0xf9fc608a
jmp 0x4224d0
mov eax, dword [esi + 0x68]
mov eax, dword [esi + 0x6c]
mov eax, 0xf3f1c1ff
jmp 0x4224d0
mov eax, 0x52e84122
jmp 0x4224d0
mov ecx, dword [esi + 0x44]
call section..text
mov eax, dword [esi + 0x44]
mov eax, 0x56bdf691
jmp 0x4224d0
mov eax, dword [esi + 0x14]
mov edx, dword [0x4b33f0]
mov ebx, 0x800b0f9f
lea edi, [edx + 1]
mov ecx, dword [eax]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edi, 0x3606e75b
sete dl
cmp dword [0x4b33ec], 0xa
setl dh
or dh, dl
mov edx, 0x2a1d0551
cmovne edx, edi
mov edi, 0x2a1d0551
cmovne edi, ebx
mov ebx, 0xd184f13a
nop word cs:[eax + eax]
cmp ebx, 0xda221549
jle 0x423340
cmp ebx, 0xda22154a
je 0x4238eb
cmp ebx, 0x2a1d0551
je 0x423354
cmp ebx, 0x3606e75b
jne 0x423310
mov ebx, 0xda22154a
jmp 0x423310
cmp ebx, 0x800b0f9f
je 0x42335b
cmp ebx, 0xd184f13a
jne 0x423310
mov ebx, edi
jmp 0x423310
mov ebx, 0x800b0f9f
jmp 0x423310
mov ebx, edx
jmp 0x423310
movzx ecx, byte [esi + 0x33]
movzx eax, byte [esi + 0x34]
mov edi, 0xa987d396
mov ebx, 0x13104f8e
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x13104f8e
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x4224d0
mov ecx, dword [esi + 0xa4]
push dword [esi + 0x48]
call fcn.004395f0
mov ecx, dword [esi + 0x10]
push dword [esi + 0x48]
call fcn.00439820
mov ecx, dword [esi + 0x48]
call section..text
mov eax, dword [esi + 0x48]
mov eax, 0x56bdf691
jmp 0x4224d0
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov eax, 0x53b66696
nop word [eax + eax]
cmp eax, 0x59566ff7
je 0x423901
cmp eax, 0x53b66696
jne 0x4233d0
mov ecx, dword [esi + 4]
mov eax, 0x59566ff7
jmp 0x4233d0
mov eax, dword [esi + 8]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov eax, 0x25ea3f50
mov dword [esi + 0xb0], ecx
jmp 0x4224d0
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov edx, dword [esi + 0x64]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x7c]
movsx ebx, byte [esi + 0x1f]
mov eax, dword [esi + 0x80]
sub esp, 0x18
vmovsd xmm0, qword [edx]
mov edx, dword [ebp + 8]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp], edx
call dword [esi + 0x20]
mov eax, dword [0x4b2fd0]
mov edi, 0x42ee0e26
mov ebx, 0xcc867815
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xcc867815
jmp 0x4224a8
mov eax, 0xa987d396
jmp 0x4224d0
mov eax, 0x705d1e1c
jmp 0x4224d0
cmp byte [esi + 0x37], 0
mov eax, 0x5965005b
mov ecx, 0xfbccceaa
cmovne eax, ecx
jmp 0x4224d0
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b33f0]
lea ebx, [ecx + 1]
mov eax, dword [eax]
imul ebx, ecx
test bl, 1
sete cl
cmp dword [0x4b33ec], 0xa
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
setge ch
setl dl
mov dword [esi + 0x20], edi
mov dword [esi + 0x38], eax
mov eax, 0x2a1d0551
mov edi, 0x3606e75b
or ch, bl
xor dl, cl
mov ebx, 0xd184f13a
not ch
or ch, dl
mov edx, 0x800b0f9f
test ch, 1
cmovne eax, edi
mov edi, 0x2a1d0551
cmovne edi, edx
nop dword [eax]
cmp ebx, 0xda221549
jle 0x423520
cmp ebx, 0xda22154a
je 0x4239fe
cmp ebx, 0x2a1d0551
je 0x423534
cmp ebx, 0x3606e75b
jne 0x4234f0
mov ebx, 0xda22154a
jmp 0x4234f0
cmp ebx, 0x800b0f9f
je 0x42353b
cmp ebx, 0xd184f13a
jne 0x4234f0
mov ebx, edi
jmp 0x4234f0
mov ebx, 0x800b0f9f
jmp 0x4234f0
mov ebx, eax
jmp 0x4234f0
mov ecx, dword [esi + 0xa0]
push dword [esi + 0x44]
call fcn.004393e0
mov ecx, dword [esi + 0x10]
push dword [esi + 0x44]
call fcn.00439820
mov eax, 0xe2c745d1
jmp 0x4224d0
mov eax, 0x8465b169
jmp 0x4224d0
mov edx, dword [0x4b2fd0]
mov ecx, dword [0x4b2fcc]
mov edi, 0xdb13cf2
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, 0xd34383d5
jmp 0x423821
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x20], eax
mov eax, 0x11b6850c
cmp eax, 0x11b6850b
jle 0x4235e0
cmp eax, 0x51b20084
je 0x4235f3
cmp eax, 0x2b3b21cc
je 0x423602
cmp eax, 0x11b6850c
jne 0x4235b0
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
mov eax, 0x2b3b21cc
jmp 0x4235b0
cmp eax, 0xcc714427
je 0x423640
cmp eax, 0x2c27f6a
jne 0x4235b0
jmp 0x423a56
mov ecx, dword [esi + 4]
call fcn.00410140
mov eax, 0xcc714427
jmp 0x4235b0
mov eax, dword [0x4b3130]
mov ebx, 0xcc714427
mov edi, 0x51b20084
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x51b20084
sete cl
cmove eax, ebx
cmp dword [0x4b312c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4235b0
mov ecx, dword [esi + 4]
call fcn.00410140
mov dword [esi + 0x38], eax
mov eax, dword [0x4b3130]
mov edi, 0x2c27f6a
mov ebx, 0x51b20084
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x51b20084
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b312c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x4235b0
mov eax, dword [0x4b2fd0]
mov ebx, 0x8d6f25a8
mov edi, 0xcc867815
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xcc867815
jmp 0x423aae
mov eax, dword [esi + 0xb0]
mov ecx, 0xc9327a0e
cmp eax, 0x40
mov eax, 0xa3ca72f9
cmove eax, ecx
jmp 0x4224d0
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x10], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x48], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x50], eax
mov eax, 0xb6393ad5
jmp 0x4224d0
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov edi, 0x3606e75b
mov ecx, dword [eax]
mov eax, dword [0x4b33f0]
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x4b33ec], 0xa
setge bl
setl bh
or bl, dl
xor bh, al
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edx, 0x2a1d0551
not bl
or bl, bh
test bl, 1
mov ebx, 0x800b0f9f
cmovne edx, edi
mov edi, 0x2a1d0551
cmovne edi, ebx
mov ebx, 0xd184f13a
nop dword [eax + eax]
cmp ebx, 0xda221549
jle 0x423780
cmp ebx, 0xda22154a
je 0x423a69
cmp ebx, 0x2a1d0551
je 0x423794
cmp ebx, 0x3606e75b
jne 0x423750
mov ebx, 0xda22154a
jmp 0x423750
cmp ebx, 0x800b0f9f
je 0x42379b
cmp ebx, 0xd184f13a
jne 0x423750
mov ebx, edi
jmp 0x423750
mov ebx, 0x800b0f9f
jmp 0x423750
mov ebx, edx
jmp 0x423750
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
mov edx, dword [esi + 0x64]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x7c]
movsx ebx, byte [esi + 0x1f]
mov eax, dword [esi + 0x80]
sub esp, 0x18
vmovsd xmm0, qword [edx]
mov edx, dword [ebp + 8]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp], edx
call dword [esi + 0x20]
mov eax, 0x8d6f25a8
jmp 0x4224d0
mov eax, 0x8465b169
jmp 0x4224d0
mov edx, dword [0x4b2fd0]
mov ecx, dword [0x4b2fcc]
mov edi, 0x4c171517
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, 0xd27829f4
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4224d0
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
push 0x4a62a8
call fcn.0040fea0
mov ecx, dword [esi + 0x5c]
call fcn.0040ff00
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
movzx eax, byte [eax]
mov byte [esi + 0x35], al
mov eax, 0xdf048248
jmp 0x4224d0
mov eax, 0xe67bf6c6
jmp 0x4224d0
mov dword [esi + 8], ecx
mov ebx, 0x2326f140
mov edi, 0x45ab558a
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x4c]
sub ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [0x4b2fd0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x45ab558a
jmp 0x423ab6
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
sub ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, 0x6e6aaca
jmp 0x4224d0
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], ecx
mov eax, 0x5bd6e890
jmp 0x4224d0
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, 0xc775b513
jmp 0x4224d0
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x20], eax
mov eax, 0x11b6850c
nop dword [eax + eax]
cmp eax, 0x11b6850b
jle 0x423950
cmp eax, 0x51b20084
je 0x423963
cmp eax, 0x2b3b21cc
je 0x423972
cmp eax, 0x11b6850c
jne 0x423920
mov eax, dword [esi + 0x20]
mov dword [esi + 4], eax
mov eax, 0x2b3b21cc
jmp 0x423920
cmp eax, 0xcc714427
je 0x4239b5
cmp eax, 0x2c27f6a
jne 0x423920
jmp 0x423a85
mov ecx, dword [esi + 4]
call fcn.00410140
mov eax, 0xcc714427
jmp 0x423920
mov edx, dword [0x4b3130]
mov ecx, dword [0x4b312c]
mov edi, 0xcc714427
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, 0x51b20084
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x423920
mov ecx, dword [esi + 4]
call fcn.00410140
mov dword [esi + 0x38], eax
mov eax, dword [0x4b3130]
mov ebx, 0x2c27f6a
mov edi, 0x51b20084
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x51b20084
sete cl
cmove eax, ebx
cmp dword [0x4b312c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x423920
mov ecx, dword [0x4b2fd0]
mov ebx, dword [0x4b2fcc]
mov edi, 0x5079b299
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
cmp ebx, 0xa
setl dh
xor dh, dl
mov edx, 0xe3e4fbfc
cmovne edi, edx
test ecx, eax
mov ecx, dword [esi + 0x38]
mov eax, edi
cmove eax, edx
cmp ebx, 0xa
cmovge eax, edi
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0x4c], ecx
jmp 0x4224d0
mov eax, dword [esi + 0x38]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, 0x69a464cd
jmp 0x4224d0
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0x3a32f7d5
jmp 0x4224d0
mov eax, dword [esi + 0x38]
mov ebx, 0xcc2e3f08
mov edi, 0x69769fb1
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x8c], eax
mov eax, dword [0x4b2fd0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x69769fb1
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b2fcc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x4224d0
cmp eax, 0x8465b169
jne 0x4224d0
mov ecx, dword [esi + 0xb8]
xor ecx, ebp
call fcn.0043bce0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18