Function at 0x677498
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 0x677cda
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 0x677c49
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x67753e
call fcn.004099c8
jmp 0x677c8a
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
mov edx, dword [0x404cf0]
lea eax, [ebp - 8]
call fcn.0040d3a4
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00679810
test al, al
je 0x67758e
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 1
mov dl, 5
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x6775bb
call fcn.004099c8
jmp 0x677c8a
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.00673db0
mov eax, 0x1f4
call fcn.004b11a8
inc ebx
cmp ebx, 0xa
jl 0x677528
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x71], 1
je 0x6775ce
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x6775e4
call fcn.004099c8
jmp 0x677c8a
mov dl, 6
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x6775fc
call fcn.004099c8
jmp 0x677c8a
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.006787e8
test al, al
jne 0x67764e
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x677664
call fcn.004099c8
jmp 0x677c8a
mov dl, 7
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x67767c
call fcn.004099c8
jmp 0x677c8a
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 0x6778cf
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x38], 0
je 0x6777d5
mov edx, 0x677cf8
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x6776ce
mov edx, 0x677d18
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x6777d5
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x70], 0
je 0x6776ea
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x6776e3
sub eax, 4
mov eax, dword [eax]
test eax, eax
sete al
jmp 0x6776ec
xor eax, eax
test al, al
je 0x6776f7
xor eax, eax
jmp 0x6777d7
mov edx, 0x677cf8
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jge 0x677719
mov edx, 0x677d18
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jl 0x6777d1
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.0065f1d4
test al, al
je 0x6777d1
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, 0x677d24
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 0x677792
mov dl, 1
mov eax, dword [0x65e564]
call fcn.0065f444
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x67779e
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x6777bb
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.0065fab4
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x50]
test edx, edx
je 0x6777c8
sub edx, 0xffffffd0
mov eax, ebx
call fcn.0066013c
jmp 0x6777d7
xor eax, eax
jmp 0x6777d7
xor eax, eax
test al, al
je 0x6778be
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x6777f5
call fcn.004099c8
jmp 0x677c8a
mov dl, 8
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x67780d
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x677823
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x70], 1
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x67787c
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test al, al
je 0x67787c
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.006782c4
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.00677498
jmp 0x677bf6
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test al, al
je 0x677890
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.00674238
jmp 0x677bf6
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 6
call fcn.004099c8
jmp 0x677c8a
cmp byte [ebp - 0x33], 0
je 0x6779a2
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x6778f7
call fcn.004099c8
jmp 0x677c8a
mov dl, 1
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x67790f
call fcn.004099c8
jmp 0x677c8a
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.0067a900
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x677937
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x677946
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x24]
call fcn.0040a614
cmp byte [ebp - 0x34], 0
je 0x67798f
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 0x67798f
lea eax, [ebp - 0x64]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x54]
mov edx, dword [edx]
mov ecx, 0x677d24
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.006747f8
jmp 0x677bf6
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x70], 0
je 0x6779e0
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x70], 0
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x6779c8
call fcn.004099c8
jmp 0x677c8a
mov dl, 9
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x6779e0
call fcn.004099c8
jmp 0x677c8a
cmp byte [ebp - 0x32], 0
jne 0x6779f6
cmp dword [ebp - 0x2c], 0
jne 0x6779f0
cmp dword [ebp - 0x30], 0
je 0x677a7e
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x677a0c
call fcn.004099c8
jmp 0x677c8a
mov dl, 0xa
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x677a24
call fcn.004099c8
jmp 0x677c8a
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.006782c4
test al, al
jne 0x677a50
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x677a66
call fcn.004099c8
jmp 0x677c8a
mov dl, 0xb
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x677a7e
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x677a94
call fcn.004099c8
jmp 0x677c8a
mov dl, 0xc
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x677aac
call fcn.004099c8
jmp 0x677c8a
cmp byte [ebp - 0x31], 0
je 0x677b38
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x677ac4
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xa
jle 0x677b38
mov eax, edx
test eax, eax
je 0x677ad4
sub eax, 4
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x28]
add edx, 0xa
sub eax, 0xa
xchg edx, eax
call fcn.0065e014
mov ebx, eax
xor eax, eax
push ebp
push 0x677b31
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 0x677b38
mov eax, dword [ebp - 0x28]
call fcn.004072b0
pop eax
jmp eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x74], 0
je 0x677b7d
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x677b4f
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x677bb8
mov eax, edx
test eax, eax
je 0x677b5e
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 0x677bb8
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 0x677bb8
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 [0x670898]
call fcn.00673a68
mov eax, dword [ebp - 0x1c]
call fcn.00673d04
test al, al
je 0x677bce
call fcn.004099c8
jmp 0x677c8a
mov dl, 0xd
mov eax, dword [ebp - 0x1c]
call fcn.00673ca4
test al, al
jne 0x677be6
call fcn.004099c8
jmp 0x677c8a
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x677bf6
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 0x677c50
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 0x677ce1
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