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

Disassembly:
sub esp, 0x84
mov eax, dword [0x4a994c]
mov byte [esp + 3], dl
push ebx
push esi
push edi
push ebp
mov esi, ecx
cmp dword [0x4b666c], eax
jle 0x447e82
mov dword [0x4b666c], eax
mov eax, dword [0x4b6664]
mov ecx, dword [0x4a9950]
imul eax, dword [0x4a9954]
add eax, ecx
mov edx, dword [0x4b666c]
mov dword [esp + 0x18], eax
mov eax, dword [0x4b6664]
cmp eax, edx
jne 0x447ee8
mov edx, dword [0x4b6660]
mov eax, dword [0x4a9940]
cmp edx, eax
jg 0x447eba
mov edx, eax
mov ecx, dword [0x4b6668]
mov eax, dword [0x4a9948]
cmp ecx, eax
jl 0x447ecb
mov ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, edx
add eax, edx
mov edx, dword [esp + 0x13]
push eax
call fcn.00448370
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
xor edx, edx
mov ecx, esi
call fcn.004476a0
mov ebx, dword [esi + 8]
mov eax, dword [esi]
cmp ebx, eax
jne 0x447f0e
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
cmp ecx, eax
jne 0x447f0e
mov dword [esp + 0x14], 0x46c10c
jmp 0x447f66
mov ecx, dword [esi + 0x10]
cmp ebx, ecx
jne 0x447f29
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
cmp edx, eax
jne 0x447f29
mov dword [esp + 0x14], 0x46c100
jmp 0x447f66
mov eax, dword [esi + 0x18]
cmp eax, ecx
jne 0x447f44
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x14]
cmp edx, ecx
jne 0x447f44
mov dword [esp + 0x14], 0x46c0f4
jmp 0x447f66
mov ecx, dword [esi]
cmp eax, ecx
jne 0x447f5e
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 4]
cmp ecx, eax
jne 0x447f5e
mov dword [esp + 0x14], 0x46c0e8
jmp 0x447f66
mov dword [esp + 0x14], 0x46c0dc
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
cmp eax, ecx
jne 0x447f7a
mov byte [esp + 0x54], 0
jmp 0x44800f
jge 0x447faa
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 0x447fa6
lea eax, [ecx - 1]
mov dword [esp + 0x48], eax
mov eax, dword [esi]
jmp 0x447fd8
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 0x447fd6
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 0x44800f
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 0x448020
mov byte [esp + 0x68], 0
jmp 0x4480ab
jle 0x448050
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 0x448047
dec eax
mov dword [esp + 0x5c], eax
shl ebx, 0x10
mov dword [esp + 0x60], ebx
jmp 0x448085
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 0x44807e
dec eax
mov dword [esp + 0x5c], eax
shl edx, 0x10
mov dword [esp + 0x60], edx
mov byte [esp + 0x68], 1
test edi, edi
je 0x4480ab
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 0x4480bf
mov byte [esp + 0x7c], 0
jmp 0x448166
jge 0x4480f9
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 0x448139
lea eax, [edi - 1]
jmp 0x448135
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 0x448139
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 0x448166
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 0x44817a
mov byte [esp + 0x90], 0
jmp 0x44823c
jle 0x4481cf
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 0x4481c3
lea eax, [edi - 1]
mov dword [esp + 0x84], eax
shl edx, 0x10
mov dword [esp + 0x88], edx
jmp 0x448210
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 0x448204
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 0x44823c
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 [0x4b6664]
mov ecx, dword [0x4b666c]
mov byte [esp + 0x2c], bl
cmp ecx, ebp
jl 0x44835a
mov al, byte [esp + 0x2c]
test al, al
je 0x448262
test bl, bl
jne 0x4482af
lea edx, [esp + 0x44]
xor eax, eax
mov ecx, dword [edx]
cmp ecx, ebp
jne 0x4482a1
mov cl, byte [edx + 0x10]
test cl, cl
je 0x4482a1
mov cl, byte [esp + 0x2c]
test cl, cl
jne 0x44828c
lea edi, [esp + 0x1c]
mov esi, edx
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
jmp 0x4482a1
test bl, bl
jne 0x4482a1
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 0x448268
mov eax, dword [0x4a9944]
cmp eax, ebp
jg 0x448305
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x4482c9
sar eax, 0x10
jmp 0x4482d4
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
sar eax, 0x10
sar ecx, 0x10
mov edx, dword [0x4a9940]
cmp edx, eax
jle 0x4482e3
mov eax, edx
mov edx, dword [0x4a9948]
cmp edx, ecx
jge 0x4482ef
mov ecx, edx
cmp ecx, eax
jle 0x448305
mov edx, dword [esp + 0x18]
sub ecx, eax
add edx, eax
push edx
mov edx, dword [esp + 0x17]
call fcn.00448370
mov eax, dword [esp + 0x20]
cmp eax, ebp
jne 0x448314
mov byte [esp + 0x2c], 0
jmp 0x448322
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 0x44832e
xor bl, bl
jmp 0x44833c
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [0x4a9954]
mov ecx, dword [esp + 0x18]
add ecx, eax
inc ebp
mov edx, dword [0x4b666c]
mov dword [esp + 0x18], ecx
cmp edx, ebp
jge 0x448256
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret