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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x697531
sub esp, 0x58
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0xc], ecx
mov ebx, dword [0xa918d0]
test ebx, ebx
jne 0x6974bb
mov ebx, dword [esp + 0x70]
mov dword [edx + 0x10], ebx
test ecx, ecx
je 0x6974b4
mov ebp, dword [ecx + 8]
cmp ebp, 0x8e6cd13b
ja 0x6971af
cmp ebp, 0x4f130308
ja 0x6970c6
cmp ebp, 0xfa45894
jne 0x6970b9
lea eax, [0x832180]
cmp eax, ecx
jne 0x6970ad
mov esi, ebx
je 0x69702f
cmp ebp, 0x4f130308
jne 0x697029
lea eax, [0x8322c0]
cmp eax, ecx
jne 0x697020
mov eax, esi
jne 0x697010
mov dword [esp], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
call fcn.006920e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
test ecx, ecx
je 0x6974ce
mov ecx, dword [ecx + 4]
jmp 0x6974ce
mov eax, esi
mov esi, 0
jmp 0x696fce
test ecx, ecx
mov eax, esi
jmp 0x697012
mov dword [esp], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov eax, dword [0xa7e698]
mov ecx, dword [0xa7e694]
mov edx, dword [0xa7e690]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
call fcn.00693930
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov esi, ebx
mov ebx, 0
jmp 0x696fb8
cmp ebp, 0x4f130308
mov esi, ebx
jmp 0x696fc0
cmp ebp, 0x7a206bd0
jne 0x6971a2
lea eax, [0x832400]
cmp eax, ecx
jne 0x697196
mov eax, ebx
je 0x697120
cmp ebp, 0x8e6cd13b
jne 0x697119
lea ebx, [0x832100]
cmp ebx, ecx
jne 0x697112
mov eax, dword [esp + 0x60]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
test ecx, ecx
jmp 0x697012
test ecx, ecx
jmp 0x697012
mov dword [esp], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov eax, dword [0xa7e698]
mov ecx, dword [0xa7e690]
mov edx, dword [0xa7e694]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.00693470
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x58
ret
mov eax, ebx
mov ebx, 0
jmp 0x6970e2
cmp ebp, 0x8e6cd13b
mov eax, ebx
jmp 0x6970ea
cmp ebp, 0xc80c953b
ja 0x6972eb
cmp ebp, 0xa41916b6
jne 0x6972de
lea eax, [0x832280]
cmp eax, ecx
jne 0x6972d2
mov eax, ebx
je 0x6972aa
cmp ebp, 0xc80c953b
jne 0x6972a4
lea ebx, [0x832340]
cmp ebx, ecx
jne 0x697298
mov ebx, eax
jne 0x69728f
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407e80
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xa7e5f0]
test cl, cl
je 0x697287
lea ecx, [0x748600]
mov dword [0xa7e5f4], ecx
mov edx, dword [0xa918d0]
test edx, edx
jne 0x69727a
mov dword [0xa7e5f8], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x697272
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x697262
or edx, 0x80
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
add esp, 0x58
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x697262
lea edi, [0xa7e5f8]
call fcn.00451480
jmp 0x69723d
lea ecx, [0x748600]
jmp 0x69723d
test ecx, ecx
mov eax, ebx
jmp 0x697012
mov ebx, eax
mov eax, 0
jmp 0x6971f9
test ecx, ecx
mov ebx, eax
jmp 0x697291
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00692ce0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov eax, ebx
mov ebx, 0
jmp 0x6971d7
cmp ebp, 0xc80c953b
mov eax, ebx
jmp 0x6971e3
cmp ebp, 0xe4047a14
jne 0x6974ad
lea esi, [0x832140]
cmp esi, ecx
jne 0x6974a1
mov eax, ebx
je 0x69742b
cmp ebp, 0xee1b4e4a
jne 0x697427
lea ebx, [0x832040]
cmp ebx, ecx
jne 0x69741b
mov ebx, eax
jne 0x6973b6
movzx ecx, byte [eax + 0xc]
lea edx, [0xa45ea0]
lea eax, [edx + ecx]
nop
movzx ecx, byte [0xa7e5f0]
test cl, cl
je 0x6973ae
lea ecx, [0x744bc0]
mov dword [0xa7e5f4], ecx
mov edx, dword [0xa918d0]
test edx, edx
jne 0x6973a1
mov dword [0xa7e5f8], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x697399
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x697389
or edx, 0x80
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
add esp, 0x58
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x697389
lea edi, [0xa7e5f8]
call fcn.00451480
jmp 0x697364
lea ecx, [0x744bc0]
jmp 0x697364
cmp ebp, 0xf46e0b19
jne 0x697414
lea eax, [0x832240]
cmp eax, ecx
jne 0x69740d
mov dword [esp], edx
lea eax, [0x7b495c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x26
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.0068ffc0
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
jmp 0x697012
test ecx, ecx
jmp 0x697291
test ecx, ecx
jmp 0x697291
mov ebx, eax
mov eax, 0
jmp 0x697329
mov ebx, eax
jmp 0x6973b6
mov dword [esp], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov eax, dword [0xa7e690]
mov ecx, dword [0xa7e698]
mov edx, dword [0xa7e694]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
call fcn.00693130
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov eax, ebx
mov ebx, 0
jmp 0x697307
mov eax, ebx
jmp 0x69730d
mov eax, ebx
jmp 0x697012
lea edi, [edx + 0x10]
mov eax, dword [esp + 0x70]
call fcn.00451480
mov ebx, eax
jmp 0x696f79
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov dword [esp], edx
lea eax, [0x7ba97b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
lea eax, [esp + 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.0068ffc0
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828ed8]
mov dword [esp + 4], eax
call fcn.0042af30
nop
call fcn.0044fc40
jmp fcn.00696f40