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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov esi, esp
mov dword [esi + 0x7c], ecx
mov eax, dword [0x47f2c0]
xor eax, ebp
mov dword [esi + 0x98], eax
mov eax, dword [0x480fd8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, dword [0x480fd4]
sete byte [esi + 0x2f]
cmp ecx, 0xa
mov ecx, 0x63460e16
setl byte [esi + 0x30]
jmp 0x422340
mov dword [esi + 8], ecx
mov edi, 0xcec1c755
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x58]
sub ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
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, 0x425f19e7
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
nop dword [eax]
cmp ecx, 0xfc525290
jle 0x4223c0
cmp ecx, 0x4656dfc0
jle 0x422420
cmp ecx, 0x64119f3b
jg 0x4224e3
cmp ecx, 0x5009a1e6
jg 0x42265e
cmp ecx, 0x47d23d10
jg 0x4228f3
cmp ecx, 0x4656dfc1
je 0x422caa
cmp ecx, 0x4751c193
jne 0x422340
mov eax, dword [0x480fd8]
mov ebx, 0xa3f56a44
mov edi, 0xcec1c755
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xcec1c755
jmp 0x423080
cmp ecx, 0xc0926cb9
jle 0x422490
cmp ecx, 0xd85c4707
jle 0x422546
cmp ecx, 0xe6dd4c2d
jg 0x42268c
cmp ecx, 0xdc810372
jg 0x422968
cmp ecx, 0xd85c4708
je 0x422d14
cmp ecx, 0xda9016c6
jne 0x422340
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
call fcn.00411810
mov ecx, 0xe6dd4c2e
jmp 0x422340
cmp ecx, 0x2b09f5af
jle 0x422580
cmp ecx, 0x399492a4
jg 0x4226ba
cmp ecx, 0x33b00203
jg 0x4229ac
cmp ecx, 0x2b09f5b0
je 0x422d1e
cmp ecx, 0x2f2de0c4
jne 0x422340
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0xda9016c6
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, 0xe6dd4c2e
jmp 0x422329
cmp ecx, 0xa3f56a43
jle 0x4225ba
cmp ecx, 0xb54e39e6
jg 0x4226f3
cmp ecx, 0xad6e110f
jg 0x422a13
cmp ecx, 0xa3f56a44
je 0x422d28
cmp ecx, 0xa99d2577
jne 0x422340
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
call fcn.00411810
mov dword [esi + 0x74], eax
mov ecx, 0xbba38d16
jmp 0x422340
cmp ecx, 0x6c845d9e
jg 0x4227bd
cmp ecx, 0x6703738c
jg 0x422a52
cmp ecx, 0x64119f3c
je 0x422d5c
cmp ecx, 0x64c21fad
jne 0x422340
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0x64119f3c
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, 0x47d23d11
jmp 0x4235c6
cmp ecx, 0xcd3a97c9
jg 0x4227eb
cmp ecx, 0xc667497e
jg 0x422a9c
cmp ecx, 0xc0926cba
je 0x422e6c
cmp ecx, 0xc332458b
jne 0x422340
mov ecx, 0x33b00204
jmp 0x422340
cmp ecx, 0xf868854
jle 0x42283c
cmp ecx, 0x147c0284
jg 0x422abe
cmp ecx, 0xf868855
je 0x422e79
cmp ecx, 0x120ea74f
jne 0x422340
mov ecx, 0xf774d35b
jmp 0x422340
cmp ecx, 0x89ec349a
jle 0x4228bc
cmp ecx, 0x9782feac
jg 0x422af1
cmp ecx, 0x89ec349b
je 0x422ed5
cmp ecx, 0x8ac73a91
jne 0x422340
mov ecx, dword [esi + 0x3c]
call fcn.0041c530
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x8c]
mov dword [eax], ecx
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
sub esp, 4
movzx eax, byte [esi + 0x94]
mov byte [esp], al
call fcn.0040c970
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
mov eax, 0xeb21e5bb
nop dword [eax]
cmp eax, 0x29b6da13
je 0x422eea
cmp eax, 0xeb21e5bb
jne 0x422630
mov ecx, dword [esi + 8]
push 0x4748fe
call fcn.00410fc0
mov ecx, dword [esi + 4]
call fcn.00411200
mov eax, 0x29b6da13
jmp 0x422630
cmp ecx, 0x5b941330
jg 0x422b13
cmp ecx, 0x5009a1e7
je 0x422ef7
cmp ecx, 0x515c2e41
jne 0x422340
mov ecx, 0x3a008011
jmp 0x422340
cmp ecx, 0xf56368d9
jg 0x422b55
cmp ecx, 0xe6dd4c2e
je 0x422f04
cmp ecx, 0xf390d777
jne 0x422340
mov ecx, 0xb8cadc76
jmp 0x422340
cmp ecx, 0x3e4128c3
jg 0x422bee
cmp ecx, 0x399492a5
je 0x422f56
cmp ecx, 0x3a008011
jne 0x422340
mov ecx, dword [esi + 0x28]
call section..text
mov eax, dword [esi + 0x28]
mov ecx, 0xbdbb34d0
jmp 0x422340
cmp ecx, 0xbba38d15
jg 0x422c10
cmp ecx, 0xb54e39e7
je 0x422f60
cmp ecx, 0xb8cadc76
jne 0x422340
mov eax, dword [esi + 0x1c]
mov ecx, dword [0x4813b0]
mov edi, 0x912e4594
mov ebx, 0xff6dce3b
lea edx, [ecx + 1]
mov eax, dword [eax]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x4813ac], 0xa
setl dl
or dl, cl
mov ecx, 0xcae462d5
mov edx, 0xb1dd1610
cmovne ecx, edx
mov edx, 0xcae462d5
cmovne edx, edi
nop dword [eax]
cmp ebx, 0xcae462d4
jle 0x422790
cmp ebx, 0xcae462d5
je 0x4227a5
cmp ebx, 0xd198ad43
je 0x4227af
cmp ebx, 0xff6dce3b
jne 0x422760
mov dword [esi + 4], eax
mov ebx, 0xd198ad43
jmp 0x422760
cmp ebx, 0x912e4594
je 0x4227b3
cmp ebx, 0xb1dd1610
jne 0x422760
jmp 0x422fe7
mov ebx, dword [esi + 4]
mov ebx, 0x912e4594
jmp 0x422760
mov ebx, edx
jmp 0x422760
mov edi, dword [esi + 4]
mov ebx, ecx
mov edi, dword [edi + 0x14]
jmp 0x422760
cmp ecx, 0x7a2a0508
jg 0x422c35
cmp ecx, 0x6c845d9f
je 0x423004
cmp ecx, 0x6ddf04b4
jne 0x422340
mov ecx, 0xd3ddf7ac
jmp 0x422340
cmp ecx, 0xd3ddf7ab
jg 0x422c7e
cmp ecx, 0xcd3a97ca
je 0x423028
cmp ecx, 0xcec1c755
jne 0x422340
mov eax, dword [esi + 0x14]
mov dword [esi + 4], eax
mov eax, 0x71fc69e4
nop word [eax + eax]
cmp eax, 0xe88d4584
je 0x423040
cmp eax, 0x71fc69e4
jne 0x422820
mov ecx, dword [esi + 4]
mov eax, 0xe88d4584
jmp 0x422820
cmp ecx, 0xfc525291
je 0x42305e
cmp ecx, 0xffebbdf5
je 0x42309d
cmp ecx, 0xae0889c
jne 0x422340
movzx eax, byte [esi + 0x31]
mov dword [esi + 0x10], eax
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x48]
movsx edx, byte [ecx]
mov ecx, dword [esi + 0x1c]
mov edi, dword [ecx]
mov ecx, dword [esi + 0x60]
vmovsd xmm0, qword [eax]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 0x24]
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x38]
sub esp, 0x18
vmovsd xmm0, qword [eax]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0xc], edi
mov eax, dword [esi + 0x10]
mov dword [esp], edx
mov dword [esp + 0x14], eax
call ebx
mov ecx, 0x6ddf04b4
jmp 0x422340
cmp ecx, 0x806f4d27
je 0x4230ab
cmp ecx, 0x84eda68b
je 0x4230b5
cmp ecx, 0x877590fa
jne 0x422340
mov eax, dword [esi + 0x20]
mov ecx, 0xf390d777
mov dword [eax], 0
jmp 0x422340
cmp ecx, 0x47d23d11
je 0x4231cd
cmp ecx, 0x4b5663d8
jne 0x422340
mov ecx, dword [esi + 0x70]
call fcn.00411810
mov edi, dword [0x480fd8]
mov dword [esi + 0x24], edx
mov edx, dword [0x480fd4]
mov dword [esi + 0x10], eax
mov ebx, 0xffebbdf5
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x5b941331
cmovne eax, ebx
test edi, ecx
mov ecx, eax
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, eax
cmp dword [esi + 0x10], 1
sbb dword [esi + 0x24], 0
setl byte [esi + 0x32]
jmp 0x422340
cmp ecx, 0xdc810373
je 0x4232d7
cmp ecx, 0xe4c2bce4
jne 0x422340
mov eax, dword [esi + 0x50]
mov eax, dword [esi + 0x14]
mov dword [esi + 4], eax
mov eax, 0x71fc69e4
nop
cmp eax, 0xe88d4584
je 0x4232e9
cmp eax, 0x71fc69e4
jne 0x422990
mov ecx, dword [esi + 4]
mov eax, 0xe88d4584
jmp 0x422990
cmp ecx, 0x33b00204
je 0x42331c
cmp ecx, 0x376c44f2
jne 0x422340
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x78]
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.00428b90
add esp, 0x18
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x14]
call section..text
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
mov ecx, 0xb54e39e7
jmp 0x422340
cmp ecx, 0xad6e1110
je 0x42334e
cmp ecx, 0xb39c3941
jne 0x422340
mov eax, dword [0x480fd8]
mov edi, 0x33b00204
mov ebx, 0xc332458b
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc332458b
jmp 0x423668
cmp ecx, 0x6703738d
je 0x42339a
cmp ecx, 0x6c5a215f
jne 0x422340
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0x120ea74f
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, 0xf774d35b
jmp 0x422329
cmp ecx, 0xc667497f
je 0x4233cc
cmp ecx, 0xcd012ad7
jne 0x422340
mov ecx, 0xd3ddf7ac
jmp 0x422340
cmp ecx, 0x147c0285
je 0x4233e2
cmp ecx, 0x1e7febef
jne 0x422340
mov eax, dword [esi + 0x90]
mov ecx, 0x5009a1e7
mov edx, 0xe4c2bce4
cmp eax, 0x40
cmove ecx, edx
jmp 0x422340
cmp ecx, 0x9782fead
je 0x423415
cmp ecx, 0xa0f55e2b
jne 0x422340
mov ecx, 0xb39c3941
jmp 0x422340
cmp ecx, 0x5b941331
je 0x42341f
cmp ecx, 0x63460e16
jne 0x422340
movzx eax, byte [esi + 0x2f]
movzx ecx, byte [esi + 0x30]
mov edi, 0xf868855
mov edx, eax
xor dl, cl
mov edx, 0x7a2a0509
cmovne edx, edi
test cl, cl
mov ecx, edx
cmovne ecx, edi
test al, al
cmove ecx, edx
jmp 0x422340
cmp ecx, 0xf56368da
je 0x423431
cmp ecx, 0xf774d35b
jne 0x422340
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x60], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x14], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 0x18
mov edi, dword [0x480fd8]
mov edx, dword [0x480fd4]
mov eax, 0xd85c4708
mov dword [esi + 0x10], esp
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x120ea74f
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
mov edx, dword [esi + 0x10]
cmovge ecx, ebx
mov dword [esi + 0x28], edx
jmp 0x422340
cmp ecx, 0x3e4128c4
je 0x42346c
cmp ecx, 0x425f19e7
jne 0x422340
mov ecx, 0xb8cadc76
jmp 0x422340
cmp ecx, 0xbba38d16
je 0x423598
cmp ecx, 0xbdbb34d0
jne 0x422340
mov eax, dword [esi + 0x20]
mov ecx, 0xdc810373
jmp 0x422340
cmp ecx, 0x7a2a0509
je 0x4235dc
cmp ecx, 0x7c55bbae
jne 0x422340
mov eax, dword [esi + 0x14]
mov ecx, 0x71fc69e4
mov dword [esi + 4], eax
nop dword [eax + eax]
cmp ecx, 0xe88d4584
je 0x4235e6
cmp ecx, 0x71fc69e4
jne 0x422c60
mov eax, dword [esi + 4]
mov ecx, 0xe88d4584
jmp 0x422c60
cmp ecx, 0xd6d5f011
jne 0x4238aa
mov ecx, dword [esi + 0x14]
push dword [esi + 0x40]
call fcn.00438230
mov ecx, dword [esi + 0x40]
call section..text
mov eax, dword [esi + 0x40]
mov ecx, 0x2b09f5b0
jmp 0x422340
mov eax, dword [esi + 0x20]
lea edi, [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x48]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0x64]
vmovsd xmm0, qword [edi]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x4c]
mov edi, dword [esi + 0x64]
mov ebx, dword [esi + 0x38]
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.00428b90
add esp, 0x18
mov eax, dword [esi + 0x4c]
mov ecx, 0xe4c2bce4
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0xc]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x20]
mov dword [eax], 0
jmp 0x422340
mov ecx, 0x84eda68b
jmp 0x422340
mov ecx, 0xbdbb34d0
jmp 0x422340
mov eax, dword [esi + 0x14]
mov dword [esi + 4], eax
mov eax, 0x71fc69e4
nop word cs:[eax + eax]
cmp eax, 0xe88d4584
je 0x4222eb
cmp eax, 0x71fc69e4
jne 0x422d40
mov ecx, dword [esi + 4]
mov eax, 0xe88d4584
jmp 0x422d40
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x24], eax
mov eax, 0xaec0fb37
nop word [eax + eax]
cmp eax, 0xe159b163
jle 0x422da0
cmp eax, 0xe159b164
je 0x422dbb
cmp eax, 0x2765c4b7
je 0x422dd0
cmp eax, 0x6a092593
jne 0x422d70
jmp 0x42363b
cmp eax, 0xa7e329d7
je 0x422e23
cmp eax, 0xaec0fb37
jne 0x422d70
mov eax, dword [esi + 0x24]
mov dword [esi + 8], eax
mov eax, 0xa7e329d7
jmp 0x422d70
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [esi + 8]
push ebx
call eax
mov eax, 0x2765c4b7
jmp 0x422d70
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [esi + 8]
push ebx
call eax
mov edx, dword [0x480fd0]
mov ecx, dword [0x480fcc]
mov edi, 0x6a092593
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, 0xe159b164
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x422d70
mov edx, dword [0x480fd0]
mov ecx, dword [0x480fcc]
mov dword [esi + 0x10], ebx
mov edi, 0x2765c4b7
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, 0xe159b164
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
mov ebx, dword [esi + 0x10]
jmp 0x422d70
mov eax, dword [esi + 0x44]
mov ecx, 0xad6e1110
jmp 0x422340
push eax
mov eax, esp
mov dword [esi + 0x88], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
push eax
mov edi, dword [0x480fd8]
mov edx, dword [0x480fd4]
mov eax, 0x806f4d27
mov dword [esi + 0x10], esp
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x7a2a0509
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
mov edx, dword [esi + 0x10]
cmovge ecx, ebx
mov dword [esi + 0x48], edx
jmp 0x422340
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x34]
mov ecx, 0x64c21fad
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
jmp 0x422340
mov eax, dword [esi + 4]
mov ecx, 0xcd3a97ca
jmp 0x422340
mov eax, dword [esi + 0x4c]
mov ecx, 0x4656dfc1
jmp 0x422340
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
call fcn.00411810
mov edi, dword [0x480fd8]
mov edx, dword [0x480fd4]
mov dword [esi + 0x58], eax
lea ecx, [edi + 1]
imul ecx, edi
mov edi, 0xda9016c6
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x399492a5
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, edi
jmp 0x422340
mov ecx, 0x4751c193
jmp 0x422340
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x78]
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.00428b90
add esp, 0x18
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x14]
call section..text
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0x376c44f2
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, 0xcd012ad7
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
cmovge ecx, edi
jmp 0x422340
mov dword [esi + 8], edi
mov ecx, 0x1c0
mov eax, dword [esi + 8]
and eax, ecx
mov ecx, 0x1e7febef
mov dword [esi + 0x90], eax
jmp 0x422340
mov eax, dword [0x480fd8]
mov ebx, 0xad6e1110
mov edi, 0xc0926cba
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xc0926cba
jmp 0x423080
mov eax, dword [esi + 0x44]
mov ecx, 0x3e4128c4
cmp byte [eax], 0
mov eax, 0x89ec349b
cmove ecx, eax
jmp 0x422340
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x58]
mov ecx, dword [esi + 0x58]
sub ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov ecx, 0xa3f56a44
jmp 0x422340
mov eax, dword [0x480fd8]
mov ebx, 0xb54e39e7
mov edi, 0x376c44f2
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x376c44f2
sete al
cmove ecx, ebx
cmp dword [0x480fd4], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
jmp 0x422340
cmp byte [esi + 0x32], 0
mov ecx, 0xa99d2577
jmp 0x4233d5
mov ecx, 0x6c5a215f
jmp 0x422340
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x64], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x50], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x68], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
mov ecx, dword [ebp + 8]
mov edi, 0x912e4594
mov ebx, 0xff6dce3b
mov eax, dword [esi + 0x88]
mov dword [eax], ecx
movzx ecx, byte [ebp + 0x1c]
mov eax, dword [esi + 0x44]
mov byte [eax], cl
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0x48]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x7c]
mov dword [eax], ecx
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [0x4813b0]
lea edx, [ecx + 1]
mov eax, dword [eax]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
cmp dword [0x4813ac], 0xa
setge dl
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
or dl, ch
mov ecx, 0xcae462d5
mov edx, 0xb1dd1610
cmovne ecx, edx
mov edx, 0xcae462d5
cmovne edx, edi
nop word [eax + eax]
cmp ebx, 0xcae462d4
jle 0x4231a0
cmp ebx, 0xcae462d5
je 0x4231b5
cmp ebx, 0xd198ad43
je 0x4231bf
cmp ebx, 0xff6dce3b
jne 0x423170
mov dword [esi + 4], eax
mov ebx, 0xd198ad43
jmp 0x423170
cmp ebx, 0x912e4594
je 0x4231c3
cmp ebx, 0xb1dd1610
jne 0x423170
jmp 0x423685
mov ebx, dword [esi + 4]
mov ebx, 0x912e4594
jmp 0x423170
mov ebx, edx
jmp 0x423170
mov edi, dword [esi + 4]
mov ebx, ecx
mov edi, dword [edi + 0x14]
jmp 0x423170
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x10], eax
mov eax, 0xaec0fb37
nop dword [eax + eax]
cmp eax, 0xe159b163
jle 0x423210
cmp eax, 0xe159b164
je 0x42322b
cmp eax, 0x2765c4b7
je 0x423240
cmp eax, 0x6a092593
jne 0x4231e0
jmp 0x4236a7
cmp eax, 0xa7e329d7
je 0x423293
cmp eax, 0xaec0fb37
jne 0x4231e0
mov eax, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, 0xa7e329d7
jmp 0x4231e0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [esi + 8]
push ebx
call eax
mov eax, 0x2765c4b7
jmp 0x4231e0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [esi + 8]
push ebx
call eax
mov edx, dword [0x480fd0]
mov ecx, dword [0x480fcc]
mov edi, 0x6a092593
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, 0xe159b164
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4231e0
mov eax, dword [0x480fd0]
mov edx, 0x2765c4b7
mov edi, 0xe159b164
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xe159b164
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edx
cmp dword [0x480fcc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
mov edx, 0x2765c4b7
cmovne eax, edx
jmp 0x4231e0
mov eax, dword [esi + 0x1c]
mov ecx, 0x147c0285
mov eax, dword [eax]
mov dword [esi + 0x70], eax
jmp 0x422340
mov dword [esi + 8], ecx
mov ecx, 0xd31b4366
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
nop dword [eax]
cmp ecx, 0xd31b4366
je 0x423315
cmp ecx, 0x809a3f1d
jne 0x423300
jmp 0x4236bc
mov ecx, 0x809a3f1d
jmp 0x423300
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0xc332458b
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, 0xc667497f
jmp 0x422329
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0xc0926cba
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, 0x9782fead
cmovne edi, ebx
test edx, ecx
mov edx, dword [esi + 0x44]
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
cmp byte [edx], 0
setne byte [esi + 0x31]
jmp 0x422340
mov eax, dword [esi + 0x14]
mov dword [esi + 4], eax
mov eax, 0x71fc69e4
nop word cs:[eax + eax]
cmp eax, 0xe88d4584
je 0x4237e0
cmp eax, 0x71fc69e4
jne 0x4233b0
mov ecx, dword [esi + 4]
mov eax, 0xe88d4584
jmp 0x4233b0
cmp byte [esi + 0x33], 0
mov ecx, 0x2f2de0c4
mov eax, 0x877590fa
cmovne ecx, eax
jmp 0x422340
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0x4b5663d8
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, 0x5b941331
jmp 0x4235c6
mov ecx, 0xae0889c
jmp 0x422340
mov ecx, dword [esi + 0x70]
call fcn.00411810
mov ecx, 0x4b5663d8
jmp 0x422340
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x1c]
mov edx, 0x1535d0a4
mov ecx, dword [eax]
mov eax, dword [esi + 0x3c]
nop word cs:[eax + eax]
cmp edx, 0x1535d0a4
je 0x423465
cmp edx, 0xcf3ab3c7
jne 0x423450
jmp 0x4237f3
mov edx, 0xcf3ab3c7
jmp 0x423450
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x24], eax
mov eax, dword [0x480fc8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x480fc4]
sete byte [esi + 0x94]
cmp eax, 0xa
mov eax, 0x51eb4969
setl byte [esi + 4]
nop word [eax + eax]
cmp eax, 0x51eb4968
jg 0x4234e0
cmp eax, 0xb6520103
je 0x423524
cmp eax, 0xd9b2c994
je 0x42352b
cmp eax, 0x175ecc65
jne 0x4234b0
jmp 0x423836
cmp eax, 0x66da6974
je 0x423535
cmp eax, 0x60d27c7c
je 0x42354f
cmp eax, 0x51eb4969
jne 0x4234b0
movzx ecx, byte [esi + 0x94]
movzx eax, byte [esi + 4]
mov edi, 0x60d27c7c
mov ebx, 0xb6520103
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xb6520103
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x4234b0
mov eax, 0x60d27c7c
jmp 0x4234b0
mov eax, 0x66da6974
jmp 0x4234b0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi + 8]
push dword [esi + 0x24]
call eax
mov eax, 0x175ecc65
jmp 0x4234b0
mov edx, dword [0x480fc8]
mov ecx, dword [0x480fc4]
mov edi, 0xd9b2c994
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, 0xb6520103
cmovne ebx, edi
test edx, eax
mov edx, dword [esi + 0x10]
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
mov dword [esi + 8], edx
jmp 0x4234b0
mov edx, dword [0x480fd8]
mov eax, dword [0x480fd4]
mov edi, 0x7c55bbae
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, 0x6703738d
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x422340
mov ecx, 0xf868855
jmp 0x422340
mov edi, dword [0x480fd8]
mov edx, dword [0x480fd4]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, 0x6703738d
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xa0f55e2b
cmovne edi, ebx
cmp ecx, 0xffffffff
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
mov edx, dword [esi + 0x74]
cmovge ecx, edi
cmp edx, dword [eax + 0x10]
setbe byte [esi + 0x33]
jmp 0x422340
mov ecx, dword [esi + 0x14]
push dword [esi + 0x28]
call fcn.00438230
mov eax, dword [0x480fd8]
mov edi, 0x515c2e41
mov ebx, 0x47d23d11
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x47d23d11
sete al
cmove ecx, edi
cmp dword [0x480fd4], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
jmp 0x422340
mov dword [esi + 8], edi
mov ecx, 0xf56368da
mov edx, 0x6c845d9f
mov eax, dword [esi + 8]
not eax
or eax, 0xffffbfff
cmp eax, 0xffffffff
cmove ecx, edx
jmp 0x422340
mov ecx, dword [esi + 0x14]
push dword [esi + 0x28]
call fcn.00438230
mov ecx, 0x64119f3c
jmp 0x422340
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
call fcn.00411510
lea edi, [ebp + 0xc]
mov ecx, dword [esi + 0x68]
vmovsd xmm0, qword [edi]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x68]
mov ebx, dword [esi + 0x38]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x14], edx
call fcn.00428f40
add esp, 0x18
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x24], eax
mov dword [edi + 4], eax
mov dword [edi], ecx
mov dword [esi + 0x10], ecx
mov edi, 0xf3e1cb29
mov eax, dword [esi + 0x50]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [0x4813a8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4813a4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x8aa18142
or cl, dl
mov ecx, 0xf3e1cb29
mov edx, 0xc7d2dff5
cmovne ecx, eax
mov eax, 0x4a3aac92
cmovne edi, eax
nop dword [eax]
cmp edx, 0xf3e1cb28
jle 0x4237a0
cmp edx, 0xf3e1cb29
je 0x4237d5
cmp edx, 0xfde35999
je 0x4237dc
cmp edx, 0x4a3aac92
jne 0x423770
mov edx, ecx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x80], eax
jmp 0x423770
cmp edx, 0x8aa18142
je 0x423840
cmp edx, 0xc7d2dff5
jne 0x423770
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov edx, dword [esi + 4]
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov edx, 0xfde35999
jmp 0x423770
mov edx, 0x4a3aac92
jmp 0x423770
mov edx, edi
jmp 0x423770
mov dword [esi + 8], ecx
mov ecx, 0x7c55bbae
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x74]
jmp 0x422340
mov dword [esi + 4], ecx
mov edx, 0x3bc975aa
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x30]
nop word cs:[eax + eax]
cmp edx, 0xe97ca5c
je 0x423881
cmp edx, 0x3bc975aa
jne 0x423810
mov dword [esi + 8], eax
mov edx, dword [esi + 8]
mov edx, dword [esi + 8]
mov edi, dword [ecx + 4]
mov dword [edx + 4], edi
mov edx, 0xe97ca5c
jmp 0x423810
mov ecx, 0xd6d5f011
jmp 0x422340
mov eax, dword [esi + 0x84]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x48]
movzx eax, byte [eax]
mov byte [esi + 0x1b], al
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ecx, 0xfc525291
jmp 0x422340
mov eax, dword [esi + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 8]
push dword [esi + 0x3c]
call fcn.00427640
add esp, 4
mov dword [esi + 0x8c], eax
mov ecx, 0x8ac73a91
jmp 0x422340
cmp ecx, 0xd3ddf7ac
jne 0x422340
mov ecx, dword [esi + 0x98]
xor ecx, ebp
call fcn.0043a930
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18