Function at 0x676f80
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 0x6777c2
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 0x677731
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x677026
call fcn.004099c8
jmp 0x677772
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.006792e4
test al, al
je 0x677076
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 1
mov dl, 5
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x6770a3
call fcn.004099c8
jmp 0x677772
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.006738a4
mov eax, 0x1f4
call fcn.004b11a8
inc ebx
cmp ebx, 0xa
jl 0x677010
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x71], 1
je 0x6770b6
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x6770cc
call fcn.004099c8
jmp 0x677772
mov dl, 6
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x6770e4
call fcn.004099c8
jmp 0x677772
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.006782c4
test al, al
jne 0x677136
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x67714c
call fcn.004099c8
jmp 0x677772
mov dl, 7
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x677164
call fcn.004099c8
jmp 0x677772
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 0x6773b7
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x38], 0
je 0x6772bd
mov edx, 0x6777e0
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x6771b6
mov edx, 0x677800
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x6772bd
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x70], 0
je 0x6771d2
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x6771cb
sub eax, 4
mov eax, dword [eax]
test eax, eax
sete al
jmp 0x6771d4
xor eax, eax
test al, al
je 0x6771df
xor eax, eax
jmp 0x6772bf
mov edx, 0x6777e0
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jge 0x677201
mov edx, 0x677800
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jl 0x6772b9
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.0065f3c8
test al, al
je 0x6772b9
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, 0x67780c
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 0x67727a
mov dl, 1
mov eax, dword [0x65e758]
call fcn.0065f638
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x677286
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x6772a3
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.0065fca8
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x50]
test edx, edx
je 0x6772b0
sub edx, 0xffffffd0
mov eax, ebx
call fcn.00660330
jmp 0x6772bf
xor eax, eax
jmp 0x6772bf
xor eax, eax
test al, al
je 0x6773a6
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x6772dd
call fcn.004099c8
jmp 0x677772
mov dl, 8
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x6772f5
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x67730b
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x70], 1
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x677364
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test al, al
je 0x677364
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.00677da0
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.00676f80
jmp 0x6776de
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
test al, al
je 0x677378
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.00673d2c
jmp 0x6776de
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x71], 6
call fcn.004099c8
jmp 0x677772
cmp byte [ebp - 0x33], 0
je 0x67748a
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x6773df
call fcn.004099c8
jmp 0x677772
mov dl, 1
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x6773f7
call fcn.004099c8
jmp 0x677772
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.0067a3d4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x67741f
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x67742e
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x24]
call fcn.0040a614
cmp byte [ebp - 0x34], 0
je 0x677477
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 0x677477
lea eax, [ebp - 0x64]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x54]
mov edx, dword [edx]
mov ecx, 0x67780c
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.006742e0
jmp 0x6776de
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x70], 0
je 0x6774c8
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x70], 0
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x6774b0
call fcn.004099c8
jmp 0x677772
mov dl, 9
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x6774c8
call fcn.004099c8
jmp 0x677772
cmp byte [ebp - 0x32], 0
jne 0x6774de
cmp dword [ebp - 0x2c], 0
jne 0x6774d8
cmp dword [ebp - 0x30], 0
je 0x677566
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x6774f4
call fcn.004099c8
jmp 0x677772
mov dl, 0xa
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x67750c
call fcn.004099c8
jmp 0x677772
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.00677da0
test al, al
jne 0x677538
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x67754e
call fcn.004099c8
jmp 0x677772
mov dl, 0xb
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x677566
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x67757c
call fcn.004099c8
jmp 0x677772
mov dl, 0xc
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x677594
call fcn.004099c8
jmp 0x677772
cmp byte [ebp - 0x31], 0
je 0x677620
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x6775ac
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xa
jle 0x677620
mov eax, edx
test eax, eax
je 0x6775bc
sub eax, 4
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x28]
add edx, 0xa
sub eax, 0xa
xchg edx, eax
call fcn.0065e208
mov ebx, eax
xor eax, eax
push ebp
push 0x677619
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 0x677620
mov eax, dword [ebp - 0x28]
call fcn.004072b0
pop eax
jmp eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x74], 0
je 0x677665
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x677637
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x6776a0
mov eax, edx
test eax, eax
je 0x677646
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 0x6776a0
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 0x6776a0
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 [0x670ef4]
call fcn.0067355c
mov eax, dword [ebp - 0x1c]
call fcn.006737f8
test al, al
je 0x6776b6
call fcn.004099c8
jmp 0x677772
mov dl, 0xd
mov eax, dword [ebp - 0x1c]
call fcn.00673798
test al, al
jne 0x6776ce
call fcn.004099c8
jmp 0x677772
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x6776de
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 0x677738
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 0x6777c9
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