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

Disassembly:
mov ecx, dword [0x5f7a94]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xa4]
cmp eax, dword [ecx + 8]
jbe 0x412e99
sub esp, 0x124
movzx eax, byte [0x5f796d]
test al, al
jne 0x41136b
lea eax, [0x4dc080]
mov dword [esp], eax
mov dword [esp + 4], 0x44
mov dword [esp + 8], 0x45
call fcn.004695c0
mov eax, dword [esp + 0xc]
mov dword [0x5d8db4], 0x44
mov dword [0x5d8db8], 0x45
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x41134c
call fcn.0046e470
mov dword [edi], eax
mov edx, dword [0x5d8db0]
mov dword [edi + 4], edx
mov dword [0x5d8db0], eax
mov edx, dword [0x5d8db0]
movsd xmm0, qword [0x520448]
movsd qword [edx], xmm0
mov eax, 1
jmp 0x411387
add esp, 0x124
ret
mov ebp, dword [0x5d8db0]
inc ebx
movzx ebx, bx
cvtsi2sd xmm0, ebx
movsd qword [ebp + eax*8], xmm0
inc eax
cmp eax, 0x44
jge 0x4113a5
mov ecx, dword [0x5d8db4]
lea edx, [0x5b1a20]
movzx ebx, word [edx + eax*2]
cmp eax, ecx
jb 0x411372
jmp 0x412e93
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0x7ff00000
mov eax, dword [0x5d8db8]
mov ecx, dword [0x5d8db4]
inc ecx
mov edx, dword [0x5d8db0]
movsd xmm0, qword [esp + 0xdc]
cmp eax, ecx
jae 0x411441
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, [0x4dc080]
mov dword [esp + 0x10], eax
call fcn.00469670
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [0x5d8db8], eax
mov eax, dword [0x5f7bb0]
test eax, eax
je 0x41142f
call fcn.0046e470
mov dword [edi], ecx
mov eax, dword [0x5d8db0]
mov dword [edi + 4], eax
mov dword [0x5d8db0], ecx
movsd xmm0, qword [esp + 0x24]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [0x5d8db4], ecx
movsd qword [edx + ecx*8 - 8], xmm0
call fcn.004087e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [0x5d8dc4], eax
mov dword [0x5d8dc8], ecx
mov eax, dword [0x5f7bb0]
test eax, eax
je 0x411483
call fcn.0046e470
mov dword [edi], edx
mov eax, dword [0x5d8dc0]
mov dword [edi + 4], eax
mov dword [0x5d8dc0], edx
lea eax, [0x4dd440]
mov dword [esp], eax
mov dword [esp + 4], 0x38
mov dword [esp + 8], 0
call fcn.00465020
mov eax, dword [esp + 0xc]
mov dword [esp + 0x120], eax
lea ecx, [0x4dd440]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x4fb178]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4114fb
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cb0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411512
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41150a
mov dword [esp + 0xd0], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ff08d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411570
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cdc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411587
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41157f
mov dword [esp + 0xcc], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ff7c4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2a
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4115e5
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d08]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4115fc
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4115f4
mov dword [esp + 0xc8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4feaf2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x25
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x41165a
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d34]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411671
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411669
mov dword [esp + 0xc4], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fdf2c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4116cf
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d60]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4116e6
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4116de
mov dword [esp + 0xc0], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fdf4d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411744
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d80]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41175b
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411753
mov dword [esp + 0xbc], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fcd0a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4117b9
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d84]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4117d0
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4117c8
mov dword [esp + 0xb8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ff351]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x28
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x41182e
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d88]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411845
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41183d
mov dword [esp + 0xb4], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ffc6d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2c
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4118a3
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d8c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4118ba
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4118b2
mov dword [esp + 0xb0], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ff0b4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411918
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cb4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41192f
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411927
mov dword [esp + 0xac], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fd361]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x41198d
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cb8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4119a4
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41199c
mov dword [esp + 0xa8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fcd27]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411a02
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cbc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411a19
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411a11
mov dword [esp + 0xa4], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fd37f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411a77
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cc0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411a8e
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411a86
mov dword [esp + 0xa0], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fc275]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1b
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411aec
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cc4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411b03
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411afb
mov dword [esp + 0x9c], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fbf09]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1a
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411b61
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cc8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411b78
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411b70
mov dword [esp + 0x98], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fa48e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411bd6
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501ccc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411bed
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411be5
mov dword [esp + 0x94], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f91e9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411c4b
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cd0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411c62
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411c5a
mov dword [esp + 0x90], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f9890]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411cc0
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cd4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411cd7
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411ccf
mov dword [esp + 0x8c], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f98a4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411d35
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cd8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411d4c
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411d44
mov dword [esp + 0x88], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fcd44]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411daa
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501ce0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411dc1
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411db9
mov dword [esp + 0x84], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f9e49]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x15
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411e1f
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501ce4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411e36
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411e2e
mov dword [esp + 0x80], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fab63]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411e94
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501ce8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411eab
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411ea3
mov dword [esp + 0x7c], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fc824]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411f03
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cec]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411f1a
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411f12
mov dword [esp + 0x78], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f98b8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411f72
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cf0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411f89
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411f81
mov dword [esp + 0x74], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fa4a4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x411fe1
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cf4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411ff8
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411ff0
mov dword [esp + 0x70], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f91fc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x412050
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cf8]
mov dword [eax + 8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f98cc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4120a9
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501cfc]
mov dword [eax + 8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f8286]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x10
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x412102
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d00]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412119
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412111
mov dword [esp + 0x6c], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f920f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x412171
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d04]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412188
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412180
mov dword [esp + 0x68], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fb190]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4121e0
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d0c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4121f7
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4121ef
mov dword [esp + 0x64], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fc840]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x41224f
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d10]
mov dword [eax + 8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fdf6e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4122a8
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d14]
mov dword [eax + 8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4f8ca6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x12
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x412301
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d18]
mov dword [eax + 8], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fcd61]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x41235a
mov ecx, dword [eax + 8]
call fcn.0046e460
mov dword [edi], ecx
lea ecx, [0x501d1c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412371
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412369
mov dword [esp + 0x60], ecx
lea eax, [0x4dd440]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4fd76b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1f
call fcn.00466c90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5f7bb0]
test ecx, ecx
je 0x4123c9
call fcn.0046e4e0
nop
call fcn.0046d060
jmp fcn.004112d0