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

Disassembly:
sub esp, 0x84
mov eax, dword [0x4b7ebc]
mov byte [esp + 3], dl
push ebx
push esi
push edi
push ebp
mov esi, ecx
cmp dword [0x4c5d6c], eax
jle 0x44d642
mov dword [0x4c5d6c], eax
mov eax, dword [0x4c5d64]
mov ecx, dword [0x4b7ec0]
imul eax, dword [0x4b7ec4]
add eax, ecx
mov edx, dword [0x4c5d6c]
mov dword [esp + 0x18], eax
mov eax, dword [0x4c5d64]
cmp eax, edx
jne 0x44d6a8
mov edx, dword [0x4c5d60]
mov eax, dword [0x4b7eb0]
cmp edx, eax
jg 0x44d67a
mov edx, eax
mov ecx, dword [0x4c5d68]
mov eax, dword [0x4b7eb8]
cmp ecx, eax
jl 0x44d68b
mov ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, edx
add eax, edx
mov edx, dword [esp + 0x13]
push eax
call fcn.0044db30
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
xor edx, edx
mov ecx, esi
call fcn.0044ce60
mov ebx, dword [esi + 8]
mov eax, dword [esi]
cmp ebx, eax
jne 0x44d6ce
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
cmp ecx, eax
jne 0x44d6ce
mov dword [esp + 0x14], 0x47567c
jmp 0x44d726
mov ecx, dword [esi + 0x10]
cmp ebx, ecx
jne 0x44d6e9
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
cmp edx, eax
jne 0x44d6e9
mov dword [esp + 0x14], 0x475670
jmp 0x44d726
mov eax, dword [esi + 0x18]
cmp eax, ecx
jne 0x44d704
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x14]
cmp edx, ecx
jne 0x44d704
mov dword [esp + 0x14], 0x475664
jmp 0x44d726
mov ecx, dword [esi]
cmp eax, ecx
jne 0x44d71e
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 4]
cmp ecx, eax
jne 0x44d71e
mov dword [esp + 0x14], 0x475658
jmp 0x44d726
mov dword [esp + 0x14], 0x47564c
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
cmp eax, ecx
jne 0x44d73a
mov byte [esp + 0x54], 0
jmp 0x44d7cf
jge 0x44d76a
mov ebp, ebx
mov eax, dword [esi]
sub ebp, eax
mov edi, ecx
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x14]
sub edi, edx
mov dword [esp + 0x44], edx
xor edx, edx
mov dword [esp + 0x48], ecx
mov dl, byte [eax]
cmp dword [esi + edx*8 + 4], ecx
jle 0x44d766
lea eax, [ecx - 1]
mov dword [esp + 0x48], eax
mov eax, dword [esi]
jmp 0x44d798
mov ebp, dword [esi]
mov edi, dword [esi + 4]
mov eax, dword [esi + 4]
xor edx, edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
sub ebp, ebx
sub edi, ecx
mov dl, byte [eax + 4]
mov eax, dword [esp + 0x48]
cmp dword [esi + edx*8 + 4], eax
jle 0x44d796
dec eax
mov dword [esp + 0x48], eax
mov eax, ebx
mov byte [esp + 0x54], 1
shl eax, 0x10
test edi, edi
mov dword [esp + 0x4c], eax
je 0x44d7cf
mov eax, ebp
cdq
idiv edi
shl edx, 0x10
mov eax, edx
cdq
idiv edi
mov dword [esp + 0x1c], eax
mov eax, ebp
cdq
idiv edi
shl eax, 0x10
mov edx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x50], edx
mov eax, dword [esi + 0x14]
cmp eax, ecx
jne 0x44d7e0
mov byte [esp + 0x68], 0
jmp 0x44d86b
jle 0x44d810
mov ebp, dword [esi + 0x10]
mov edi, eax
sub ebp, ebx
sub edi, ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
xor ecx, ecx
mov dword [esp + 0x5c], eax
mov cl, byte [edx + 1]
cmp dword [esi + ecx*8 + 4], eax
jle 0x44d807
dec eax
mov dword [esp + 0x5c], eax
shl ebx, 0x10
mov dword [esp + 0x60], ebx
jmp 0x44d845
mov edx, dword [esi + 0x10]
mov edi, ecx
sub ebx, edx
mov eax, dword [esi + 0x14]
mov ebp, ebx
sub edi, eax
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov cl, byte [ebx + 5]
mov eax, dword [esp + 0x5c]
cmp dword [esi + ecx*8 + 4], eax
jle 0x44d83e
dec eax
mov dword [esp + 0x5c], eax
shl edx, 0x10
mov dword [esp + 0x60], edx
mov byte [esp + 0x68], 1
test edi, edi
je 0x44d86b
mov eax, ebp
cdq
idiv edi
shl edx, 0x10
mov eax, edx
cdq
idiv edi
mov ecx, eax
mov eax, ebp
cdq
idiv edi
shl eax, 0x10
add ecx, eax
mov dword [esp + 0x64], ecx
mov edi, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
cmp eax, edi
jne 0x44d87f
mov byte [esp + 0x7c], 0
jmp 0x44d926
jge 0x44d8b9
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
sub ebx, edx
mov ecx, edi
sub ecx, eax
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x1c], 0
mov al, byte [ebp + 2]
mov ebp, edi
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x1c]
cmp dword [esi + eax*8 + 4], ebp
jle 0x44d8f9
lea eax, [edi - 1]
jmp 0x44d8f5
mov edx, dword [esi + 0x18]
mov ebx, dword [esi + 0x10]
sub ebx, edx
mov ecx, dword [esi + 0x14]
sub ecx, edi
mov eax, dword [esi + 0x14]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x70], eax
mov al, byte [ebp + 6]
mov ebp, dword [esp + 0x70]
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x1c]
cmp dword [esi + eax*8 + 4], ebp
jle 0x44d8f9
lea eax, [ebp - 1]
mov dword [esp + 0x70], eax
mov byte [esp + 0x7c], 1
shl edx, 0x10
test ecx, ecx
mov dword [esp + 0x74], edx
je 0x44d926
mov eax, ebx
cdq
idiv ecx
mov eax, edx
shl eax, 0x10
cdq
idiv ecx
mov ebp, eax
mov eax, ebx
cdq
idiv ecx
shl eax, 0x10
add ebp, eax
mov dword [esp + 0x78], ebp
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x44d93a
mov byte [esp + 0x90], 0
jmp 0x44d9fc
jle 0x44d98f
mov edx, dword [esi + 0x18]
mov ebx, dword [esi]
sub ebx, edx
mov ecx, eax
sub ecx, edi
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], eax
mov al, byte [ebp + 3]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x1c], 0
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x1c]
cmp dword [esi + eax*8 + 4], edi
jle 0x44d983
lea eax, [edi - 1]
mov dword [esp + 0x84], eax
shl edx, 0x10
mov dword [esp + 0x88], edx
jmp 0x44d9d0
mov ebx, dword [esi + 0x18]
mov eax, dword [esi]
sub ebx, eax
mov ecx, edi
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x14]
sub ecx, edx
mov dword [esp + 0x80], edx
xor edx, edx
mov dword [esp + 0x84], edi
mov dl, byte [eax + 7]
cmp dword [esi + edx*8 + 4], edi
jle 0x44d9c4
lea eax, [edi - 1]
mov dword [esp + 0x84], eax
mov eax, dword [esi]
shl eax, 0x10
mov dword [esp + 0x88], eax
mov byte [esp + 0x90], 1
test ecx, ecx
je 0x44d9fc
mov eax, ebx
cdq
idiv ecx
mov eax, edx
shl eax, 0x10
cdq
idiv ecx
mov esi, eax
mov eax, ebx
cdq
idiv ecx
shl eax, 0x10
add esi, eax
mov dword [esp + 0x8c], esi
xor bl, bl
mov ebp, dword [0x4c5d64]
mov ecx, dword [0x4c5d6c]
mov byte [esp + 0x2c], bl
cmp ecx, ebp
jl 0x44db1a
mov al, byte [esp + 0x2c]
test al, al
je 0x44da22
test bl, bl
jne 0x44da6f
lea edx, [esp + 0x44]
xor eax, eax
mov ecx, dword [edx]
cmp ecx, ebp
jne 0x44da61
mov cl, byte [edx + 0x10]
test cl, cl
je 0x44da61
mov cl, byte [esp + 0x2c]
test cl, cl
jne 0x44da4c
lea edi, [esp + 0x1c]
mov esi, edx
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
jmp 0x44da61
test bl, bl
jne 0x44da61
lea edi, [esp + 0x30]
mov esi, edx
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov bl, byte [esp + 0x40]
add edx, 0x14
lea ecx, [esp + 0x94]
cmp edx, ecx
jb 0x44da28
mov eax, dword [0x4b7eb4]
cmp eax, ebp
jg 0x44dac5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x44da89
sar eax, 0x10
jmp 0x44da94
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
sar eax, 0x10
sar ecx, 0x10
mov edx, dword [0x4b7eb0]
cmp edx, eax
jle 0x44daa3
mov eax, edx
mov edx, dword [0x4b7eb8]
cmp edx, ecx
jge 0x44daaf
mov ecx, edx
cmp ecx, eax
jle 0x44dac5
mov edx, dword [esp + 0x18]
sub ecx, eax
add edx, eax
push edx
mov edx, dword [esp + 0x17]
call fcn.0044db30
mov eax, dword [esp + 0x20]
cmp eax, ebp
jne 0x44dad4
mov byte [esp + 0x2c], 0
jmp 0x44dae2
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x34]
cmp eax, ebp
jne 0x44daee
xor bl, bl
jmp 0x44dafc
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [0x4b7ec4]
mov ecx, dword [esp + 0x18]
add ecx, eax
inc ebp
mov edx, dword [0x4c5d6c]
mov dword [esp + 0x18], ecx
cmp edx, ebp
jge 0x44da16
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret