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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x11c
push ebx
push esi
push edi
mov esi, ecx
push 0xb
pop ecx
push 0x1d
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x11c], ebx
lea edi, [ebp - 0x118]
rep stosd dword es:[edi], eax
pop ecx
push 8
mov dword [ebp - 0xec], ebx
lea edi, [ebp - 0xe8]
rep stosd dword es:[edi], eax
pop ecx
push 9
mov dword [ebp - 0x40], ebx
lea edi, [ebp - 0x3c]
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 0x6c], ebx
lea edi, [ebp - 0x68]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x14]
push ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0xc], ebx
mov edx, dword [eax]
push eax
call dword [edx + 0x14]
mov edi, eax
cmp edi, ebx
jl 0x1050feb
push dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x1c]
mov edi, eax
cmp edi, ebx
jl 0x1050feb
cmp dword [esi + 0x3c], ebx
mov dword [ebp - 0x18], ebx
jbe 0x1050c3f
mov dword [ebp - 0x10], ebx
mov eax, dword [esi + 0x4c]
add eax, dword [ebp - 0x10]
push dword [ebp - 0x14]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
push eax
call dword [ecx + 0x48]
mov edi, eax
cmp edi, ebx
jl 0x1050feb
cmp dword [esi + 0x40], ebx
mov dword [ebp - 8], ebx
jbe 0x1050c29
xor eax, eax
mov dword [ebp - 4], eax
mov ecx, dword [esi + 0x50]
mov edx, dword [ebp - 0x18]
add ecx, eax
cmp edx, dword [ecx + 0xc]
jne 0x1050c14
cmp dword [ecx + 0x24], ebx
je 0x1050a57
mov ecx, dword [esi + 0x50]
push dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xec], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [eax + 0x28]
mov dword [ebp - 0xe4], 9
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xb8], ebx
mov eax, dword [eax + 0xc]
imul eax, eax, 0x508
add eax, dword [esi + 0x4c]
push ecx
lea ecx, [ebp - 0xec]
push ecx
push eax
push dword [ebp - 0xc]
mov ecx, esi
call fcn.0104fa27
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov eax, dword [ebp - 4]
mov ecx, dword [esi + 0x50]
cmp dword [eax + ecx + 0x1c], ebx
je 0x1050ada
push dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0xec], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [eax + 0x20]
mov dword [ebp - 0xe4], 0xf
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xb8], ebx
mov eax, dword [eax + 0xc]
imul eax, eax, 0x508
add eax, dword [esi + 0x4c]
push ecx
lea ecx, [ebp - 0xec]
push ecx
push eax
push dword [ebp - 0xc]
mov ecx, esi
call fcn.0104fa27
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov eax, dword [ebp - 4]
mov ecx, dword [esi + 0x50]
add ecx, eax
cmp dword [ecx + 0x2c], ebx
je 0x1050b6b
cmp dword [ecx + 0x14], 0x16
jne 0x1050b6b
mov ecx, dword [esi + 0x50]
push dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0xec], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [eax + 0x30]
mov dword [ebp - 0xe4], 4
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xb8], ebx
mov eax, dword [eax + 0xc]
imul eax, eax, 0x508
add eax, dword [esi + 0x4c]
push ecx
lea ecx, [ebp - 0xec]
push ecx
push eax
push dword [ebp - 0xc]
mov ecx, esi
call fcn.0104fa27
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov eax, dword [ebp - 4]
mov ecx, dword [esi + 0x50]
lea edi, [eax + ecx]
cmp dword [edi + 0x14], 0x16
je 0x1050c14
add ecx, eax
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xec], edx
cmp dword [ecx + 0x14], 0x12
jne 0x1050b98
mov dword [ebp - 0xe4], 6
jmp 0x1050ba1
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0xe4], ecx
push dword [ebp - 0x14]
xor ecx, ecx
cmp dword [edi + 0x18], ebx
mov dword [ebp - 0xbc], ebx
sete cl
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xc0], ecx
mov ecx, dword [esi + 0x50]
add eax, ecx
lea ecx, [eax + 0x50]
mov eax, dword [eax + 0xc]
imul eax, eax, 0x508
add eax, dword [esi + 0x4c]
push ecx
lea ecx, [ebp - 0xec]
push ecx
push eax
push dword [ebp - 0xc]
mov ecx, esi
call fcn.0104fa27
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov eax, dword [ebp - 4]
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
add eax, 0x58
cmp ecx, dword [esi + 0x40]
mov dword [ebp - 4], eax
jb 0x10509c4
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add dword [ebp - 0x10], 0x508
cmp eax, dword [esi + 0x3c]
jb 0x105098a
cmp dword [esi + 0x40], ebx
mov dword [ebp - 8], ebx
jbe 0x1050eb1
mov dword [ebp - 4], ebx
mov eax, dword [esi + 0x50]
mov ecx, dword [ebp - 4]
add ecx, eax
cmp dword [ecx + 0x38], ebx
mov dword [ebp - 0x1c], ecx
je 0x1050e9e
mov edx, dword [ebp - 4]
add eax, edx
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x40], edx
xor edx, edx
inc edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ebx
cmp dword [eax + 0x1c], ebx
je 0x1050ca0
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x30], 2
mov eax, dword [ecx + 0x2c]
cmp eax, ebx
je 0x1050cb8
mov edx, dword [ebp - 0x30]
shl edx, 3
inc dword [ebp - 0x30]
mov dword [ebp + edx - 0x6c], eax
mov dword [ebp + edx - 0x68], ebx
cmp dword [ecx + 0x44], ebx
je 0x1050d02
mov eax, dword [ecx + 0xc]
mov edx, dword [esi + 0x4c]
imul eax, eax, 0x508
mov edi, dword [ebp - 8]
cmp edi, dword [eax + edx + 0x500]
je 0x1050d02
mov eax, dword [esi + 0x50]
mov edi, dword [ebp - 4]
mov edi, dword [edi + eax + 0xc]
imul edi, edi, 0x508
mov edx, dword [edi + edx + 0x500]
imul edx, edx, 0x58
mov edx, dword [edx + eax + 0x10]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*8 - 0x6c], edx
mov dword [ebp + eax*8 - 0x68], ebx
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x78], eax
jne 0x1050d9f
mov eax, dword [esi + 0x88]
cmp eax, 0xffffffff
je 0x1050d9f
mov edx, dword [esi + 0x8c]
cmp edx, 0xffffffff
je 0x1050d9f
mov eax, dword [esi + 0x6c]
lea ecx, [ebp - 0x10]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0104e999
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
imul edx, edx, 0x58
mov eax, dword [esi + 0x50]
mov eax, dword [edx + eax + 0x10]
shl ecx, 3
inc dword [ebp - 0x30]
mov dword [ebp + ecx - 0x6c], eax
lea eax, [ebp - 0x10]
push eax
push dword [esi + 0x88]
mov dword [ebp + ecx - 0x68], ebx
push dword [esi + 0x6c]
mov ecx, esi
call fcn.0104e999
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
imul edx, edx, 0x58
mov eax, dword [esi + 0x50]
mov eax, dword [edx + eax + 0x10]
shl ecx, 3
inc dword [ebp - 0x30]
mov dword [ebp + ecx - 0x6c], eax
mov dword [ebp + ecx - 0x68], ebx
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x14]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ecx + 0xc]
imul eax, eax, 0x508
add eax, dword [esi + 0x4c]
mov ecx, esi
push eax
push dword [ebp - 0xc]
call fcn.0104fa4a
mov edi, eax
cmp edi, ebx
jl 0x1050feb
mov eax, dword [esi + 0x50]
mov ecx, dword [ebp - 4]
add ecx, eax
cmp dword [ecx + 0x34], ebx
je 0x1050e9e
mov edx, dword [ebp - 4]
add eax, edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ebx
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], ebx
cmp dword [eax + 0x1c], ebx
je 0x1050e28
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x30], 3
cmp dword [ecx + 0x44], ebx
je 0x1050e72
mov eax, dword [ecx + 0xc]
mov edx, dword [esi + 0x4c]
imul eax, eax, 0x508
mov edi, dword [ebp - 8]
cmp edi, dword [eax + edx + 0x500]
je 0x1050e72
mov eax, dword [esi + 0x50]
mov edi, dword [ebp - 4]
mov edi, dword [edi + eax + 0xc]
imul edi, edi, 0x508
mov edx, dword [edi + edx + 0x500]
imul edx, edx, 0x58
mov edx, dword [edx + eax + 0x10]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*8 - 0x6c], edx
mov dword [ebp + eax*8 - 0x68], ebx
inc eax
mov dword [ebp - 0x30], eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ecx + 0xc]
imul eax, eax, 0x508
add eax, dword [esi + 0x4c]
mov ecx, esi
push eax
push dword [ebp - 0xc]
call fcn.0104fa4a
mov edi, eax
cmp edi, ebx
jl 0x1050feb
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 4], 0x58
cmp eax, dword [esi + 0x40]
jb 0x1050c4e
push 9
xor eax, eax
cmp dword [esi + 0x48], ebx
pop ecx
lea edi, [ebp - 0x40]
rep stosd dword es:[edi], eax
mov dword [ebp - 8], ebx
jbe 0x1050fd7
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x1050ed1
mov ecx, dword [ebp - 4]
mov eax, dword [esi + 0x58]
lea edx, [ecx + eax]
cmp dword [edx + 8], 5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], edx
ja 0x105100c
add eax, ecx
mov edi, dword [eax]
mov dword [ebp - 0x40], edi
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x38], edi
mov edi, dword [eax + 0x1c]
mov dword [ebp - 0x34], edi
mov edi, dword [eax + 8]
mov dword [ebp - 0x30], edi
mov edi, dword [eax + 0x10]
mov dword [ebp - 0x2c], edi
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x28], edi
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x24], eax
cmp dword [edx + 8], ebx
mov dword [ebp - 0x44], ebx
jbe 0x1050fa6
mov eax, dword [esi + 0x58]
lea eax, [ecx + eax + 4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
add eax, ecx
lea ecx, [ebp - 0x70]
push ecx
push dword [eax + 4]
mov ecx, esi
push dword [eax]
call fcn.0104e999
mov edi, eax
cmp edi, ebx
jl 0x1050feb
cmp dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x70]
jne 0x1050f6f
mov edx, dword [esi + 0x50]
mov ecx, eax
imul ecx, ecx, 0x58
mov ecx, dword [ecx + edx + 0xc]
imul ecx, ecx, 0x508
add ecx, dword [esi + 0x4c]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x44]
imul eax, eax, 0x58
mov edx, dword [esi + 0x50]
mov eax, dword [eax + edx + 0x10]
mov edi, dword [ebp - 0x18]
mov dword [ebp + ecx*8 - 0x6c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
xor edx, edx
cmp dword [eax + edi + 8], ebx
mov eax, dword [ebp - 0x1c]
sete dl
add dword [ebp - 0x18], 0xc
inc ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp + ecx*8 - 0x70], edx
cmp ecx, dword [eax + 8]
jb 0x1050f2b
push dword [ebp - 0x14]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x10]
mov ecx, esi
push dword [ebp - 0xc]
call fcn.0104fa4a
mov edi, eax
cmp edi, ebx
jl 0x1050feb
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 4], 0x20
cmp eax, dword [esi + 0x48]
jb 0x1050ece
push dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x28]
mov edi, eax
cmp edi, ebx
jge 0x1050ff8
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x1051005
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x1051005
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret
mov edi, 0x80070057
jmp 0x1050feb