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

Disassembly:
mov ecx, dword [0x5b8348]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xa4]
cmp eax, dword [ecx + 8]
jbe 0x413199
sub esp, 0x124
movzx eax, byte [0x5b822e]
test al, al
jne 0x41166b
lea eax, [0x4c8a80]
mov dword [esp], eax
mov dword [esp + 4], 0x44
mov dword [esp + 8], 0x45
call fcn.00469530
mov eax, dword [esp + 0xc]
mov dword [0x59957c], 0x44
mov dword [0x599580], 0x45
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x41164c
call fcn.0046e550
mov dword [edi], eax
mov edx, dword [0x599578]
mov dword [edi + 4], edx
mov dword [0x599578], eax
mov edx, dword [0x599578]
movsd xmm0, qword [0x504f48]
movsd qword [edx], xmm0
mov eax, 1
jmp 0x411687
add esp, 0x124
ret
mov ebp, dword [0x599578]
inc ebx
movzx ebx, bx
cvtsi2sd xmm0, ebx
movsd qword [ebp + eax*8], xmm0
inc eax
cmp eax, 0x44
jge 0x4116a5
mov ecx, dword [0x59957c]
lea edx, [0x58e9a0]
movzx ebx, word [edx + eax*2]
cmp eax, ecx
jb 0x411672
jmp 0x413193
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0x7ff00000
mov eax, dword [0x599580]
mov ecx, dword [0x59957c]
inc ecx
mov edx, dword [0x599578]
movsd xmm0, qword [esp + 0xdc]
cmp eax, ecx
jae 0x411741
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, [0x4c8a80]
mov dword [esp + 0x10], eax
call fcn.004695e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [0x599580], eax
mov eax, dword [0x5b8448]
test eax, eax
je 0x41172f
call fcn.0046e550
mov dword [edi], ecx
mov eax, dword [0x599578]
mov dword [edi + 4], eax
mov dword [0x599578], ecx
movsd xmm0, qword [esp + 0x24]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [0x59957c], ecx
movsd qword [edx + ecx*8 - 8], xmm0
call fcn.00408fa0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [0x59958c], eax
mov dword [0x599590], ecx
mov eax, dword [0x5b8448]
test eax, eax
je 0x411783
call fcn.0046e550
mov dword [edi], edx
mov eax, dword [0x599588]
mov dword [edi + 4], eax
mov dword [0x599588], edx
lea eax, [0x4c9880]
mov dword [esp], eax
mov dword [esp + 4], 0x38
mov dword [esp + 8], 0
call fcn.004651f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x120], eax
lea ecx, [0x4c9880]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x4e0bd8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4117fb
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7824]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411812
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41180a
mov dword [esp + 0xd0], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e474b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411870
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7850]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411887
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41187f
mov dword [esp + 0xcc], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e5040]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2a
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4118e5
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e787c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4118fc
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4118f4
mov dword [esp + 0xc8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e4248]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x25
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x41195a
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e78a8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411971
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411969
mov dword [esp + 0xc4], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e34b8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4119cf
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e78d4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4119e6
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4119de
mov dword [esp + 0xc0], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e34d9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411a44
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e78f4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411a5b
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411a53
mov dword [esp + 0xbc], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e2269]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411ab9
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e78f8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411ad0
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411ac8
mov dword [esp + 0xb8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e4ad6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x28
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411b2e
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e78fc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411b45
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411b3d
mov dword [esp + 0xb4], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e55c4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2c
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411ba3
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7900]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411bba
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411bb2
mov dword [esp + 0xb0], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e4772]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411c18
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7828]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411c2f
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411c27
mov dword [esp + 0xac], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e2878]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411c8d
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e782c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411ca4
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411c9c
mov dword [esp + 0xa8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e2286]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411d02
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7830]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411d19
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411d11
mov dword [esp + 0xa4], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e2896]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411d77
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7834]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411d8e
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411d86
mov dword [esp + 0xa0], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e19e4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1b
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411dec
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7838]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411e03
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411dfb
mov dword [esp + 0x9c], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e15b0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1a
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411e61
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e783c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411e78
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411e70
mov dword [esp + 0x98], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e018e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411ed6
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7840]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411eed
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411ee5
mov dword [esp + 0x94], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df1b3]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411f4b
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7844]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411f62
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411f5a
mov dword [esp + 0x90], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df78c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x411fc0
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7848]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411fd7
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411fcf
mov dword [esp + 0x8c], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df7a0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412035
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e784c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41204c
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412044
mov dword [esp + 0x88], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e22a3]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4120aa
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7854]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4120c1
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4120b9
mov dword [esp + 0x84], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4dfc10]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x15
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x41211f
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7858]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412136
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41212e
mov dword [esp + 0x80], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e069b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412194
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e785c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4121ab
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4121a3
mov dword [esp + 0x7c], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1e75]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412203
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7860]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41221a
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412212
mov dword [esp + 0x78], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df7b4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412272
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7864]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412289
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412281
mov dword [esp + 0x74], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e01a4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4122e1
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7868]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4122f8
or ecx, 2
mov eax, 1
test eax, eax
jle 0x4122f0
mov dword [esp + 0x70], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df1c6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412350
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e786c]
mov dword [eax + 8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df7c8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4123a9
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7870]
mov dword [eax + 8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4de536]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x10
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412402
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7874]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412419
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412411
mov dword [esp + 0x6c], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4df1d9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412471
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7878]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412488
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412480
mov dword [esp + 0x68], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e0bf0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4124e0
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7880]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4124f7
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4124ef
mov dword [esp + 0x64], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e1e91]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x41254f
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7884]
mov dword [eax + 8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e34fa]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4125a8
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7888]
mov dword [eax + 8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ded67]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x12
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x412601
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e788c]
mov dword [eax + 8], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e22c0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x41265a
mov ecx, dword [eax + 8]
call fcn.0046e540
mov dword [edi], ecx
lea ecx, [0x4e7890]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412671
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412669
mov dword [esp + 0x60], ecx
lea eax, [0x4c9880]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4e2cbb]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1f
call fcn.00466ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5b8448]
test ecx, ecx
je 0x4126c9
call fcn.0046e5c0
nop
call fcn.0046d140
jmp fcn.004115d0