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

Disassembly:
push 0xffffffffffffffff
push 0x4c5906
mov eax, dword fs:[0]
push eax
sub esp, 0x4a8
mov eax, dword [0x521da0]
xor eax, esp
mov dword [esp + 0x4a4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x521da0]
xor eax, esp
push eax
lea eax, [esp + 0x4bc]
mov dword fs:[0], eax
mov edi, dword [esp + 0x4cc]
mov esi, ecx
lea ecx, [esp + 0x29c]
mov dword [esp + 0x20], edi
call fcn.0040c5c0
xor ebx, ebx
mov dword [esp + 0x4c4], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov ecx, dword [esi + 0x9e4]
sub ecx, dword [esi + 0x9e0]
mov ebp, dword [esp + 0x4d0]
mov eax, 0xf2b9d649
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x4c4], 1
mov dword [esp + 0x18], ebx
cmp ebp, eax
jb 0x410db4
call fcn.00496353
mov eax, ebp
imul eax, eax, 0x21c
add eax, dword [esi + 0x9e0]
sub esp, 0x21c
mov ecx, esp
mov dword [esp + 0x24c], esp
push eax
call fcn.0040c640
mov edx, dword [esp + 0x4b8]
mov eax, dword [edx]
lea ecx, [esp + 0x29c]
push ecx
lea ecx, [esp + 0x4bc]
call eax
push ebx
push 1
lea ecx, [esp + 0x2a4]
push ecx
mov ecx, esi
call fcn.0040d520
mov ebx, eax
cmp ebx, 0xffffffff
je 0x411254
mov dword [edi], ebp
mov esi, dword [esi + 0x3b4c]
push ebx
lea ecx, [esp + 0x28]
call fcn.0040c9d0
mov ebp, dword [esp + 0x2c]
push ebx
push esi
mov esi, dword [esp + 0x2c]
lea edx, [esi + ebp]
push edx
call fcn.00497eb0
add esp, 0xc
add ebp, ebx
mov dword [esp + 0x2c], ebp
je 0x410e53
cmp ebp, 4
jl 0x410e53
push 4
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.00497eb0
add esp, 0xc
xor eax, eax
xor edi, edi
cmp dword [esp + 0x18], eax
mov esi, 4
jle 0x410efc
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov eax, esi
sub eax, ecx
lea ebx, [ecx + 4]
mov dword [esp + 0x1c], eax
jmp 0x410e84
mov eax, dword [esp + 0x1c]
test ebp, ebp
je 0x410e9e
add eax, ebx
cmp ebp, eax
jl 0x410e9e
push 4
lea ecx, [esp + 0x18]
push ebx
push ecx
call fcn.00497eb0
add esp, 0xc
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
add ecx, 4
call dword [0x4ce790]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x48]
push edx
add ecx, 0x1c
mov dword [esp + 0x38], eax
call fcn.0043d880
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x54]
push edx
add ecx, 0x1c8
add esi, 4
add ebx, 4
mov dword [esp + 0x40], eax
call fcn.0043d880
inc edi
cmp edi, dword [esp + 0x18]
jl 0x410e80
test ebp, ebp
je 0x410f1d
lea eax, [esi + 4]
cmp ebp, eax
jl 0x410f1d
mov ecx, dword [esp + 0x24]
push 4
add ecx, esi
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00497eb0
add esp, 0xc
xor edi, edi
add esi, 4
cmp dword [esp + 0x18], edi
jle 0x410f8b
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 0xbc
mov dword [esp + 0x30], eax
mov eax, 4
sub eax, ecx
lea ebx, [ecx + esi]
mov dword [esp + 0x1c], eax
jmp 0x410f54
mov eax, dword [esp + 0x1c]
test ebp, ebp
je 0x410f6f
lea edx, [ebx + eax]
cmp ebp, edx
jl 0x410f6f
push 4
lea eax, [esp + 0x18]
push ebx
push eax
call fcn.00497eb0
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x34]
call dword [0x4ce790]
inc edi
add esi, 4
add ebx, 4
cmp edi, dword [esp + 0x18]
jl 0x410f50
test ebp, ebp
je 0x410fac
lea edx, [esi + 4]
cmp ebp, edx
jl 0x410fac
mov eax, dword [esp + 0x24]
push 4
add eax, esi
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00497eb0
add esp, 0xc
xor edi, edi
add esi, 4
cmp dword [esp + 0x18], edi
jle 0x411011
mov ecx, dword [esp + 0x24]
mov eax, 4
sub eax, ecx
lea ebx, [ecx + esi]
mov dword [esp + 0x1c], eax
jmp 0x410fd4
mov eax, dword [esp + 0x1c]
test ebp, ebp
je 0x410fef
lea edx, [ebx + eax]
cmp ebp, edx
jl 0x410fef
push 4
lea eax, [esp + 0x18]
push ebx
push eax
call fcn.00497eb0
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x1b0
call dword [0x4ce790]
inc edi
add esi, 4
add ebx, 4
cmp edi, dword [esp + 0x18]
jl 0x410fd0
test ebp, ebp
je 0x411035
lea edx, [esi + 4]
cmp ebp, edx
jl 0x411035
mov ebx, dword [esp + 0x24]
push 4
lea eax, [ebx + esi]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00497eb0
add esp, 0xc
jmp 0x411039
mov ebx, dword [esp + 0x24]
add esi, 4
cmp dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jle 0x411172
lea edi, [ebx + esi]
lea ebx, [esi + 4]
test ebp, ebp
je 0x41106d
cmp ebp, ebx
jl 0x41106d
push 4
lea edx, [esp + 0x18]
push edi
push edx
call fcn.00497eb0
add esp, 0xc
mov eax, dword [esp + 0x14]
add esi, 4
add ebx, 4
add edi, 4
mov dword [esp + 0x50], eax
test ebp, ebp
je 0x411096
cmp ebp, ebx
jl 0x411096
push 4
lea ecx, [esp + 0x18]
push edi
push ecx
call fcn.00497eb0
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x44]
mov dword [esp + 0x48], eax
push edx
lea eax, [esp + 0x6c]
push eax
add ecx, 0x3c
add esi, 4
add ebx, 4
add edi, 4
call fcn.00410080
test ebp, ebp
je 0x4110e5
cmp ebp, ebx
jl 0x4110e5
push 4
lea ecx, [esp + 0x18]
push edi
push ecx
call fcn.00497eb0
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x78]
push edx
add ecx, 0x5c
mov dword [esp + 0x44], eax
call fcn.0043d880
add esi, 4
add ebx, 4
add edi, 4
test ebp, ebp
je 0x41112c
cmp ebp, ebx
jl 0x41112c
push 4
lea eax, [esp + 0x18]
push edi
push eax
call fcn.00497eb0
add esp, 0xc
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x7c
mov dword [esp + 0x3c], edx
call fcn.0043d880
mov eax, dword [esp + 0x1c]
inc eax
add esi, 4
add ebx, 4
add edi, 4
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jl 0x411055
mov ebx, dword [esp + 0x24]
test ebp, ebp
je 0x411190
lea edx, [esi + 4]
cmp ebp, edx
jl 0x411190
push 4
lea eax, [ebx + esi]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00497eb0
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add esi, 4
mov dword [eax + 0x1ac], edx
test ebp, ebp
je 0x4111bf
lea ecx, [esi + 4]
cmp ebp, ecx
jl 0x4111bf
push 4
lea edx, [ebx + esi]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00497eb0
add esp, 0xc
xor edi, edi
add esi, 4
cmp dword [esp + 0x18], edi
jle 0x411247
mov ecx, dword [esp + 0x20]
add ecx, 0x1e8
add ebx, esi
mov dword [esp + 0x30], ecx
add esi, 4
test ebp, ebp
je 0x4111f5
cmp ebp, esi
jl 0x4111f5
push 4
lea edx, [esp + 0x18]
push ebx
push edx
call fcn.00497eb0
add esp, 0xc
add esi, 4
add ebx, 4
test ebp, ebp
je 0x411213
cmp ebp, esi
jl 0x411213
push 4
lea eax, [esp + 0x44]
push ebx
push eax
call fcn.00497eb0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x38]
add esi, 4
add ebx, 4
mov dword [esp + 0x44], edx
call fcn.0043d880
inc edi
cmp edi, dword [esp + 0x18]
jl 0x4111dd
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x411254
push ebx
call fcn.00497e19
add esp, 4
mov ecx, dword [esp + 0x4bc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4a4]
xor ecx, esp
call fcn.00496795
add esp, 0x4b4
ret 8