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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x78161e
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea esi, [edi + 0xc]
mov dword [esi], eax
mov dword [esi + 4], eax
xor ebx, ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ebx
mov eax, 4
add dword [esi + 0xc], eax
add dword [esi + 4], eax
mov eax, dword [esi + 8]
cmp eax, ebx
mov ecx, dword [esi + 0xc]
je 0x6968e2
cmp ecx, eax
jle 0x6968e2
push ebx
push ebx
call fcn.0074cb18
push 0x14
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.004cbcf0
mov ecx, dword [edi + 0x20]
push 0x7f0
push ecx
mov ecx, esi
call fcn.004cbcf0
mov esi, dword [edi + 0x20]
mov eax, esi
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
lea ebp, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x696920
sub eax, ebp
push eax
push esi
lea ecx, [esp + 0x78]
call fcn.00402660
mov dword [esp + 0x94], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x34]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x9c]
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov byte [esp + 0xc4], 2
mov byte [ecx + 4], bl
call fcn.00402580
mov ecx, edi
call fcn.00695fc0
sub esp, 0x10
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.006b77c0
sub esp, 0x10
lea edx, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0xb8], 3
call fcn.006b77c0
lea eax, [esp + 0x90]
push eax
mov ecx, 0x1b1d550
mov byte [esp + 0xb8], 2
call fcn.00683770
cmp al, bl
je 0x696a05
cmp dword [esp + 0x88], 0x10
mov eax, dword [esp + 0x74]
jae 0x6969f3
lea eax, [esp + 0x74]
mov ecx, dword [edi + 0x20]
push eax
push 0x7f0
push ecx
call fcn.0067acb0
add esp, 0xc
lea eax, [esp + 0x40]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x696a10
sub eax, edx
push eax
lea edx, [esp + 0x44]
push edx
lea ecx, [edi + 0x78]
call fcn.00402660
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
mov ebp, dword [edi + 0x20]
lea eax, [esp + 0x54]
push eax
sub esp, 0x1c
mov esi, esp
mov eax, ebp
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
mov byte [esp + 0xb4], 4
mov dword [esp + 0x38], esp
mov byte [esi + 4], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x696a60
sub eax, ecx
push eax
push ebp
mov ecx, esi
call fcn.00402660
sub esp, 0x1c
mov esi, esp
lea ebp, [edi + 0xb0]
mov eax, ebp
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
mov byte [esp + 0xd0], 5
mov dword [esp + 0x50], esp
mov byte [esi + 4], bl
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x696aa0
sub eax, ecx
push eax
push ebp
mov ecx, esi
call fcn.00402660
sub esp, 0x1c
mov esi, esp
lea eax, [esp + 0x98]
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
mov byte [esp + 0xec], 6
mov dword [esp + 0x74], esp
mov byte [esi + 4], bl
lea ebp, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x696ae0
sub eax, ebp
push eax
lea ecx, [esp + 0x9c]
push ecx
mov ecx, esi
call fcn.00402660
mov ecx, edi
mov byte [esp + 0xec], 4
call fcn.006924d0
mov ebp, 0x10
cmp dword [edi + 0x58], ebp
mov byte [esp + 0x13], al
jb 0x696b1d
mov edi, dword [edi + 0x44]
jmp 0x696b20
add edi, 0x44
mov esi, edi
lea ecx, [esp + 0x40]
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x696b46
cmp dl, bl
je 0x696b42
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x696b46
add ecx, 2
add esi, 2
cmp dl, bl
jne 0x696b26
xor ecx, ecx
jmp 0x696b4b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
je 0x696c66
cmp al, bl
mov eax, 0x7bed34
jne 0x696b61
mov eax, 0x8f7554
cmp dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x58]
jae 0x696b6f
lea ecx, [esp + 0x58]
push ecx
push 0x7958c8
lea edx, [esp + 0x48]
push edx
push eax
push 0x8f7544
push 5
call fcn.00678ac0
add esp, 0x18
cmp byte [esp + 0x13], bl
mov eax, 0x7bed34
jne 0x696b9a
mov eax, 0x8f7554
cmp dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x58]
jae 0x696ba8
lea ecx, [esp + 0x58]
push ecx
push 0x7958c8
lea ecx, [esp + 0x48]
push ecx
push eax
push 0x8f7530
push 5
call fcn.00678ac0
add esp, 0x18
cmp byte [esp + 0x13], bl
mov eax, 0x7bed34
jne 0x696bd3
mov eax, 0x8f7554
cmp dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x58]
jae 0x696be1
lea ecx, [esp + 0x58]
push ecx
push 0x7958c8
lea edx, [esp + 0x48]
push edx
push eax
push 0x8f77a0
push 5
call fcn.00678ac0
add esp, 0x18
cmp byte [esp + 0x13], bl
mov eax, 0x7bed34
jne 0x696c0c
mov eax, 0x8f7554
cmp dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x58]
jae 0x696c1a
lea ecx, [esp + 0x58]
push ecx
push 0x7958c8
lea ecx, [esp + 0x48]
push ecx
push eax
push 0x8f7788
push 5
call fcn.00678ac0
add esp, 0x18
cmp byte [esp + 0x13], bl
mov eax, 0x7bed34
jne 0x696c45
mov eax, 0x8f7554
cmp dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x58]
jae 0x696c53
lea ecx, [esp + 0x58]
push ecx
push 0x7958c8
lea edx, [esp + 0x48]
push edx
push eax
push 0x8f7774
jmp 0x696c93
cmp al, bl
mov ecx, 0x7bed34
jne 0x696c74
mov ecx, 0x8f7554
cmp dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x58]
jae 0x696c82
lea eax, [esp + 0x58]
push eax
push 0x7958c8
lea eax, [esp + 0x48]
push eax
push ecx
push 0x8f7558
push 5
call fcn.00678ac0
add esp, 0x18
call dword [0x794284]
cmp eax, dword [0x1b1d584]
jne 0x696cd3
push 0x8f7768
mov ecx, 0x991600
call fcn.00409080
cmp eax, ebx
je 0x696cd3
fld dword [0x798570]
push ecx
fstp dword [esp]
push ebx
push ebx
push 1
mov ecx, eax
call fcn.0040a9a0
cmp dword [esp + 0x6c], ebp
jb 0x696ce6
mov ecx, dword [esp + 0x58]
push ecx
call fcn.0074c96f
add esp, 4
mov eax, dword [esp + 0x24]
cmp eax, ebx
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
je 0x696d07
push eax
call fcn.0074c96f
add esp, 4
mov eax, dword [esp + 0x34]
cmp eax, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
je 0x696d24
push eax
call fcn.0074c96f
add esp, 4
cmp dword [esp + 0x88], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
jb 0x696d46
mov edx, dword [esp + 0x74]
push edx
call fcn.0074c96f
add esp, 4
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x88
ret 4