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

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
push esi
push edi
mov edi, dword [ebp + 4]
mov esi, eax
call fcn.0044b4e0
xor ecx, ecx
cmp edi, ecx
mov dword [esp + 0x28], ecx
jbe 0x44e4b8
movzx eax, byte [edi + eax + 0xf]
mov dword [esp + 0x28], eax
mov eax, dword [ebp]
xor edx, edx
mov edi, 0x14
div edi
mov edi, dword [ebp + 0x10]
mov ebx, dword [esi + 0x7c]
sub ebx, dword [esi + 0x34]
mov dword [esp + 0x1c], ecx
add ebx, dword [ebp + 0xc]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x38], 0x2a
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x14], 0x2e
imul edi, edx
mov edx, dword [ebp + 0x14]
imul edx, eax
mov dword [esp + 0x28], edi
mov edi, dword [esi + 0x78]
sub edi, dword [esi + 0x30]
mov dword [esp + 0x24], edx
add edi, dword [ebp + 8]
lea eax, [ebx - 2]
lea edx, [edi - 2]
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x40]
mov ebp, 0x3c
call fcn.00450380
mov edx, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 8]
cmp dword [esi + 0x30], eax
mov dword [esp + 0x30], eax
jle 0x44e56a
mov ebp, dword [edx + 8]
mov eax, dword [esi + 0x30]
sub eax, ebp
sub ebp, dword [esi + 0x30]
add dword [esp + 0x24], eax
add edi, eax
add ebp, 0x3c
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0xc]
cmp dword [esi + 0x34], eax
jle 0x44e59b
mov ecx, dword [esi + 0x34]
sub ecx, eax
sub eax, dword [esi + 0x34]
add dword [esp + 0x20], ecx
add eax, 0x2a
add ebx, ecx
lea edx, [eax + 2]
add ecx, 2
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
jmp 0x44e59f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0x10]
add edx, ecx
mov ecx, dword [esi + 0x38]
cmp ecx, edx
jge 0x44e5bb
mov edx, dword [esp + 0x44]
sub ecx, dword [edx + 8]
sub ecx, dword [edx + 0x10]
add ebp, ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov ecx, dword [ecx + 0x14]
mov edx, dword [edx + 0xc]
add edx, ecx
mov ecx, dword [esi + 0x3c]
cmp ecx, edx
jge 0x44e5e5
mov edx, dword [esp + 0x44]
sub ecx, dword [edx + 0xc]
sub ecx, dword [edx + 0x14]
add eax, ecx
lea ecx, [eax + 2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x44e61b
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push 1
push eax
mov eax, dword [esp + 0x24]
add eax, 0x34
push eax
mov eax, dword [esi + 0x1c]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push ebp
push eax
push edi
call edx
jmp 0x44e6f5
cmp ecx, 2
jne 0x44e638
mov edx, dword [esp + 0x18]
push 0
push 0xff00
push edx
mov edx, dword [esp + 0x28]
add edx, 0x70
jmp 0x44e6da
cmp ecx, 1
jne 0x44e660
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x20]
mov edx, dword [edx + 0x44]
push 1
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, dword [esi + 0x10]
push eax
push ebp
push ebx
push edi
call edx
jmp 0x44e620
cmp ecx, 5
jne 0x44e69e
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x20]
mov edx, dword [edx + 0x44]
push 1
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, dword [esi + 0x10]
push eax
push ebp
push ebx
push edi
call edx
mov edx, dword [esp + 0x18]
push 0
add edx, 0x2e
push 0xff00
push edx
mov edx, dword [esp + 0x28]
add edx, 0x70
jmp 0x44e6da
cmp ecx, 6
jne 0x44e6f5
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x20]
mov edx, dword [edx + 0x44]
push 1
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, dword [esi + 0x10]
push eax
push ebp
push ebx
push edi
call edx
mov edx, dword [esp + 0x18]
push 0
push 0xff00
push edx
mov edx, dword [esp + 0x28]
add edx, 0xac
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
push edx
mov edx, dword [esi + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push ebp
push edx
push edi
call eax
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 4]
cmp edx, dword [esi + 0x5c]
jne 0x44e749
cmp dword [esi + 0x60], 1
jne 0x44e749
cmp dword [esp + 0x28], 5
je 0x44e749
cmp dword [esp + 0x2c], 0
je 0x44e749
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
push 0
push 0xff00
add edx, 0x2e
push edx
mov edx, dword [esp + 0x28]
add edx, 0xac
push edx
mov edx, dword [esi + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push ebp
push edx
push edi
call eax
call fcn.0044b4e0
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x44e794
cmp dword [eax + ecx*4 + 0x464], 1
jne 0x44e794
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x5c]
push 0
push 0xff00
add eax, 0x5c
push eax
mov eax, dword [esp + 0x28]
add eax, 0x70
push eax
mov eax, dword [esi + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push ebp
push eax
push edi
call edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 4