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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xa4]
cmp eax, dword [ecx + 8]
jbe 0x417d19
sub esp, 0x124
movzx eax, byte [0x9aecfa]
test al, al
jne 0x4161eb
lea eax, [0x692d80]
mov dword [esp], eax
mov dword [esp + 4], 0x44
mov dword [esp + 8], 0x45
call fcn.004507f0
mov eax, dword [esp + 0xc]
mov dword [0x96f2bc], 0x44
mov dword [0x96f2c0], 0x45
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4161cc
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [0x96f2b8]
mov dword [edi + 4], edx
mov dword [0x96f2b8], eax
mov edx, dword [0x96f2b8]
movsd xmm0, qword [0x7487e0]
movsd qword [edx], xmm0
mov eax, 1
jmp 0x416207
add esp, 0x124
ret
mov ebp, dword [0x96f2b8]
inc ebx
movzx ebx, bx
cvtsi2sd xmm0, ebx
movsd qword [ebp + eax*8], xmm0
inc eax
cmp eax, 0x44
jge 0x416225
mov ecx, dword [0x96f2bc]
lea edx, [0x93f960]
movzx ebx, word [edx + eax*2]
cmp eax, ecx
jb 0x4161f2
jmp 0x417d13
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0x7ff00000
mov eax, dword [0x96f2c0]
mov ecx, dword [0x96f2bc]
inc ecx
mov edx, dword [0x96f2b8]
movsd xmm0, qword [esp + 0xdc]
cmp eax, ecx
jae 0x4162c1
movsd qword [esp + 0x24], xmm0
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x692d80]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [0x96f2c0], eax
mov eax, dword [0x9aef70]
test eax, eax
je 0x4162af
call fcn.0046c8a0
mov dword [edi], ecx
mov eax, dword [0x96f2b8]
mov dword [edi + 4], eax
mov dword [0x96f2b8], ecx
movsd xmm0, qword [esp + 0x24]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [0x96f2bc], ecx
movsd qword [edx + ecx*8 - 8], xmm0
call fcn.00409b60
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [0x96f2cc], eax
mov dword [0x96f2d0], ecx
mov eax, dword [0x9aef70]
test eax, eax
je 0x416303
call fcn.0046c8a0
mov dword [edi], edx
mov eax, dword [0x96f2c8]
mov dword [edi + 4], eax
mov dword [0x96f2c8], edx
lea eax, [0x695c00]
mov dword [esp], eax
mov dword [esp + 4], 0x38
mov dword [esp + 8], 0
call fcn.0040dd20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x120], eax
lea ecx, [0x695c00]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6d8339]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x41637b
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa170]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416392
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41638a
mov dword [esp + 0xd0], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6df860]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4163f0
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa19c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416407
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4163ff
mov dword [esp + 0xcc], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6e0966]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2a
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416465
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1c8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41647c
or ecx, 4
mov eax, 1
test eax, eax
jle 0x416474
mov dword [esp + 0xc8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6dec3c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x25
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4164da
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1f4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4164f1
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4164e9
mov dword [esp + 0xc4], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6dcfd5]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x41654f
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa220]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416566
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41655e
mov dword [esp + 0xc0], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6dcff6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4165c4
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa240]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4165db
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4165d3
mov dword [esp + 0xbc], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6db019]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416639
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa244]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416650
or ecx, 4
mov eax, 1
test eax, eax
jle 0x416648
mov dword [esp + 0xb8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6dff05]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x28
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4166ae
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa248]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4166c5
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4166bd
mov dword [esp + 0xb4], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6e14d2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2c
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416723
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa24c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41673a
or ecx, 4
mov eax, 1
test eax, eax
jle 0x416732
mov dword [esp + 0xb0], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6df887]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416798
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa174]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4167af
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4167a7
mov dword [esp + 0xac], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6db91b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x41680d
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa178]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416824
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41681c
mov dword [esp + 0xa8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6db036]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416882
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa17c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416899
or ecx, 2
mov eax, 1
test eax, eax
jle 0x416891
mov dword [esp + 0xa4], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6db939]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4168f7
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa180]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41690e
or ecx, 2
mov eax, 1
test eax, eax
jle 0x416906
mov dword [esp + 0xa0], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d9d60]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1b
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x41696c
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa184]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416983
or ecx, 2
mov eax, 1
test eax, eax
jle 0x41697b
mov dword [esp + 0x9c], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d9686]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1a
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4169e1
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa188]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4169f8
or ecx, 8
mov eax, 1
test eax, eax
jle 0x4169f0
mov dword [esp + 0x98], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d70b8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416a56
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa18c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416a6d
or ecx, 8
mov eax, 1
test eax, eax
jle 0x416a65
mov dword [esp + 0x94], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d564c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416acb
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa190]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416ae2
or ecx, 8
mov eax, 1
test eax, eax
jle 0x416ada
mov dword [esp + 0x90], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d5f55]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416b40
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa194]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416b57
or ecx, 8
mov eax, 1
test eax, eax
jle 0x416b4f
mov dword [esp + 0x8c], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d5f69]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416bb5
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa198]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416bcc
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416bc4
mov dword [esp + 0x88], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6db053]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416c2a
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1a0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416c41
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416c39
mov dword [esp + 0x84], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d67f9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x15
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416c9f
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1a4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416cb6
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416cae
mov dword [esp + 0x80], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d7a93]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416d14
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1a8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416d2b
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416d23
mov dword [esp + 0x7c], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6da69c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416d83
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1ac]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416d9a
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416d92
mov dword [esp + 0x78], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d5f7d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416df2
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1b0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416e09
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416e01
mov dword [esp + 0x74], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d70ce]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416e61
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1b4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416e78
or ecx, 2
mov eax, 1
test eax, eax
jle 0x416e70
mov dword [esp + 0x70], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d565f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416ed0
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1b8]
mov dword [eax + 8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d5f91]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416f29
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1bc]
mov dword [eax + 8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d3f32]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x10
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416f82
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1c0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416f99
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416f91
mov dword [esp + 0x6c], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d5672]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x416ff1
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1c4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x417008
or ecx, 1
mov eax, 1
test eax, eax
jle 0x417000
mov dword [esp + 0x68], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d8351]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x417060
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1cc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x417077
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41706f
mov dword [esp + 0x64], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6da6b8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4170cf
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1d0]
mov dword [eax + 8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6dd017]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x417128
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1d4]
mov dword [eax + 8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6d4e00]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x12
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x417181
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1d8]
mov dword [eax + 8], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6db070]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x4171da
mov ecx, dword [eax + 8]
call fcn.0046c890
mov dword [edi], ecx
lea ecx, [0x6fa1dc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4171f1
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4171e9
mov dword [esp + 0x60], ecx
lea eax, [0x695c00]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x6dc100]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1f
call fcn.00411d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x9aef70]
test ecx, ecx
je 0x417249
call fcn.0046c910
nop
call fcn.0046b490
jmp fcn.00416150