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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x50], ecx
movzx eax, byte [ebp + 0x1c]
mov edi, 0xbf3eb4be
mov edx, 0x5350d215
mov ecx, dword [0x4b02c0]
xor ecx, ebp
test al, al
movzx eax, al
mov dword [esi + 0x90], ecx
cmovne edx, edi
mov dword [esi + 0x68], eax
mov eax, 0xdbbe4f92
mov dword [esi + 0x74], edx
jmp 0x421950
mov eax, dword [0x4b1fb0]
mov edi, 0xf737d945
mov ebx, 0xb899c157
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb899c157
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b1fac], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop
mov ecx, eax
cmp eax, 0x3ef1937
jg 0x4219f0
cmp ecx, 0xbfe64b63
jle 0x421a50
cmp ecx, 0xdbbe4f91
jle 0x421b32
cmp ecx, 0xf4bd433b
jg 0x421c62
cmp ecx, 0xe5e20f04
jg 0x421f17
cmp ecx, 0xdbbe4f92
je 0x422168
mov eax, ecx
cmp ecx, 0xe37fa07a
jne 0x421950
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x78]
movsx ebx, byte [esi + 0x2b]
mov eax, dword [esi + 0x7c]
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 + 0xc]
mov eax, 0x9e27c2e8
jmp 0x421950
cmp ecx, 0x31a8f334
jg 0x421ac0
cmp ecx, 0x1696a7d1
jg 0x421b8a
cmp ecx, 0xbbf63b1
jg 0x421c95
cmp ecx, 0x8c30586
jg 0x421f99
cmp ecx, 0x3ef1938
je 0x4221da
mov eax, ecx
cmp ecx, 0x40b0ff2
jne 0x421950
mov eax, 0xe37fa07a
jmp 0x421950
cmp ecx, 0xa6de9490
jg 0x421bea
cmp ecx, 0x9dcfc306
jle 0x421d96
cmp ecx, 0x9e9e8466
jg 0x421fbd
cmp ecx, 0x9dcfc307
je 0x4222c1
mov eax, ecx
cmp ecx, 0x9e27c2e8
jne 0x421950
mov eax, dword [0x4b1fb0]
mov edi, 0x2056d92d
mov ebx, 0xa51e7a8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xa51e7a8
jmp 0x421937
cmp ecx, 0x4c24ed17
jg 0x421c26
cmp ecx, 0x378b8b15
jle 0x421ddb
cmp ecx, 0x3f9cda10
jg 0x421fec
cmp ecx, 0x378b8b16
je 0x4223c2
mov eax, ecx
cmp ecx, 0x3ec92dbe
jne 0x421950
mov edx, dword [0x4b1fb0]
mov ecx, dword [0x4b1fac]
mov edi, 0xca7984bc
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, 0x5d87befb
jmp 0x4229b4
cmp ecx, 0xca7984bb
jle 0x421e0e
cmp ecx, 0xda2f1628
jg 0x422049
cmp ecx, 0xca7984bc
je 0x4223cc
mov eax, ecx
cmp ecx, 0xcbc9f6ba
jne 0x421950
mov eax, dword [0x4b1fb0]
mov ebx, 0x6e005bd2
mov edi, 0xc0e8a71e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc0e8a71e
jmp 0x422b69
cmp ecx, 0x254b6fe2
jle 0x421e3e
cmp ecx, 0x288e566e
jg 0x42207e
cmp ecx, 0x254b6fe3
je 0x4224d0
mov eax, ecx
cmp ecx, 0x27e1542b
jne 0x421950
mov ecx, dword [esi + 0x18]
call fcn.004014b0
mov eax, dword [0x4b1fb0]
mov ebx, 0x143e9d96
mov edi, 0x1696a7d2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1696a7d2
jmp 0x422b69
cmp ecx, 0xb6fbaa8e
jle 0x421e97
cmp ecx, 0xb899c156
jg 0x4220cc
cmp ecx, 0xb6fbaa8f
je 0x422501
mov eax, ecx
cmp ecx, 0xb7ee14a9
jne 0x421950
mov eax, 0xa6de9491
jmp 0x421950
cmp ecx, 0x5d87befa
jle 0x421ec7
cmp ecx, 0x6e005bd1
jg 0x4220fe
cmp ecx, 0x5d87befb
je 0x42251f
mov eax, ecx
cmp ecx, 0x63dec04a
jne 0x421950
mov eax, 0x2dce1528
jmp 0x421950
cmp ecx, 0xf737d944
jg 0x42212e
mov eax, dword [esi + 0x74]
cmp ecx, 0xf4bd433c
je 0x421950
mov eax, ecx
cmp ecx, 0xf6509e61
jne 0x421950
mov eax, 0x5bafb0d0
jmp 0x421950
cmp ecx, 0x12e72576
jg 0x422152
cmp ecx, 0xbbf63b2
je 0x42261a
mov eax, ecx
cmp ecx, 0xbcf8b70
jne 0x421950
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, 0xf559fa36
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x10], ecx
nop
cmp eax, 0xeb59d71f
jle 0x421d00
cmp eax, 0xeb59d720
je 0x421d13
cmp eax, 0xdee2d82
je 0x421d4e
cmp eax, 0xf559fa36
jne 0x421cd0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push dword [esi + 0x10]
call dword [eax + 0x18]
mov eax, 0xaf382bf4
jmp 0x421cd0
cmp eax, 0xaf382bf4
je 0x421d58
cmp eax, 0xd4703a44
jne 0x421cd0
jmp 0x422657
mov eax, dword [0x4b1fa8]
mov ebx, 0xd4703a44
mov edi, 0xdee2d82
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdee2d82
sete cl
cmove eax, ebx
cmp dword [0x4b1fa4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x421cd0
mov eax, 0xeb59d720
jmp 0x421cd0
mov eax, dword [0x4b1fa8]
mov edi, 0xeb59d720
mov ebx, 0xdee2d82
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdee2d82
sete cl
cmove eax, edi
cmp dword [0x4b1fa4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x421cd0
cmp ecx, 0x810b7b7c
je 0x422750
cmp ecx, 0x863c34a6
je 0x42279c
mov eax, ecx
cmp ecx, 0x887ac306
jne 0x421950
mov eax, dword [0x4b1fb0]
mov edi, 0x27e1542b
mov ebx, 0x1696a7d2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x1696a7d2
jmp 0x42192f
cmp ecx, 0x31a8f335
je 0x4227ac
cmp ecx, 0x326cd346
je 0x4227c2
mov eax, ecx
cmp ecx, 0x33be8921
jne 0x421950
mov eax, dword [esi + 0x14]
mov eax, 0x254b6fe3
jmp 0x421950
cmp ecx, 0xbfe64b64
je 0x422875
cmp ecx, 0xc0445356
je 0x4228ac
mov eax, ecx
cmp ecx, 0xc0e8a71e
jne 0x421950
mov eax, 0xcbc9f6ba
jmp 0x421950
cmp ecx, 0x1696a7d2
je 0x4228bf
cmp ecx, 0x17d7bfa5
je 0x4228d1
mov eax, ecx
cmp ecx, 0x2056d92d
jne 0x421950
mov edx, dword [0x4b1fb0]
mov ecx, dword [0x4b1fac]
mov edi, 0xa51e7a8
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, 0x12e72577
jmp 0x422787
cmp ecx, 0xa6de9491
je 0x422985
cmp ecx, 0xafff778a
je 0x421915
mov eax, ecx
cmp ecx, 0xb224afb4
jne 0x421950
mov eax, 0x3ec92dbe
jmp 0x421950
cmp ecx, 0x4c24ed18
je 0x4229ca
cmp ecx, 0x5350d215
je 0x4229d4
mov eax, ecx
cmp ecx, 0x5bafb0d0
jne 0x421950
mov eax, dword [esi + 0x20]
mov eax, dword [0x4b1fb0]
mov ebx, 0x254b6fe3
mov edi, 0x33be8921
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x33be8921
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x422b69
cmp ecx, 0xe5e20f05
je 0x422a1a
mov eax, ecx
cmp ecx, 0xeca93f28
jne 0x421950
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
lea ebx, [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x54]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x54]
mov edi, dword [esi + 0x3c]
sub esp, 0x18
vmovsd xmm0, qword [edx]
movsx edx, byte [ebp + 0x18]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.004280d0
add esp, 0x18
mov eax, dword [esi + 0x44]
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov eax, 0x4c24ed18
jmp 0x421950
cmp ecx, 0x8c30587
je 0x422a24
mov eax, ecx
cmp ecx, 0xa51e7a8
jne 0x421950
mov eax, 0x2056d92d
jmp 0x421950
cmp ecx, 0x9e9e8467
je 0x422ad8
mov eax, ecx
cmp ecx, 0xa6736af2
jne 0x421950
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x8c]
mov dword [eax], ecx
mov eax, 0x8c30587
jmp 0x421950
cmp ecx, 0x3f9cda11
je 0x422b0c
mov eax, ecx
cmp ecx, 0x4023eff8
jne 0x421950
movzx eax, byte [ebp + 0x18]
lea ecx, [ebp + 0xc]
mov ebx, 0x40b0ff2
mov edi, 0xda7d3bc0
mov byte [esi + 0x2b], al
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x4c]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [0x4b1fb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xda7d3bc0
jmp 0x422b69
cmp ecx, 0xda2f1629
je 0x422b22
mov eax, ecx
cmp ecx, 0xda7d3bc0
jne 0x421950
lea ecx, [ebp + 0xc]
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x4c]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, 0x4023eff8
jmp 0x421950
cmp ecx, 0x288e566f
je 0x422b48
mov eax, ecx
cmp ecx, 0x2dce1528
jne 0x421950
mov ecx, dword [esi + 0x84]
mov edx, 0x5d7f5dfc
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
nop dword [eax]
cmp edx, 0x5d7f5dfc
je 0x4220c5
cmp edx, 0xef14833
jne 0x4220b0
jmp 0x422b86
mov edx, 0xef14833
jmp 0x4220b0
cmp ecx, 0xb899c157
je 0x422ba0
mov eax, ecx
cmp ecx, 0xbf3eb4be
jne 0x421950
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov eax, 0x9dcfc307
jmp 0x421950
cmp ecx, 0x6e005bd2
je 0x422c58
mov eax, ecx
cmp ecx, 0x7e547b85
jne 0x421950
cmp byte [esi + 0x2d], 0
mov eax, 0x326cd346
mov ecx, 0xeca93f28
cmovne eax, ecx
jmp 0x421950
cmp ecx, 0xf737d945
je 0x422c62
mov eax, ecx
cmp ecx, 0xfafee5ca
jne 0x421950
mov eax, 0x8c30587
jmp 0x421950
cmp ecx, 0x143e9d96
jne 0x423519
mov eax, 0xf4bd433c
jmp 0x421950
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x4c], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x18], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x5c], eax
mov eax, 0xafff778a
jmp 0x421950
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, 0xf559fa36
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x10], ecx
nop dword [eax]
cmp eax, 0xeb59d71f
jle 0x422220
cmp eax, 0xeb59d720
je 0x422233
cmp eax, 0xdee2d82
je 0x422278
cmp eax, 0xf559fa36
jne 0x4221f0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push dword [esi + 0x10]
call dword [eax + 0x18]
mov eax, 0xaf382bf4
jmp 0x4221f0
cmp eax, 0xaf382bf4
je 0x422282
cmp eax, 0xd4703a44
jne 0x4221f0
jmp 0x422d2b
mov edx, dword [0x4b1fa8]
mov ecx, dword [0x4b1fa4]
mov edi, 0xd4703a44
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, 0xdee2d82
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4221f0
mov eax, 0xeb59d720
jmp 0x4221f0
mov eax, dword [0x4b1fa8]
mov edi, 0xeb59d720
mov ebx, 0xdee2d82
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xdee2d82
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b1fa4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x4221f0
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x80]
mov edx, dword [0x4b1fa0]
lea edi, [edx - 1]
mov dword [esi + 0x10], eax
mov eax, 0xfa269b2f
imul edi, edx
mov edx, 0x8b400291
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, dword [0x4b1f9c]
sete byte [esi + 0x2e]
cmove edx, eax
sete bl
cmp edi, 0xa
mov edi, 0x8b400291
setl bh
cmovge edx, edi
setl byte [esi + 0x2f]
mov edi, 0x17f08676
xor bh, bl
cmovne edx, eax
nop word [eax + eax]
cmp edi, 0xffc44477
jg 0x422350
cmp edi, 0x8b400291
je 0x422394
cmp edi, 0xf5778017
je 0x422e1c
cmp edi, 0xfa269b2f
jne 0x422320
mov edi, 0xffc44478
jmp 0x422320
cmp edi, 0xffc44478
je 0x42239b
cmp edi, 0x50a4b79a
je 0x4223ad
cmp edi, 0x17f08676
jne 0x422320
movzx ebx, byte [esi + 0x2e]
movzx eax, byte [esi + 0x2f]
mov edi, 0x8b400291
mov ecx, 0x50a4b79a
mov bh, al
xor bh, bl
test al, al
mov eax, 0x8b400291
cmovne edi, ecx
test bl, bl
cmove edi, eax
test bh, bh
cmovne edi, ecx
jmp 0x422320
mov edi, 0x50a4b79a
jmp 0x422320
mov eax, dword [esi + 8]
mov edi, 0xf5778017
mov eax, dword [eax + 0x1c]
mov dword [esi], eax
jmp 0x422320
mov eax, dword [esi + 0x10]
mov edi, edx
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 8], eax
jmp 0x422320
mov eax, 0x9e27c2e8
jmp 0x421950
mov eax, dword [esi + 0x1c]
mov dword [esi], eax
mov eax, 0x9a30a867
nop word cs:[eax + eax]
cmp eax, 0x14834c26
jle 0x422410
cmp eax, 0x14834c27
je 0x422430
cmp eax, 0x277f6dd1
je 0x422473
cmp eax, 0x7e2e9872
jne 0x4223e0
jmp 0x422f22
cmp eax, 0x9a30a867
je 0x4224bf
cmp eax, 0x1030eb44
jne 0x4223e0
mov ecx, dword [esi]
call fcn.00409250
mov eax, 0x277f6dd1
jmp 0x4223e0
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
mov edi, 0x1030eb44
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, 0x277f6dd1
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x4223e0
mov ecx, dword [esi]
call fcn.00409250
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
mov edi, 0x7e2e9872
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, 0x1030eb44
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4223e0
mov ecx, dword [esi]
call fcn.00408c50
mov eax, 0x14834c27
jmp 0x4223e0
mov eax, dword [esi + 0x14]
mov edi, 0x63dec04a
mov ebx, 0x33be8921
mov eax, dword [eax]
mov dword [esi + 0x84], eax
mov eax, dword [0x4b1fb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x33be8921
jmp 0x421937
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
cmp eax, 1
mov eax, 0x9e9e8467
sbb ecx, 0
mov ecx, 0x288e566f
cmovl eax, ecx
jmp 0x421950
mov eax, dword [esi + 0x1c]
mov dword [esi], eax
mov eax, 0x9a30a867
nop dword [eax]
cmp eax, 0x14834c26
jle 0x422560
cmp eax, 0x14834c27
je 0x422580
cmp eax, 0x277f6dd1
je 0x4225bf
cmp eax, 0x7e2e9872
jne 0x422530
jmp 0x422f6a
cmp eax, 0x9a30a867
je 0x422609
cmp eax, 0x1030eb44
jne 0x422530
mov ecx, dword [esi]
call fcn.00409250
mov eax, 0x277f6dd1
jmp 0x422530
mov eax, dword [0x4b2428]
mov edi, 0x277f6dd1
mov ebx, 0x1030eb44
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x1030eb44
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b2424], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x422530
mov ecx, dword [esi]
call fcn.00409250
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
mov edi, 0x1030eb44
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, 0x7e2e9872
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x422530
mov ecx, dword [esi]
call fcn.00408c50
mov eax, 0x14834c27
jmp 0x422530
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push dword [esi + 0x34]
call fcn.0041ba10
push dword [esi + 0x34]
call fcn.004273c0
add esp, 4
mov ecx, dword [esi + 0x34]
mov ebx, eax
call fcn.0041bb70
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov dword [eax], ebx
mov eax, dword [esi + 0x18]
mov eax, 0x887ac306
jmp 0x421950
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
mov eax, 0x1a7685ae
nop dword [eax + eax]
cmp eax, 0x1a7685ad
jle 0x4226d0
cmp eax, 0x51f5bb6e
je 0x4226e9
cmp eax, 0x23056657
je 0x42273b
cmp eax, 0x1a7685ae
jne 0x422670
mov eax, dword [0x4b1f98]
mov ebx, 0x51f5bb6e
mov edi, 0x23056657
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x23056657
sete cl
cmove eax, ebx
cmp dword [0x4b1f94], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x422670
cmp eax, 0x9fe9cd99
je 0x422f77
cmp eax, 0xdcf936c4
jne 0x422670
mov eax, 0x9fe9cd99
jmp 0x422670
mov eax, dword [esi + 0xc]
mov dword [esi], eax
mov ecx, dword [esi]
push dword [esi + 0x10]
call fcn.00437cc0
mov edx, dword [0x4b1f98]
mov ecx, dword [0x4b1f94]
mov edi, 0xdcf936c4
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, 0x23056657
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x422670
mov ecx, dword [esi + 0xc]
push dword [esi + 0x10]
call fcn.00437cc0
mov eax, 0x51f5bb6e
jmp 0x422670
mov eax, dword [esi + 0x20]
mov edi, 0xc0445356
mov dword [eax], 0
mov edx, dword [0x4b1fb0]
mov ecx, dword [0x4b1fac]
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, 0xe5e20f05
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x421950
mov eax, dword [esi + 0x68]
mov dword [esi + 0x78], eax
mov eax, 0xda2f1629
jmp 0x421950
cmp byte [esi + 0x2a], 0
mov eax, 0x863c34a6
mov ecx, 0xbbf63b2
cmovne eax, ecx
jmp 0x421950
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x18]
mov edx, 0xda39841d
mov dword [esi + 0x24], eax
mov eax, dword [0x4b1fe0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b1fdc], 0xa
setl cl
or cl, al
mov eax, 0xc10aa512
mov ecx, 0x2e5a1101
cmovne eax, ecx
mov ecx, 0xc10aa512
cmovne ecx, edx
mov edx, 0xbe7f4f30
nop dword [eax]
cmp edx, 0xda39841c
jle 0x422840
cmp edx, 0xda39841d
je 0x42285a
cmp edx, 0x2e5a1101
je 0x422f83
cmp edx, 0x59837c41
jne 0x422810
mov edx, ecx
jmp 0x422810
cmp edx, 0xbe7f4f30
je 0x422865
cmp edx, 0xc10aa512
jne 0x422810
mov edx, dword [esi + 8]
mov edx, 0xda39841d
jmp 0x422810
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, eax
jmp 0x422810
mov edx, dword [esi + 0x24]
add edx, 0x10
mov dword [esi + 8], edx
mov edx, 0x59837c41
jmp 0x422810
mov eax, dword [esi + 0x14]
mov edx, 0x5d7f5dfc
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
nop word cs:[eax + eax]
cmp edx, 0x5d7f5dfc
je 0x4228a5
cmp edx, 0xef14833
jne 0x422890
jmp 0x422fac
mov edx, 0xef14833
jmp 0x422890
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov eax, 0x810b7b7c
jmp 0x421950
mov ecx, dword [esi + 0x18]
call fcn.004014b0
mov eax, 0x27e1542b
jmp 0x421950
mov eax, dword [esi + 0x18]
mov edx, 0xda39841d
mov dword [esi + 0x24], eax
mov eax, dword [0x4b1fe0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4b1fdc], 0xa
setl cl
or cl, al
mov eax, 0xc10aa512
mov ecx, 0x2e5a1101
cmovne eax, ecx
mov ecx, 0xc10aa512
cmovne ecx, edx
mov edx, 0xbe7f4f30
nop word [eax + eax]
cmp edx, 0xda39841c
jle 0x422950
cmp edx, 0xda39841d
je 0x42296a
cmp edx, 0x2e5a1101
je 0x423075
cmp edx, 0x59837c41
jne 0x422920
mov edx, ecx
jmp 0x422920
cmp edx, 0xbe7f4f30
je 0x422975
cmp edx, 0xc10aa512
jne 0x422920
mov edx, dword [esi + 8]
mov edx, 0xda39841d
jmp 0x422920
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, eax
jmp 0x422920
mov edx, dword [esi + 0x24]
add edx, 0x10
mov dword [esi + 8], edx
mov edx, 0x59837c41
jmp 0x422920
mov edx, dword [0x4b1fb0]
mov ecx, dword [0x4b1fac]
mov edi, 0xcbc9f6ba
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, 0xc0e8a71e
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x421950
mov eax, 0x326cd346
jmp 0x421950
mov edx, dword [0x4b1fb0]
mov ecx, dword [0x4b1fac]
mov edi, 0xbcf8b70
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, 0x3ef1938
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x1c]
cmovge eax, edi
jmp 0x421950
mov eax, 0xfafee5ca
jmp 0x421950
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b23b8]
mov edi, 0xed1e6737
mov ebx, 0x150ac9d8
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 [0x4b23b4], 0xa
setge ch
setl dh
or ch, cl
xor dh, dl
xor ch, 1
or ch, dh
mov ecx, 0x915d8945
mov edx, 0x6382b2a5
cmovne ecx, edx
mov edx, 0x915d8945
cmovne edx, edi
nop word [eax + eax]
cmp ebx, 0xfeb0f67d
jle 0x422ab0
cmp ebx, 0xfeb0f67e
je 0x422aca
cmp ebx, 0x6382b2a5
je 0x42308d
cmp ebx, 0x150ac9d8
jne 0x422a80
mov dword [esi + 8], eax
mov ebx, 0xfeb0f67e
jmp 0x422a80
cmp ebx, 0x915d8945
je 0x422ace
cmp ebx, 0xed1e6737
jne 0x422a80
mov edi, dword [esi + 8]
mov ebx, ecx
mov edi, dword [edi + 0x14]
jmp 0x422a80
mov ebx, edx
jmp 0x422a80
mov ebx, dword [esi + 8]
mov ebx, 0xed1e6737
jmp 0x422a80
mov eax, dword [esi + 0x14]
mov edx, 0x5d7f5dfc
mov ecx, dword [eax]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
nop dword [eax + eax]
cmp edx, 0x5d7f5dfc
je 0x422b05
cmp edx, 0xef14833
jne 0x422af0
jmp 0x4230ac
mov edx, 0xef14833
jmp 0x422af0
cmp byte [esi + 0x2c], 0
mov eax, 0xbfe64b64
mov ecx, 0x288e566f
cmovne eax, ecx
jmp 0x421950
mov eax, dword [0x4b1fb0]
mov edi, 0x4023eff8
mov ebx, 0xda7d3bc0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xda7d3bc0
jmp 0x421937
mov eax, dword [0x4b1fb0]
mov ebx, 0x810b7b7c
mov edi, 0xc0445356
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc0445356
sete cl
cmove eax, ebx
cmp dword [0x4b1fac], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x421950
mov dword [esi + 4], ecx
mov dword [esi], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xb6fbaa8f
jmp 0x421950
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp + 0x14]
mov edi, 0xed1e6737
mov ebx, 0x150ac9d8
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b23b8]
lea edx, [ecx - 1]
mov eax, dword [eax]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4b23b4], 0xa
setl dl
or dl, cl
mov ecx, 0x915d8945
mov edx, 0x6382b2a5
cmovne ecx, edx
mov edx, 0x915d8945
cmovne edx, edi
nop word [eax + eax]
cmp ebx, 0xfeb0f67d
jle 0x422c30
cmp ebx, 0xfeb0f67e
je 0x422c4a
cmp ebx, 0x6382b2a5
je 0x4230c6
cmp ebx, 0x150ac9d8
jne 0x422c00
mov dword [esi + 8], eax
mov ebx, 0xfeb0f67e
jmp 0x422c00
cmp ebx, 0x915d8945
je 0x422c4e
cmp ebx, 0xed1e6737
jne 0x422c00
mov edi, dword [esi + 8]
mov ebx, ecx
mov edi, dword [edi + 0x14]
jmp 0x422c00
mov ebx, edx
jmp 0x422c00
mov ebx, dword [esi + 8]
mov ebx, 0xed1e6737
jmp 0x422c00
mov eax, 0x5bafb0d0
jmp 0x421950
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp + 0x14]
mov edi, 0x915d8945
mov ebx, 0x150ac9d8
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b23b8]
lea edx, [ecx + 1]
mov eax, dword [eax]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4b23b4], 0xa
setl dl
or dl, cl
mov edx, 0x915d8945
mov ecx, 0x6382b2a5
cmovne edx, ecx
mov ecx, 0xed1e6737
cmovne edi, ecx
nop word cs:[eax + eax]
cmp ebx, 0xfeb0f67d
jle 0x422d00
cmp ebx, 0xfeb0f67e
je 0x422d1d
cmp ebx, 0x6382b2a5
je 0x4230d4
cmp ebx, 0x150ac9d8
jne 0x422cd0
mov dword [esi + 8], eax
mov ebx, 0xfeb0f67e
jmp 0x422cd0
cmp ebx, 0x915d8945
je 0x422d21
cmp ebx, 0xed1e6737
jne 0x422cd0
mov ecx, dword [esi + 8]
mov ebx, edx
mov ecx, dword [ecx + 0x14]
mov dword [esi + 0xc], ecx
jmp 0x422cd0
mov ebx, edi
jmp 0x422cd0
mov ebx, dword [esi + 8]
mov ebx, 0xed1e6737
jmp 0x422cd0
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
mov eax, 0x1a7685ae
nop dword [eax]
cmp eax, 0x1a7685ad
jle 0x422da0
cmp eax, 0x51f5bb6e
je 0x422db9
cmp eax, 0x23056657
je 0x422e07
cmp eax, 0x1a7685ae
jne 0x422d40
mov eax, dword [0x4b1f98]
mov ebx, 0x51f5bb6e
mov edi, 0x23056657
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x23056657
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b1f94], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x422d40
cmp eax, 0x9fe9cd99
je 0x42312d
cmp eax, 0xdcf936c4
jne 0x422d40
mov eax, 0x9fe9cd99
jmp 0x422d40
mov eax, dword [esi + 0xc]
mov dword [esi], eax
mov ecx, dword [esi]
push dword [esi + 0x10]
call fcn.00437cc0
mov eax, dword [0x4b1f98]
mov edi, 0xdcf936c4
mov ebx, 0x23056657
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x23056657
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b1f94], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x422d40
mov ecx, dword [esi + 0xc]
push dword [esi + 0x10]
call fcn.00437cc0
mov eax, 0x51f5bb6e
jmp 0x422d40
mov ecx, dword [esi + 0x24]
mov eax, dword [esi]
push dword [esi + 0xc]
call eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xc], eax
mov eax, 0x1a7685ae
nop word [eax + eax]
cmp eax, 0x1a7685ad
jle 0x422ea0
cmp eax, 0x51f5bb6e
je 0x422eb9
cmp eax, 0x23056657
je 0x422f0d
cmp eax, 0x1a7685ae
jne 0x422e40
mov edx, dword [0x4b1f98]
mov edi, dword [0x4b1f94]
mov ecx, 0x51f5bb6e
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov ebx, 0x23056657
cmovne ebx, ecx
test edx, eax
mov eax, ebx
cmove eax, ecx
cmp edi, 0xa
cmovge eax, ebx
jmp 0x422e40
cmp eax, 0x9fe9cd99
je 0x423155
cmp eax, 0xdcf936c4
jne 0x422e40
mov eax, 0x9fe9cd99
jmp 0x422e40
mov eax, dword [esi + 0x10]
mov dword [esi], eax
mov ecx, dword [esi]
push dword [esi + 0xc]
call fcn.00437cc0
mov edx, dword [0x4b1f98]
mov ecx, dword [0x4b1f94]
mov ebx, 0xdcf936c4
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, 0x23056657
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x422e40
mov ecx, dword [esi + 0x10]
push dword [esi + 0xc]
call fcn.00437cc0
mov eax, 0x51f5bb6e
jmp 0x422e40
mov edx, dword [0x4b1fb0]
mov ecx, dword [0x4b1fac]
mov edi, 0xb7ee14a9
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, 0x5d87befb
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x1c]
cmovge eax, edx
jmp 0x421950
mov eax, dword [esi + 0x1c]
mov eax, 0xca7984bc
jmp 0x421950
mov eax, dword [esi]
mov eax, 0x3ef1938
jmp 0x421950
mov eax, dword [esi]
mov ecx, 0xc2a3583a
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x18]
cmp ecx, 0xc2a3583a
je 0x422fa5
cmp ecx, 0x3596fd1c
jne 0x422f90
jmp 0x42325a
mov ecx, 0x3596fd1c
jmp 0x422f90
mov dword [esi], eax
mov dword [esi + 4], ecx
mov edi, 0xda39841d
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x24], ecx
mov ecx, dword [0x4b1fe0]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne cl
cmp dword [0x4b1fdc], 0xa
setge dl
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
or dl, ch
mov ecx, 0xc10aa512
mov edx, 0x2e5a1101
cmovne ecx, edx
mov edx, 0xc10aa512
cmovne edx, edi
mov edi, 0xbe7f4f30
nop word [eax + eax]
cmp edi, 0xda39841c
jle 0x423040
cmp edi, 0xda39841d
je 0x42305a
cmp edi, 0x2e5a1101
je 0x42339a
cmp edi, 0x59837c41
jne 0x423010
mov edi, edx
jmp 0x423010
cmp edi, 0xbe7f4f30
je 0x423065
cmp edi, 0xc10aa512
jne 0x423010
mov edi, dword [esi + 8]
mov edi, 0xda39841d
jmp 0x423010
mov edi, dword [esi + 8]
mov edi, dword [edi]
mov dword [esi], edi
mov edi, ecx
jmp 0x423010
mov edi, dword [esi + 0x24]
add edi, 0x10
mov dword [esi + 8], edi
mov edi, 0x59837c41
jmp 0x423010
mov eax, dword [esi]
mov ecx, dword [esi + 0x88]
cmp ecx, eax
mov eax, 0x3f9cda11
setbe byte [esi + 0x2c]
jmp 0x421950
mov dword [esi], edi
mov eax, dword [esi]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov eax, 0x7e547b85
cmp ecx, 0x40
setne byte [esi + 0x2d]
jmp 0x421950
mov dword [esi + 4], ecx
mov dword [esi], eax
mov eax, dword [esi + 4]
mov eax, dword [esi]
mov dword [esi + 0x88], eax
mov eax, 0x17d7bfa5
jmp 0x421950
mov dword [esi], edi
mov eax, dword [esi]
mov eax, 0xf737d945
jmp 0x421950
mov edi, dword [0x4b1fb0]
mov edx, dword [0x4b1fac]
lea eax, [edi + 1]
imul eax, edi
mov edi, 0xb899c157
mov ebx, eax
xor ebx, 0xfffffffe
test ebx, eax
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0x31a8f335
cmovne edi, ecx
test ebx, eax
mov eax, edi
cmove eax, ecx
mov ecx, dword [esi + 0xc]
cmp edx, 0xa
cmovge eax, edi
mov dword [esi], ecx
mov ecx, dword [esi]
not ecx
or ecx, 0xffffbfff
cmp ecx, 0xffffffff
setne byte [esi + 0x2a]
jmp 0x421950
mov eax, dword [esi]
mov eax, dword [0x4b1fb0]
mov edi, 0xb224afb4
mov ebx, 0xbcf8b70
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xbcf8b70
jmp 0x421937
mov eax, dword [esi]
mov eax, dword [esi + 0x38]
mov dword [esi], eax
mov eax, 0x9a30a867
nop word cs:[eax + eax]
cmp eax, 0x14834c26
jle 0x4231a0
cmp eax, 0x14834c27
je 0x4231c0
cmp eax, 0x277f6dd1
je 0x423203
cmp eax, 0x7e2e9872
jne 0x423170
jmp 0x4233ac
cmp eax, 0x9a30a867
je 0x423249
cmp eax, 0x1030eb44
jne 0x423170
mov ecx, dword [esi]
call fcn.00409250
mov eax, 0x277f6dd1
jmp 0x423170
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
mov edi, 0x1030eb44
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, 0x277f6dd1
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x423170
mov ecx, dword [esi]
call fcn.00409250
mov eax, dword [0x4b2428]
mov ebx, 0x7e2e9872
mov edi, 0x1030eb44
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x1030eb44
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b2424], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x423170
mov ecx, dword [esi]
call fcn.00408c50
mov eax, 0x14834c27
jmp 0x423170
mov dword [esi], eax
mov ecx, dword [esi]
call fcn.0040f400
lea edi, [ebp + 0xc]
mov ecx, dword [esi + 0x58]
vmovsd xmm0, qword [edi]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x58]
mov ebx, dword [esi + 0x3c]
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 + 0xc]
mov dword [esp + 0x14], edx
call fcn.004285e0
add esp, 0x18
mov eax, dword [esi + 0x48]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
mov dword [edi + 4], eax
mov dword [edi], ecx
mov dword [esi + 0xc], ecx
mov edi, 0x588f8184
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4b23c0]
mov eax, dword [eax]
mov dword [esi + 8], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4b23bc], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xea49ca7a
not dl
or dl, ch
mov ecx, 0x588f8184
test dl, 1
mov edx, 0x18b561d9
cmovne ecx, eax
mov eax, 0x90deb9c1
cmovne edi, eax
nop word [eax + eax]
cmp edx, 0xea49ca79
jle 0x423350
cmp edx, 0xea49ca7a
je 0x4233b9
cmp edx, 0x588f8184
je 0x423364
cmp edx, 0x18b561d9
jne 0x423310
mov eax, dword [esi + 8]
mov edx, 0xd90edd34
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
jmp 0x423310
cmp edx, 0x90deb9c1
je 0x42337c
cmp edx, 0xd90edd34
jne 0x423310
mov edx, edi
jmp 0x423310
mov edx, dword [esi + 8]
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov edx, 0x90deb9c1
jmp 0x423310
mov edx, dword [esi + 8]
mov dword [esi + 0x70], ebx
mov dword [esi + 0x6c], eax
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov edx, ecx
jmp 0x423310
sub eax, dword [esi]
mov dword [esi + 0x8c], eax
mov eax, 0xa6736af2
jmp 0x421950
mov eax, dword [esi + 0x38]
mov eax, 0xf6509e61
jmp 0x421950
mov eax, dword [esi + 0x70]
mov dword [esi], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 4], eax
mov eax, dword [esi]
mov eax, dword [esi + 4]
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x10]
mov dword [ecx + 4], edx
mov edx, dword [esi + 0xc]
mov dword [ecx], edx
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x3c]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
movsx edi, byte [ebp + 0x18]
mov ecx, dword [ebp + 8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004280d0
add esp, 0x18
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov dword [esi], eax
mov eax, 0x9a30a867
nop word [eax + eax]
cmp eax, 0x14834c26
jle 0x423450
cmp eax, 0x14834c27
je 0x423470
cmp eax, 0x277f6dd1
je 0x4234ae
cmp eax, 0x7e2e9872
jne 0x423420
jmp 0x423509
cmp eax, 0x9a30a867
je 0x4234f8
cmp eax, 0x1030eb44
jne 0x423420
mov ecx, dword [esi]
call fcn.00409250
mov eax, 0x277f6dd1
jmp 0x423420
mov eax, dword [0x4b2428]
mov edi, 0x277f6dd1
mov ebx, 0x1030eb44
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1030eb44
sete cl
cmove eax, edi
cmp dword [0x4b2424], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x423420
mov ecx, dword [esi]
call fcn.00409250
mov edx, dword [0x4b2428]
mov ecx, dword [0x4b2424]
mov edi, 0x1030eb44
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, 0x7e2e9872
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x423420
mov ecx, dword [esi]
call fcn.00408c50
mov eax, 0x14834c27
jmp 0x423420
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x30]
mov eax, 0x378b8b16
jmp 0x421950
mov eax, ecx
cmp ecx, 0x12e72577
jne 0x421950
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.0043a770
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18