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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x2e4]
cmp eax, dword [ecx + 8]
jbe 0x69e14c
sub esp, 0x364
lea edi, [esp + 0x2fc]
xor eax, eax
call fcn.004686f9
lea edi, [esp + 0x318]
call fcn.004686ed
lea ecx, [esp + 0x318]
mov dword [esp + 0x308], ecx
call fcn.00452f50
mov ecx, dword [esp]
mov dword [esp + 0x304], ecx
lea edi, [esp + 0x2e0]
xor eax, eax
call fcn.004686f9
lea edi, [esp + 0x84]
call fcn.004686eb
lea ecx, [esp + 0x84]
mov dword [esp + 0x2ec], ecx
call fcn.00452f50
mov ecx, dword [esp]
mov dword [esp + 0x2e8], ecx
mov ecx, dword [esp + 0x36c]
test ecx, ecx
je 0x69d6af
mov edx, dword [esp + 0x370]
mov ebx, dword [esp + 0x368]
mov eax, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x44], eax
mov ecx, 0xffffffff
mov dword [esp + 0x38], ecx
mov eax, 0xffffffff
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x28], eax
lea eax, [0x9ec5e0]
mov dword [esp + 0x2b8], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x36c]
mov ecx, eax
jmp 0x69d743
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
add esp, 0x364
ret
lea esi, [edx + edx*2]
mov dword [eax + esi*4 - 0xc], ebx
mov dword [eax + esi*4 - 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + esi*4 - 4], ecx
add ecx, 8
mov ebx, dword [esp + 0x370]
mov esi, dword [esp + 0x368]
mov edi, dword [esp + 0x36c]
mov ebx, esi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x36c]
mov edx, dword [esp + 0x370]
mov ebp, dword [esp + 0x30]
add edx, eax
cmp ecx, edx
jae 0x69dbbd
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x20], ecx
test ebp, ebp
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp esi, 0xf
xchg esi, ebx
setae bl
xchg esi, ebx
and edx, esi
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x69d7be
mov edx, dword [0x9a3ac0]
mov dword [esp + 0x2d0], edx
mov ebp, dword [0x9a3ac4]
mov dword [esp + 0x5c], ebp
mov esi, dword [ebx + 0x274]
mov dword [esp + 0x50], esi
mov eax, dword [ebx + 0x270]
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
jmp 0x69e028
mov edx, dword [esp + 0x38]
sub edi, edx
mov esi, edx
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
sbb edx, ebp
test edx, edx
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp edi, 0x8000000
xchg edi, ebx
seta bl
xchg edi, ebx
and edx, edi
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x69d834
mov edx, dword [0x9a3ab8]
mov dword [esp + 0x2cc], edx
mov ebp, dword [0x9a3abc]
mov dword [esp + 0x58], ebp
mov edi, dword [ebx + 0x274]
mov dword [esp + 0x4c], edi
mov esi, dword [ebx + 0x270]
mov dword [esp + 0x2c0], esi
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
jmp 0x69def1
movzx edx, byte [esp + 0x374]
test dl, dl
je 0x69d8a8
lea edi, [esp + 0x1c8]
xor eax, eax
call fcn.004686c4
mov ecx, dword [ebx + 0x78]
lea edx, [0x729260]
cmp ecx, edx
jne 0x69dec2
mov esi, dword [ebx + 0x7c]
lea edi, [esp + 0x1c8]
call fcn.004689b8
lea edi, [esp + 0xd8]
lea esi, [esp + 0x1c8]
call fcn.004689b8
mov eax, dword [esp + 0xf0]
mov dword [esp], ebx
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.0069b3e0
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
jne 0x69d8c1
jmp 0x69dc36
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0069b3e0
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x69dd2f
mov dword [esp + 0x34], eax
lea ecx, [0x6f21c0]
mov dword [esp], ecx
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [esp + 0x2d4], eax
mov ecx, dword [esp + 0x368]
mov dword [esp], ecx
lea edx, [0x6cf940]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 8
call fcn.0069c0d0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x69dcf1
mov eax, dword [esp + 0x2d4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
sete bl
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x69dbf5
test edx, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [esp + 0x36c]
cmp esi, ecx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x69d97a
mov ebp, dword [esp + 0x20]
cmp ebp, ecx
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x69d97e
jmp 0x69dc74
mov ebp, dword [esp + 0x20]
mov ebx, edx
and edx, 0x80000000
test edx, edx
jbe 0x69d9e8
and ecx, 0x7fffffff
cmp ecx, 0xffff
seta cl
and ecx, 1
test cl, cl
je 0x69dd6d
mov ecx, dword [0x9a3ac8]
mov dword [esp + 0x2c8], ecx
mov edx, dword [0x9a3acc]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x368]
mov edi, dword [ebx + 0x274]
mov dword [esp + 0x48], edi
mov esi, dword [ebx + 0x270]
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x60], eax
jmp 0x69dd9a
lea eax, [0x6e8240]
mov dword [esp], eax
lea edx, [esp + 0x2e0]
mov dword [esp + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
call fcn.0040ffa0
movzx eax, byte [esp + 0x14]
test al, al
je 0x69da22
mov esi, dword [esp + 0x2c]
add esi, 1
mov ebp, dword [esp + 0x30]
adc ebp, 0
jmp 0x69da5e
mov eax, dword [esp + 0x2d4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x6e8240]
mov dword [esp], ebx
lea ebp, [esp + 0x2e0]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
call fcn.00410110
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2d4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x44]
cmp ebx, edx
xchg edi, ebx
sete bl
xchg edi, ebx
setb al
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
xchg esi, ebx
setb bl
xchg esi, ebx
and edi, esi
or edi, eax
xchg edi, eax
test al, al
xchg edi, eax
je 0x69da9f
mov eax, ecx
mov ebx, edx
jmp 0x69daa9
mov eax, ecx
mov ebx, edx
mov ecx, ebp
mov edx, dword [esp + 0x44]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
mov ecx, dword [esp + 0x38]
cmp ecx, eax
seta dl
and edx, esi
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x69dadc
mov eax, ecx
mov ebx, ebp
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], edx
lea edi, [0x6e8180]
mov dword [esp], edi
lea edi, [esp + 0x2fc]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
call fcn.0040f210
mov eax, dword [esp + 0xc]
test byte [eax], al
mov ecx, dword [0x9eca70]
test ecx, ecx
jne 0x69db3e
mov ecx, dword [esp + 0x2d4]
jmp 0x69db51
call fcn.00468460
mov ecx, dword [esp + 0x2d4]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov edx, dword [esp + 0x24]
inc edx
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebp, dword [esp + 0x28]
cmp ebp, edx
jb 0x69db71
mov eax, dword [esp + 0x2b8]
jmp 0x69d6ed
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x2b8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6f9420]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
mov ebp, ecx
mov ecx, dword [esp + 0x64]
jmp 0x69d6ed
mov eax, dword [ebx + 0x2c0]
mov dword [esp], eax
lea eax, [0x74e1b8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00685850
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x380], eax
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
add esp, 0x364
ret
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
add esp, 0x364
ret
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp], ebp
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e44c0]
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x368]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x752696]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x5d
lea eax, [esp + 0x2d8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00685850
jmp 0x69dbf5
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
add esp, 0x364
ret
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
add esp, 0x364
ret
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
jmp 0x69daec
inc eax
mov ebx, dword [esp + 0x368]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
cmp eax, edi
jge 0x69ddf9
lea ebp, [esi + eax*8]
mov ebx, dword [ebp + 4]
cmp ebx, edx
jne 0x69dd8a
mov eax, dword [ebp]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00403590
movzx eax, byte [esp + 0xc]
test al, al
jne 0x69dde4
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x48]
jmp 0x69dd8a
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
mov ebx, dword [esp + 0x368]
mov ebp, dword [esp + 0x20]
jl 0x69deaf
mov eax, dword [ebx + 0x278]
mov ecx, dword [ebx + 0x274]
inc ecx
mov edx, dword [ebx + 0x270]
cmp eax, ecx
jae 0x69de7b
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6e41c0]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x368]
mov dword [ebx + 0x278], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x69de6b
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x270]
mov dword [edi + 4], eax
mov dword [ebx + 0x270], ecx
mov ebp, dword [esp + 0x20]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [ebx + 0x274], ecx
lea eax, [edx + ecx*8 - 4]
mov esi, dword [0x9a3acc]
lea ecx, [edx + ecx*8 - 8]
mov edx, dword [0x9a3ac8]
mov dword [eax], esi
mov eax, dword [0x9eca70]
test eax, eax
je 0x69dead
call fcn.00468460
mov dword [edi], edx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], edx
mov eax, dword [esp + 0x2d4]
mov esi, dword [esp + 0x36c]
jmp 0x69dd6d
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6e5b40]
mov dword [esp + 8], eax
call fcn.00409a80
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x368]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x60]
cmp ecx, edi
jge 0x69df52
lea eax, [esi + ecx*8]
mov ebx, dword [eax + 4]
cmp ebx, ebp
jne 0x69ded8
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00403590
movzx eax, byte [esp + 0xc]
test al, al
jne 0x69df3a
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x2cc]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x2c0]
mov edi, dword [esp + 0x4c]
jmp 0x69ded8
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
mov eax, dword [esp + 0x36c]
mov ebx, dword [esp + 0x368]
jl 0x69e007
mov ecx, dword [ebx + 0x278]
mov edx, dword [ebx + 0x274]
inc edx
mov ebp, dword [ebx + 0x270]
cmp ecx, edx
jae 0x69dfd3
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6e41c0]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x368]
mov dword [ebx + 0x278], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x69dfc4
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x270]
mov dword [edi + 4], ebp
mov dword [ebx + 0x270], ecx
mov eax, dword [esp + 0x36c]
mov ebp, ecx
mov dword [ebx + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov esi, dword [0x9a3abc]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x9a3ab8]
mov dword [ecx], esi
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x69e005
call fcn.00468460
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x38]
jmp 0x69d834
inc ecx
mov ebx, dword [esp + 0x368]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
cmp ecx, esi
jge 0x69e086
lea edi, [eax + ecx*8]
mov ebx, dword [edi + 4]
cmp ebx, ebp
jne 0x69e014
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00403590
movzx eax, byte [esp + 0xc]
test al, al
jne 0x69e071
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
jmp 0x69e014
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
cmp ecx, edx
mov ebx, dword [esp + 0x368]
mov edi, dword [esp + 0x40]
jl 0x69e13c
mov ecx, dword [ebx + 0x278]
mov edx, dword [ebx + 0x274]
inc edx
mov ebp, dword [ebx + 0x270]
cmp ecx, edx
jae 0x69e104
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6e41c0]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x368]
mov dword [ebx + 0x278], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x69e0f8
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x270]
mov dword [edi + 4], ebp
mov dword [ebx + 0x270], ecx
mov edi, dword [esp + 0x40]
mov ebp, ecx
mov dword [ebx + 0x274], edx
lea ecx, [ebp + edx*8 - 4]
mov eax, dword [0x9a3ac4]
lea edx, [ebp + edx*8 - 8]
mov ebp, dword [0x9a3ac0]
mov dword [ecx], eax
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x69e13a
mov eax, edi
call fcn.00468460
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edx], ebp
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x20]
jmp 0x69d7be
call fcn.00467050
jmp fcn.0069d5c0