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

Disassembly:
sub esp, 0x1c
mov edx, dword [0x10036114]
mov ecx, dword [0x10036104]
push ebx
push ebp
push esi
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
mov eax, dword [0x10036108]
mov ebx, eax
imul ebx, eax
mov esi, edx
imul esi, ecx
mov dword [esp + 0x20], esi
mov ebp, ecx
sub ebp, ebx
sub ebp, esi
mov ebx, dword [0x1003610c]
mov esi, dword [esp + 0x10]
add ebp, 2
imul ebp, ebx
add ebp, esi
push edi
mov edi, edx
imul edi, eax
lea esi, [ecx + eax]
imul esi, esi, 0x5d
add esi, edi
add ebp, ecx
imul ebp, ebp, 0x5d
mov dword [esp + 0x28], edi
mov edi, dword [0x10036110]
imul esi, edi
sub ebp, esi
mov esi, eax
imul esi, ebx
sub esi, edx
add esi, ecx
imul esi, edi
lea ebx, [eax - 2]
imul ebx, dword [0x1003610c]
add esi, ebx
mov ebx, dword [esp + 0x30]
sub esi, ecx
add esi, eax
lea esi, [esi + esi*4]
shl esi, 6
shl ebp, 4
add ebp, dword [esi + ebx + 0x3c]
mov esi, ecx
imul esi, edi
mov ebx, eax
sub ebx, esi
sub ebx, 2
imul ebx, edx
lea esi, [edi + edi*2]
mov edi, dword [0x1003610c]
add ebx, esi
sub ebx, ecx
add ebx, eax
add ebx, edi
imul ebx, ebx, 0xc8
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x30]
mov esi, dword [ebx + ebp + 0x78]
mov ebp, dword [esp + 0x18]
add esi, ebp
mov ebp, dword [esp + 0x14]
add esi, ebx
mov dword [esp + 0x10], esi
mov esi, ecx
sub esi, ebp
add esi, 2
lea esi, [esi + esi*4]
mov ebx, eax
shl ebx, 4
add esi, ebx
mov ebx, edi
imul ebx, ebx, 0x15
sub esi, ebx
mov ebx, dword [0x10036110]
imul esi, ecx
imul ebx, edi
imul ebx, ebx, 0xb
mov ebp, 5
sub ebp, ebx
imul ebp, eax
mov ebx, dword [0x10036110]
sub ebp, 5
imul ebp, edi
lea ebx, [eax + ebx*2]
lea ebx, [ebx + ebx*4]
add esi, ebp
add esi, ebx
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x20]
mov ebx, dword [esp + 0x30]
add esi, ebp
sub esi, edx
add esi, ebx
mov ebx, ecx
imul ebx, eax
inc ebx
imul ebx, eax
lea ebp, [edx + edx*2]
mov dword [esp + 0x20], ebp
lea ebp, [ebp + ebx*2]
add ebp, ebx
imul ebp, eax
mov dword [esp + 0x18], ebp
mov ebp, dword [0x10036110]
lea ebx, [edx + ebp*4]
lea ebx, [ebx + ebx*2 - 3]
imul ebx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x18]
add ebx, ebp
lea ebp, [edx + edx*2]
shl ebp, 2
sub ebx, ebp
lea ebp, [ecx + ecx*8]
add ebx, ebp
mov ebp, dword [esp + 0x10]
add ebx, dword [ebp + 0x1c]
add ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
mov ebx, edi
imul ebx, edi
mov ebp, 6
sub ebp, ebx
imul ebp, eax
lea ebx, [edi + edi*2 - 6]
sub ebx, ecx
sub ebx, eax
imul ebx, ecx
add ebp, ebx
sub edx, eax
mov eax, dword [esp + 0x20]
lea ebx, [ebp + edx*2]
lea edx, [edi + 3]
imul edx, edi
add ebx, edx
mov edx, dword [0x10036110]
sub ebx, eax
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x24]
mov eax, dword [eax + 0x18]
sub ebx, edx
lea ebp, [ebp + ebx*2]
add ebp, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], eax
jbe 0x1000547e
lea eax, [edx*8]
sub esi, eax
mov dword [esp + 0x18], esi
mov ebx, dword [esp + 0x30]
mov edx, dword [esi]
mov al, byte [edx + ebx]
add edx, ebx
xor ebx, ebx
test al, al
je 0x10005454
mov esi, ebx
shl esi, 0x13
shr ebx, 0xd
or ebx, esi
cmp al, 0x61
movsx eax, al
jl 0x1000544a
sub eax, 0x20
add ebx, eax
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x10005436
mov eax, dword [esp + 0x34]
add ebx, 0x157f90ff
cmp ebx, eax
je 0x10005488
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
inc eax
add esi, 4
cmp eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], esi
jb 0x10005425
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x24]
mov edx, dword [0x10036110]
imul eax, edi
mov ebx, dword [esp + 0x28]
add eax, edx
imul eax, ecx
mov esi, dword [esp + 0x10]
imul eax, edi
sub eax, ebx
inc eax
imul eax, ecx
mov ecx, dword [esp + 0x14]
lea edx, [ecx + eax*2]
mov ecx, dword [esp + 0x1c]
add edx, esi
movzx eax, word [ebp + edx*2]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
add eax, ecx
pop ebx
add esp, 0x1c
ret