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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff9c
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp + 0x10]
xor eax, eax
push ebp
push 0x677cd2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
add eax, 0x68
mov edx, dword [0x404cf0]
call fcn.0040d3a4
mov dl, 1
mov eax, dword [0x4799b4]
call fcn.004a3cdc
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x40]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x4c], edx
xor ecx, ecx
push ebp
push 0x677c41
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x677536
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 0xc
mov eax, dword [ebp + 0x14]
push eax
push esi
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
mov edx, dword [0x404cf0]
call fcn.0040d3a4
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00679808
test al, al
je 0x677586
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 1
mov dl, 5
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x6775b3
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 0x10]
push eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00673da8
mov eax, 0x1f4
call fcn.004b11a8
inc ebx
cmp ebx, 0xa
jl 0x677520
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x71], 1
je 0x6775c6
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x6775dc
call fcn.004099c8
jmp 0x677c82
mov dl, 6
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x6775f4
call fcn.004099c8
jmp 0x677c82
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x39]
push eax
lea eax, [ebp - 0x32]
push eax
lea eax, [ebp - 0x31]
push eax
lea eax, [ebp - 0x33]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0xc]
call fcn.0040a1dc
push eax
lea eax, [ebp - 0x18]
call fcn.0040a1dc
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.006787e0
test al, al
jne 0x677646
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x67765c
call fcn.004099c8
jmp 0x677c82
mov dl, 7
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677674
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x98], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x9c], edx
cmp byte [ebp - 0x39], 0
je 0x6778c7
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x38], 0
je 0x6777cd
mov edx, 0x677cf0
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x6776c6
mov edx, 0x677d10
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x6777cd
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x70], 0
je 0x6776e2
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x6776db
sub eax, 4
mov eax, dword [eax]
test eax, eax
sete al
jmp 0x6776e4
xor eax, eax
test al, al
je 0x6776ef
xor eax, eax
jmp 0x6777cf
mov edx, 0x677cf0
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jge 0x677711
mov edx, 0x677d10
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jl 0x6777c9
lea ecx, [ebp - 0x54]
mov edx, ebx
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x1c]
add edx, 0x4f
call fcn.0065f1cc
test al, al
je 0x6777c9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
push eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x54]
mov edx, dword [edx]
mov ecx, 0x677d1c
call fcn.0040f074
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
movzx edx, byte [edx + 0x4f]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x50], 0
jne 0x67778a
mov dl, 1
mov eax, dword [0x65e55c]
call fcn.0065f43c
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x677796
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x6777b3
lea eax, [ebp - 0x5c]
mov edx, dword [ebp - 0x18]
call fcn.0040afa0
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x50]
call fcn.0065faac
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x50]
test edx, edx
je 0x6777c0
sub edx, 0xffffffd0
mov eax, ebx
call fcn.00660134
jmp 0x6777cf
xor eax, eax
jmp 0x6777cf
xor eax, eax
test al, al
je 0x6778b6
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x6777ed
call fcn.004099c8
jmp 0x677c82
mov dl, 8
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677805
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x67781b
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x70], 1
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x677874
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test al, al
je 0x677874
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
movzx eax, byte [ebp - 0x31]
push eax
lea eax, [ebp - 4]
push eax
movzx ecx, byte [ebp - 0x32]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.006782bc
mov eax, dword [ebp + 0x14]
push eax
push esi
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00677490
jmp 0x677bee
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test al, al
je 0x677888
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 0x10]
push eax
mov edx, dword [ebp - 0x24]
push edx
push eax
mov eax, dword [ebp + 0x14]
push eax
push esi
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
call fcn.00674230
jmp 0x677bee
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 6
call fcn.004099c8
jmp 0x677c82
cmp byte [ebp - 0x33], 0
je 0x67799a
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x6778ef
call fcn.004099c8
jmp 0x677c82
mov dl, 1
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677907
call fcn.004099c8
jmp 0x677c82
lea eax, [ebp - 0x14]
call fcn.0040a1dc
push eax
lea eax, [ebp - 0x10]
call fcn.0040a1dc
mov edx, eax
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.0067a8f8
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x67792f
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x67793e
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x24]
call fcn.0040a614
cmp byte [ebp - 0x34], 0
je 0x677987
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x28]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x60]
call fcn.0042454c
test eax, eax
sete al
test al, al
jne 0x677987
lea eax, [ebp - 0x64]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x54]
mov edx, dword [edx]
mov ecx, 0x677d1c
call fcn.0040f074
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x28]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.006747f0
jmp 0x677bee
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x70], 0
je 0x6779d8
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x70], 0
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x6779c0
call fcn.004099c8
jmp 0x677c82
mov dl, 9
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x6779d8
call fcn.004099c8
jmp 0x677c82
cmp byte [ebp - 0x32], 0
jne 0x6779ee
cmp dword [ebp - 0x2c], 0
jne 0x6779e8
cmp dword [ebp - 0x30], 0
je 0x677a76
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x677a04
call fcn.004099c8
jmp 0x677c82
mov dl, 0xa
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677a1c
call fcn.004099c8
jmp 0x677c82
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
movzx eax, byte [ebp - 0x31]
push eax
lea eax, [ebp - 4]
push eax
movzx ecx, byte [ebp - 0x32]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.006782bc
test al, al
jne 0x677a48
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x677a5e
call fcn.004099c8
jmp 0x677c82
mov dl, 0xb
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677a76
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x677a8c
call fcn.004099c8
jmp 0x677c82
mov dl, 0xc
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677aa4
call fcn.004099c8
jmp 0x677c82
cmp byte [ebp - 0x31], 0
je 0x677b30
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x677abc
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xa
jle 0x677b30
mov eax, edx
test eax, eax
je 0x677acc
sub eax, 4
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x28]
add edx, 0xa
sub eax, 0xa
xchg edx, eax
call fcn.0065e00c
mov ebx, eax
xor eax, eax
push ebp
push 0x677b29
push dword fs:[eax]
mov dword fs:[eax], esp
push ebx
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x404cf0]
call fcn.0040d280
add esp, 4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
mov ecx, ebx
call fcn.004077e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x677b30
mov eax, dword [ebp - 0x28]
call fcn.004072b0
pop eax
jmp eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x74], 0
je 0x677b75
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x677b47
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x677bb0
mov eax, edx
test eax, eax
je 0x677b56
sub eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x74]
xchg ecx, eax
mov ebx, dword [eax]
call dword [ebx + 0x10]
lea eax, [ebp - 4]
mov edx, dword [0x404cf0]
call fcn.0040d3a4
jmp 0x677bb0
mov eax, dword [ebp - 0x1c]
add eax, 0x68
mov edx, dword [ebp - 4]
mov ecx, dword [0x404cf0]
call fcn.0040d3e8
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4d], 0
je 0x677bb0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x40]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x68]
push eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x24]
mov eax, dword [0x670890]
call fcn.00673a60
mov eax, dword [ebp - 0x1c]
call fcn.00673cfc
test al, al
je 0x677bc6
call fcn.004099c8
jmp 0x677c82
mov dl, 0xd
mov eax, dword [ebp - 0x1c]
call fcn.00673c9c
test al, al
jne 0x677bde
call fcn.004099c8
jmp 0x677c82
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x677bee
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x677c48
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x48]
sbb edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0x78], eax
adc dword [ecx + 0x7c], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x44]
mov eax, dword [eax + 0x40]
sub eax, dword [ebp - 0x50]
sbb edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0x80], eax
adc dword [ecx + 0x84], edx
mov eax, dword [ebp - 0x38]
xor edx, edx
mov dword [ebp - 0x38], edx
call fcn.00408510
pop eax
jmp eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x677cd9
lea eax, [ebp - 0x64]
call fcn.0040f030
lea eax, [ebp - 0x5c]
call fcn.0040a224
lea eax, [ebp - 0x58]
call fcn.0040f030
lea eax, [ebp - 0x54]
call fcn.0040a1dc
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040a23c
lea eax, [ebp - 8]
mov edx, dword [0x404cf0]
mov ecx, 2
call fcn.0040be5c
pop eax
jmp eax