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

Disassembly:
mov ecx, dword [0x5d55ec]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xa4]
cmp eax, dword [ecx + 8]
jbe 0x416cb9
sub esp, 0x124
movzx eax, byte [0x5d54cb]
test al, al
jne 0x41518b
lea eax, [0x4c5700]
mov dword [esp], eax
mov dword [esp + 4], 0x44
mov dword [esp + 8], 0x45
call fcn.0044d270
mov eax, dword [esp + 0xc]
mov dword [0x596cdc], 0x44
mov dword [0x596ce0], 0x45
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41516c
call fcn.004676b0
mov dword [edi], eax
mov edx, dword [0x596cd8]
mov dword [edi + 4], edx
mov dword [0x596cd8], eax
mov edx, dword [0x596cd8]
movsd xmm0, qword [0x500aa8]
movsd qword [edx], xmm0
mov eax, 1
jmp 0x4151a7
add esp, 0x124
ret
mov ebp, dword [0x596cd8]
inc ebx
movzx ebx, bx
cvtsi2sd xmm0, ebx
movsd qword [ebp + eax*8], xmm0
inc eax
cmp eax, 0x44
jge 0x4151c5
mov ecx, dword [0x596cdc]
lea edx, [0x57dcc0]
movzx ebx, word [edx + eax*2]
cmp eax, ecx
jb 0x415192
jmp 0x416cb3
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0x7ff00000
mov eax, dword [0x596ce0]
mov ecx, dword [0x596cdc]
inc ecx
mov edx, dword [0x596cd8]
movsd xmm0, qword [esp + 0xdc]
cmp eax, ecx
jae 0x415261
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, [0x4c5700]
mov dword [esp + 0x10], eax
call fcn.0044d330
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [0x596ce0], eax
mov eax, dword [0x5d5690]
test eax, eax
je 0x41524f
call fcn.004676b0
mov dword [edi], ecx
mov eax, dword [0x596cd8]
mov dword [edi + 4], eax
mov dword [0x596cd8], ecx
movsd xmm0, qword [esp + 0x24]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [0x596cdc], ecx
movsd qword [edx + ecx*8 - 8], xmm0
call fcn.00409850
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [0x596cec], eax
mov dword [0x596cf0], ecx
mov eax, dword [0x5d5690]
test eax, eax
je 0x4152a3
call fcn.004676b0
mov dword [edi], edx
mov eax, dword [0x596ce8]
mov dword [edi + 4], eax
mov dword [0x596ce8], edx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov dword [esp + 4], 0x38
mov dword [esp + 8], 0
call fcn.0040d900
mov eax, dword [esp + 0xc]
mov dword [esp + 0x120], eax
lea ecx, [0x4c67e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x4dfbb8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41531b
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62d8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415332
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41532a
mov dword [esp + 0xd0], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e36d0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415390
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6304]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4153a7
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41539f
mov dword [esp + 0xcc], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e3e55]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2a
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415405
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6330]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41541c
or ecx, 4
mov eax, 1
test eax, eax
jle 0x415414
mov dword [esp + 0xc8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e3183]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x25
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41547a
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e635c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415491
or ecx, 4
mov eax, 1
test eax, eax
jle 0x415489
mov dword [esp + 0xc4], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e23c0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4154ef
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6388]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415506
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4154fe
mov dword [esp + 0xc0], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e23e1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415564
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e63a8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41557b
or ecx, 4
mov eax, 1
test eax, eax
jle 0x415573
mov dword [esp + 0xbc], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e130a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4155d9
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e63ac]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4155f0
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4155e8
mov dword [esp + 0xb8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e3993]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x28
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41564e
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e63b0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415665
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41565d
mov dword [esp + 0xb4], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e4353]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2c
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4156c3
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e63b4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4156da
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4156d2
mov dword [esp + 0xb0], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e36f7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415738
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62dc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41574f
or ecx, 4
mov eax, 1
test eax, eax
jle 0x415747
mov dword [esp + 0xac], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1856]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4157ad
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62e0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4157c4
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4157bc
mov dword [esp + 0xa8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1327]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415822
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62e4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415839
or ecx, 2
mov eax, 1
test eax, eax
jle 0x415831
mov dword [esp + 0xa4], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1874]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415897
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62e8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4158ae
or ecx, 2
mov eax, 1
test eax, eax
jle 0x4158a6
mov dword [esp + 0xa0], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e0925]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1b
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41590c
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62ec]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415923
or ecx, 2
mov eax, 1
test eax, eax
jle 0x41591b
mov dword [esp + 0x9c], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e056b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1a
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415981
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62f0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415998
or ecx, 8
mov eax, 1
test eax, eax
jle 0x415990
mov dword [esp + 0x98], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df18b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4159f6
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62f4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415a0d
or ecx, 8
mov eax, 1
test eax, eax
jle 0x415a05
mov dword [esp + 0x94], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de0d1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415a6b
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62f8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415a82
or ecx, 8
mov eax, 1
test eax, eax
jle 0x415a7a
mov dword [esp + 0x90], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de76f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415ae0
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e62fc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415af7
or ecx, 8
mov eax, 1
test eax, eax
jle 0x415aef
mov dword [esp + 0x8c], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de783]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415b55
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6300]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415b6c
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415b64
mov dword [esp + 0x88], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1344]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415bca
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6308]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415be1
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415bd9
mov dword [esp + 0x84], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4dec13]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x15
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415c3f
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e630c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415c56
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415c4e
mov dword [esp + 0x80], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df6ac]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415cb4
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6310]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415ccb
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415cc3
mov dword [esp + 0x7c], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e0e61]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415d23
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6314]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415d3a
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415d32
mov dword [esp + 0x78], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de797]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415d92
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6318]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415da9
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415da1
mov dword [esp + 0x74], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df1a1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415e01
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e631c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415e18
or ecx, 2
mov eax, 1
test eax, eax
jle 0x415e10
mov dword [esp + 0x70], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de0e4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415e70
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6320]
mov dword [eax + 8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de7ab]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415ec9
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6324]
mov dword [eax + 8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4dd2be]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x10
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415f22
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6328]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415f39
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415f31
mov dword [esp + 0x6c], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de0f7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x415f91
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e632c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415fa8
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415fa0
mov dword [esp + 0x68], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4dfbd0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x416000
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6334]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416017
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41600f
mov dword [esp + 0x64], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e0e7d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41606f
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6338]
mov dword [eax + 8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e2402]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4160c8
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e633c]
mov dword [eax + 8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ddcc0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x12
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x416121
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6340]
mov dword [eax + 8], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1361]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x41617a
mov ecx, dword [eax + 8]
call fcn.004676a0
mov dword [edi], ecx
lea ecx, [0x4e6344]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x416191
or ecx, 1
mov eax, 1
test eax, eax
jle 0x416189
mov dword [esp + 0x60], ecx
lea eax, [0x4c67e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1c22]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1f
call fcn.00410fc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d5690]
test ecx, ecx
je 0x4161e9
call fcn.00467720
nop
call fcn.004662a0
jmp fcn.004150f0