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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x674d76
sub esp, 0x98
call fcn.00512c60
lea edi, [esp + 0x84]
lea esi, [esp]
call fcn.00464a5e
lea edi, [esp + 0x70]
lea esi, [esp + 0x84]
call fcn.00464a5e
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
test ecx, 0x80000000
je 0x674a08
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or ecx, eax
mov ebx, edx
shl edx, 1
mov ebp, ecx
shl ecx, 1
shr edx, 0x1f
or edx, ecx
shr ebp, 0x1f
add edx, 0xd7b17f80
adc ebp, 0xd
jmp 0x674a12
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov ebx, eax
mov eax, 0x3b9aca00
mul edx
imul ecx, ebp, 0x3b9aca00
add ecx, edx
and ebx, 0x3fffffff
mov edx, ebx
sar ebx, 0x1f
add eax, edx
adc ecx, ebx
add eax, 0x3d1a0000
adc ecx, 0xa1b203eb
mov edx, dword [0x8ce318]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.0052e710
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x674a82
mov edi, dword [esp + 0x48]
lea eax, [edi + 1]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov esi, edx
mov edx, edi
cmp edx, eax
jle 0x674c1d
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x5c], ebp
lea edi, [ecx + eax*8]
mov ebp, dword [edi + 4]
mov edi, dword [edi]
cmp ebp, 3
jl 0x674b05
lea edx, [ebp - 3]
cmp ebp, edx
jb 0x674d6c
mov dword [esp + 0x54], edi
mov dword [esp + 0x28], ebp
lea eax, [ebp + edi - 3]
mov dword [esp], eax
lea eax, [0x6d267c]
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00402ab0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x54]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x48]
jmp 0x674b13
mov dword [esp + 0x4c], eax
xor eax, eax
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x4c]
movzx eax, byte [esp + 0x27]
test al, al
je 0x674b28
lea eax, [ebp - 3]
cmp ebp, eax
jae 0x674b2a
jmp 0x674d63
mov eax, ebp
nop
mov dword [esp], edi
mov dword [esp + 4], eax
lea eax, [0x739fac]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.00479ad0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp edx, 3
jb 0x674d59
mov ecx, 3
mov ebx, 3
jmp 0x674c48
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
lea eax, [0x739fac]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.00479d00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
inc edx
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jb 0x674bb6
mov ebp, dword [esp + 0x5c]
jmp 0x674bf8
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x698ba0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov esi, dword [0x8f52e0]
test esi, esi
jne 0x674c13
mov dword [edi], eax
jmp 0x674a69
call fcn.004642e0
jmp 0x674a69
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], ebx
add esp, 0x98
ret
mov esi, dword [esp + 0x40]
lea ecx, [esi + 1]
mov eax, ebp
mov esi, edx
mov edx, ebx
mov ebx, esi
cmp ecx, 8
jge 0x674b79
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x58], eax
mov eax, dword [0x8ce318]
mov dword [esp], eax
mov dword [esp + 4], 0x10000
call fcn.0052ea00
mov eax, dword [esp + 8]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp], eax
call fcn.00409560
mov eax, dword [esp + 4]
lea ecx, [0x698320]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
lea eax, [0x6d252e]
mov dword [esp], eax
mov dword [esp + 4], 2
lea edx, [esp + 0x68]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00526f10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
inc edx
mov ebx, dword [esp + 0x30]
cmp ebx, edx
jb 0x674cee
mov ebp, dword [esp + 0x58]
jmp 0x674d34
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x698ba0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x674d4f
mov dword [edi], eax
jmp 0x674c39
call fcn.004642e0
jmp 0x674c39
mov ecx, 3
call fcn.004643a0
mov ecx, eax
mov edx, ebp
call fcn.00464380
mov eax, edx
mov ecx, ebp
call fcn.004643c0
nop
call fcn.00462ed0
jmp fcn.00674990