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

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c0]
cmp eax, dword [ecx + 8]
jbe 0x68aaa1
sub esp, 0x340
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
lea eax, [0x6db720]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004cf4a0
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.00468c2b
mov ecx, dword [esp + 0x344]
mov dword [esp], ecx
lea edx, [0x6aa020]
mov dword [esp + 4], edx
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x348]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x10], ebx
call fcn.0067b980
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x68a110
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x34c]
cmp ebp, ebx
jb 0x68a0ef
mov ebp, dword [esp + 0x348]
lea esi, [ebx + ebp]
mov edi, dword [esp + 0x344]
cmp dword [edi + 0x2ac], esi
jb 0x68a0ce
test ebx, ebx
je 0x68a0ad
mov byte [edi + 0x29f], 1
mov ebx, dword [esp + 0x4c]
movzx esi, word [esp + 0x50]
movzx eax, word [esp + 0x52]
mov dword [edi + 0x18c], ebx
mov word [edi + 0x190], si
mov word [edi + 0x192], ax
mov edx, dword [edi + 0x290]
mov ebx, dword [esp + 0x4c]
lea ecx, [ebx + ebp]
mov esi, dword [esp + 0x48]
lea eax, [ebp + esi]
cmp edx, ecx
jb 0x68aa9b
cmp ecx, eax
jb 0x68aa96
mov ecx, dword [edi + 0x288]
sub edx, eax
sub ebx, esi
mov dword [edi + 0x198], ebx
mov dword [edi + 0x19c], edx
mov ebp, dword [0x98d4e0]
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ecx
test ebp, ebp
je 0x68a0a2
mov ecx, edi
call fcn.004689a0
mov dword [edi], eax
mov edx, dword [ecx + 0x194]
mov dword [edi + 4], edx
mov edi, ecx
mov dword [edi + 0x194], eax
jmp 0x68a13e
mov eax, dword [0x95dac0]
mov ecx, dword [0x95dac4]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov eax, dword [0x95da80]
mov ecx, dword [0x95da84]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov eax, dword [0x95da80]
mov ecx, dword [0x95da84]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov eax, dword [0x95da80]
mov ecx, dword [0x95da84]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.00666d80
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x68a975
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
cmp dword [ecx + 0x28], 1
je 0x68a16c
xor eax, eax
jmp 0x68a1b0
mov esi, dword [ecx + 0x24]
lea edi, [esp + 0x290]
call fcn.00468f88
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
lea edi, [esp + 0xc]
lea esi, [esp + 0x294]
call fcn.004690dc
call fcn.00669070
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x64]
test eax, eax
je 0x68a939
mov dword [esp + 0x5c], eax
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.00468c1e
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x5c]
mov dword [esp], edx
call fcn.004f1220
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], ecx
shl ecx, 1
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 4]
mov dword [esp + 0x60], ebx
lea ebp, [0x6bd4a0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044e050
mov ecx, dword [esp + 0xc]
nop
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
xor eax, eax
xor esi, esi
jmp 0x68a9a2
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00451eb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xf8], ecx
lea esi, [eax + 0x16c]
lea edi, [esp + 0xd8]
call fcn.0046910e
lea esi, [eax + 0x158]
lea edi, [esp + 0xc4]
call fcn.0046910e
lea esi, [eax + 0x60]
lea edi, [esp + 0x178]
call fcn.0046900a
mov ecx, dword [esp + 0x17c]
test ecx, ecx
je 0x68a2a3
mov ecx, dword [esp + 0x178]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
jmp 0x68a2a7
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp + 0x1ac]
test ebx, ebx
je 0x68a2f8
mov eax, dword [esp + 0x1a8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x70a57a]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00451cb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1a0]
test ebx, ebx
je 0x68a349
mov eax, dword [esp + 0x19c]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x70a57a]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00451cb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x188]
test ebx, ebx
je 0x68a39a
mov eax, dword [esp + 0x184]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x70a57a]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
call fcn.00451cb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
add eax, 0xdc
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x1d8]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x70a57a]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
call fcn.00451cb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0xfc]
mov esi, dword [esp + 0x74]
call fcn.0046900a
mov eax, dword [esp + 0x100]
test eax, eax
je 0x68a41e
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
jmp 0x68a422
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x130]
test edx, edx
je 0x68a46f
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x70a57a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00451cb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x124]
test edx, edx
je 0x68a4bc
mov edx, dword [esp + 0x120]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x70a57a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00451cb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10c]
test edx, edx
je 0x68a509
mov edx, dword [esp + 0x108]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x70a57a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00451cb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x70a57a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
call fcn.00451cb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0x344]
mov byte [eax + 0x2ab], 1
mov ecx, dword [eax + 0x2bc]
movzx ecx, byte [ecx + 0xc]
test cl, cl
je 0x68a57b
xor ecx, ecx
jmp 0x68a5ad
call fcn.0068aab0
mov eax, dword [esp + 4]
test eax, eax
je 0x68a58c
xor eax, eax
jmp 0x68a5ab
mov eax, dword [esp]
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.006674c0
mov eax, dword [esp + 8]
test eax, eax
setne al
xor eax, 1
mov ecx, eax
mov byte [esp + 0x3b], cl
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.00468c2b
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0068b480
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
lea edi, [esp + 0xa0]
lea esi, [esp + 0xc]
call fcn.0046910e
lea edi, [esp + 0x8c]
lea esi, [esp + 0xa0]
call fcn.0046910e
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x68a691
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
test edx, edx
je 0x68a633
mov edx, dword [edx + 4]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x344]
mov ecx, dword [eax + 0x2c0]
mov dword [esp], ecx
lea ecx, [0x71c13a]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
lea edx, [esp + 0x84]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.0065f080
mov ecx, dword [esp + 0x344]
xor eax, eax
jmp 0x68a74e
mov ecx, dword [esp + 0x344]
mov edx, dword [ecx + 0x2bc]
movzx edx, byte [edx + 0xd]
test dl, dl
je 0x68a6ad
xor eax, eax
jmp 0x68a74e
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call fcn.004ffee0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x344]
mov dword [esp], eax
lea ecx, [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.006896d0
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x68aa7b
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
cmp dword [esp + 0x98], edx
je 0x68a729
xor eax, eax
jmp 0x68a747
mov eax, dword [ecx]
mov ecx, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00403500
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xf4], edx
lea edi, [esp + 0x1f4]
mov edx, eax
xor eax, eax
call fcn.00468c09
lea edi, [esp + 0x1f4]
mov esi, dword [esp + 0x64]
call fcn.004690b4
lea edi, [esp + 0x22c]
lea esi, [esp + 0x8c]
call fcn.0046910e
mov byte [esp + 0x240], dl
lea edi, [esp + 0x244]
lea esi, [esp + 0xb4]
call fcn.0046908c
movzx ecx, byte [esp + 0x3b]
mov byte [esp + 0x28c], cl
mov ecx, dword [esp + 0x344]
mov edx, dword [ecx + 0x1a8]
mov ebx, dword [ecx + 0x1a4]
inc ebx
mov ebp, dword [ecx + 0x1a0]
cmp edx, ebx
jae 0x68a83b
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6e7360]
mov dword [esp + 0x10], eax
call fcn.0044e1d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x344]
mov dword [ebx + 0x1a8], eax
mov eax, dword [0x98d4e0]
test eax, eax
je 0x68a828
call fcn.004689a0
mov dword [edi], ecx
mov eax, dword [ebx + 0x1a0]
mov dword [edi + 4], eax
mov dword [ebx + 0x1a0], ecx
xor eax, eax
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x344]
mov dword [ecx + 0x1a4], ebx
mov edx, dword [0x98d4e0]
imul ebx, ebx, 0x9c
lea edi, [ebx + ebp - 0x9c]
test edx, edx
je 0x68a87d
mov dword [esp + 0x70], edi
lea eax, [0x6e7360]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1f4]
mov dword [esp + 8], eax
call fcn.00411600
mov edi, dword [esp + 0x70]
lea esi, [esp + 0x1f4]
call fcn.00468fba
lea eax, [0x6e7be0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
lea ecx, [0x6b9480]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax], 1
mov dword [eax + 4], 3
mov dword [eax + 8], 6
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], 4
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], 0x137
mov dword [eax + 0x1c], 2
mov dword [eax + 0x20], 4
mov dword [eax + 0x24], 1
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0xa
lea eax, [0x6ade60]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], ecx
call fcn.00667ee0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x68a131
jmp 0x68a9ee
lea eax, [0x6cc1c0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x7195d6]
mov dword [eax], ecx
lea ecx, [0x773c30]
mov dword [esp + 0x350], ecx
mov dword [esp + 0x354], eax
add esp, 0x340
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], ecx
add esp, 0x340
ret
mov byte [esi + ecx + 1], dl
inc eax
add esi, 2
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x60]
cmp eax, edx
jge 0x68a21f
movzx edi, byte [eax + ebp]
xchg edi, eax
mov byte [esp + 0x3a], al
xchg edi, eax
xchg edi, eax
shr al, 4
xchg edi, eax
xchg edi, eax
movzx eax, al
xchg edi, eax
lea ebp, [0x70fae4]
movzx edi, byte [ebp + edi]
cmp esi, ebx
jae 0x68aa8d
xchg edi, eax
mov byte [ecx + esi], al
xchg edi, eax
lea edi, [esi + 1]
movzx edx, byte [esp + 0x3a]
and edx, 0xf
movzx edx, byte [edx + ebp]
cmp ebx, edi
ja 0x68a992
jmp 0x68aa84
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], ecx
lea edx, [0x6d78c0]
mov dword [esp], edx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [eax], 0
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
lea ebx, [0x6c7a20]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004709a0
movzx eax, byte [esp + 0x10]
test al, al
je 0x68aa5e
mov dword [esp + 0x350], 0
mov dword [esp + 0x354], 0
add esp, 0x340
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x354], eax
add esp, 0x340
ret
xor eax, eax
mov ecx, eax
call fcn.00468a00
mov eax, edi
mov ecx, ebx
call fcn.00468a00
mov eax, esi
mov ecx, ebx
call fcn.00468a00
call fcn.00468a70
call fcn.00468a50
nop
call fcn.00467590
jmp fcn.00689f30