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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x69bd89
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 8]
movzx ebx, byte [eax + 0x4a]
nop
mov ebp, dword [edx]
mov ecx, ebx
mov ebx, dword [esp + 0x80]
cmp dword [edx + 4], ebx
jbe 0x69bd82
mov byte [esp + 0x23], cl
lea edx, [ebx + ebx*2]
shl edx, 3
movzx edx, byte [ebp + edx]
cmp dl, 5
je 0x69bce3
nop
mov edx, dword [esp + 0x74]
mov ebp, dword [edx]
inc ebp
imul ebp, ebx
mov esi, eax
mov eax, dword [esp + 0x84]
add ebp, eax
mov dword [esp + 0x44], ebp
mov edi, eax
mov eax, dword [edx + 0x28]
shr ebp, 5
cmp dword [edx + 0x2c], ebp
jbe 0x69bd7b
mov ebx, dword [eax + ebp*4]
mov ecx, dword [esp + 0x44]
mov edx, 1
shl edx, cl
test ebx, edx
je 0x69bcd4
xor eax, eax
test al, al
je 0x69bccb
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
lea ebp, [ebx + 1]
cmp ebp, ecx
ja 0x69bc6b
lea ecx, [ebx + 1]
mov dword [eax + 0x20], ecx
lea ecx, [ebx + ebx*2]
mov ebx, dword [esp + 0x80]
mov dword [edx + ecx*4], ebx
lea ebx, [edx + ecx*4]
mov byte [ebx + 4], 0
mov dword [edx + ecx*4 + 8], edi
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x69b4e1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
movzx edi, byte [esp + 0x22]
mov edx, dword [esp + 0x50]
mov ebp, ecx
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x3c], esi
movzx ebx, byte [esp + 0x22]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 8]
mov ebp, dword [edx]
mov eax, dword [esp + 0x3c]
cmp dword [edx + 4], eax
jbe 0x69bd6d
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x22], bl
lea edx, [eax + eax*2]
lea ebp, [ebp + edx*8]
lea edi, [esp + 0x54]
mov esi, ebp
call fcn.0044f6a4
movzx ecx, byte [esp + 0x54]
cmp cl, 4
ja 0x69badd
shl edx, 3
cmp cl, 1
ja 0x69b87b
test cl, cl
jne 0x69b614
test bl, bl
je 0x69b545
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
xor edx, edx
nop
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx]
inc ebp
imul ebp, eax
add ebp, ecx
mov esi, eax
mov eax, dword [ebx + 0x28]
mov edi, ebp
shr ebp, 5
cmp dword [ebx + 0x2c], ebp
jbe 0x69bd74
mov dword [esp + 0x28], ecx
mov byte [esp + 0x22], dl
mov ebx, dword [eax + ebp*4]
mov ecx, edi
mov edx, 1
shl edx, cl
test ebx, edx
je 0x69b536
xor eax, eax
test al, al
jne 0x69b3ef
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov eax, ebx
mov ecx, ebp
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x1c]
test ebx, ebx
jle 0x69bc3e
mov edi, edx
lea edx, [ebx - 1]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x44], ebx
mov ecx, dword [ebp + ebx*4 - 0xc]
mov dword [esp + 0x38], ecx
shl ebx, 2
mov ecx, dword [esp + 0x44]
mov ecx, dword [ebp + ecx*4 - 4]
movzx ebx, byte [ebx + ebp - 8]
mov dword [eax + 0x20], edx
lea edx, [eax + 0x1c]
mov dword [esp + 0x50], edx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
jmp 0x69b423
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x69b4bd
mov ebp, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [ebp + 8]
nop
mov esi, ebx
mov ebx, dword [ebp]
cmp dword [ebp + 4], eax
jbe 0x69bd32
movzx edx, byte [edx + ebx]
cmp dl, 5
je 0x69b60a
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x20]
mov ebp, dword [edx + 0x1c]
mov edi, eax
mov eax, dword [edx + 0x24]
lea edx, [ebx + 1]
cmp edx, eax
ja 0x69b5ae
lea eax, [ebx + 1]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x20], eax
lea eax, [ebx + ebx*2]
mov dword [ebp + eax*4], edi
lea ebx, [ebp + eax*4]
mov byte [ebx + 4], 1
mov ebx, dword [esp + 0x2c]
mov dword [ebp + eax*4 + 8], ebx
mov eax, dword [esp + 0x58]
mov ecx, ebx
mov edx, esi
jmp 0x69b483
lea ecx, [0x7dce60]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0xb91180]
test edx, edx
jne 0x69b5ff
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x3c]
mov ebx, ecx
mov ebp, eax
mov ecx, dword [esp + 0x70]
jmp 0x69b580
mov edi, dword [esp + 0x50]
call fcn.0044f0d0
jmp 0x69b5ec
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x2c]
jmp 0x69b5a1
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov eax, dword [esp + 0x58]
cmp eax, ebp
jae 0x69bd2b
mov esi, ebx
lea ebx, [eax + eax*2]
shl ebx, 3
movzx ebx, byte [ebx + edx]
mov edi, eax
lea eax, [ebx - 7]
cmp al, 3
ja 0x69b76e
nop
mov eax, dword [esp + 0x5c]
cmp eax, ebp
jae 0x69bd24
mov dword [esp + 0x34], eax
lea ebx, [eax + eax*2]
shl ebx, 3
movzx edx, byte [ebx + edx]
cmp dl, 5
je 0x69b763
nop
mov edx, dword [esp + 0x74]
mov ebx, dword [edx]
inc ebx
imul ebx, eax
mov ebp, dword [esp + 0x2c]
add ebx, ebp
mov dword [esp + 0x44], ebx
mov edi, ebp
mov ebp, dword [edx + 0x28]
shr ebx, 5
cmp dword [edx + 0x2c], ebx
jbe 0x69bd1d
mov eax, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
mov edx, 1
shl edx, cl
test eax, edx
je 0x69b753
xor eax, eax
test al, al
je 0x69b74d
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x1c]
mov ecx, eax
lea eax, [edx + 1]
cmp eax, ebx
ja 0x69b6f3
lea eax, [edx + 1]
mov dword [ecx + 0x20], eax
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x34]
mov dword [ebp + eax*4], edx
lea edx, [ebp + eax*4]
mov byte [edx + 4], 0
mov dword [ebp + eax*4 + 8], edi
mov eax, dword [esp + 0x5c]
mov ebx, dword [ecx]
mov ecx, ebx
mov edx, esi
jmp 0x69b483
lea ecx, [0x7dce60]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0xb91180]
test edx, edx
jne 0x69b742
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x2c]
mov edx, ecx
mov ebp, eax
mov ecx, ebx
jmp 0x69b6c7
mov edi, dword [esp + 0x50]
call fcn.0044f0d0
jmp 0x69b731
mov ecx, dword [esp + 0x74]
jmp 0x69b6e4
or edx, eax
mov dword [ebp + ebx*4], edx
mov eax, 1
jmp 0x69b6a9
mov edi, dword [esp + 0x2c]
xor eax, eax
jmp 0x69b6a9
nop
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
mov dword [esp + 0x30], edx
cmp bl, 5
je 0x69b874
nop
lea ebx, [edx + 1]
imul ebx, edi
add ebx, edx
mov dword [esp + 0x44], ebx
mov ebp, dword [eax + 0x28]
shr ebx, 5
cmp dword [eax + 0x2c], ebx
jbe 0x69bd16
mov edx, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
mov eax, 1
shl eax, cl
test edx, eax
je 0x69b864
xor eax, eax
test al, al
je 0x69b85e
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x20]
mov ecx, eax
lea eax, [ebp + 1]
cmp eax, ebx
ja 0x69b800
lea eax, [ebp + 1]
mov dword [ecx + 0x20], eax
lea eax, [ebp + ebp*2]
mov dword [edx + eax*4], edi
lea ebx, [edx + eax*4]
mov byte [ebx + 4], 0
mov ebx, dword [esp + 0x30]
mov dword [edx + eax*4 + 8], ebx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
mov edx, esi
jmp 0x69b483
mov dword [esp + 0x40], edi
lea ecx, [0x7dce60]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0xb91180]
test edx, edx
jne 0x69b853
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x40]
mov ebp, ecx
mov edx, eax
mov ecx, ebx
jmp 0x69b7d5
mov edi, dword [esp + 0x50]
call fcn.0044f0d0
jmp 0x69b842
mov ecx, dword [esp + 0x74]
jmp 0x69b7f1
or eax, edx
mov dword [ebp + ebx*4], eax
mov eax, 1
jmp 0x69b7b7
xor eax, eax
jmp 0x69b7b7
cmp cl, 2
jne 0x69b9b5
test bl, bl
jne 0x69b995
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jb 0x69b98d
mov ecx, ebx
mov ebx, dword [esp + 0x74]
mov esi, edx
mov edx, dword [ebx + 4]
cmp dword [ebx + 8], ebp
jbe 0x69b983
mov edi, ebx
mov ebx, dword [esp + 0x70]
mov ebx, dword [ebx + 8]
nop
mov edx, dword [edx + ebp*4]
mov ebp, dword [ebx]
cmp dword [ebx + 4], eax
jbe 0x69bd01
movzx ebx, byte [esi + ebp]
cmp bl, 5
je 0x69b8fb
mov ebx, dword [edi + 0x1c]
mov ebp, dword [edi + 0x20]
mov esi, edx
lea edx, [ebp + 1]
mov eax, dword [edi + 0x24]
cmp edx, eax
ja 0x69b922
lea eax, [ebp + 1]
mov dword [edi + 0x20], eax
lea eax, [ebp + ebp*2]
mov edx, dword [esp + 0x3c]
mov dword [ebx + eax*4], edx
lea edx, [ebx + eax*4]
mov byte [edx + 4], 1
mov dword [ebx + eax*4 + 8], esi
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x5c]
cmp dword [edi + 8], edx
jbe 0x69bcfa
mov ebx, dword [esp + 0x2c]
mov dword [eax + edx*4], ebx
mov eax, dword [esp + 0x58]
mov ecx, ebx
movzx edx, byte [esp + 0x22]
jmp 0x69b483
mov dword [esp + 0x44], esi
lea ecx, [0x7dce60]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0xb91180]
test edx, edx
jne 0x69b978
mov dword [ebx + 0x1c], eax
mov esi, dword [esp + 0x44]
mov edi, ebx
mov ebp, ecx
mov ebx, eax
movzx ecx, byte [esp + 0x22]
jmp 0x69b8df
mov edi, dword [esp + 0x50]
call fcn.0044f0d0
jmp 0x69b964
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x74]
jmp 0x69b912
mov ecx, ebx
mov ebx, dword [esp + 0x74]
jmp 0x69b983
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x5c]
cmp dword [eax + 8], edx
jbe 0x69bd08
mov ebx, dword [esp + 0x2c]
mov dword [ecx + edx*4], ebx
jmp 0x69b4c5
cmp cl, 3
jne 0x69ba0d
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x5c]
mov byte [esp + 8], al
call fcn.0069c200
movzx eax, byte [esp + 0xc]
test al, al
je 0x69b4c5
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
jmp 0x69b483
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
test edx, edx
je 0x69bad1
cmp edx, 1
jle 0x69bac8
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp ebx, 1
jbe 0x69bcf3
mov ebp, dword [ecx + 4]
cmp ebp, 0xffffffff
jne 0x69ba9e
mov ebp, dword [eax + 8]
mov esi, eax
mov eax, dword [eax + 4]
cmp ebx, ebp
jle 0x69ba9a
cmp ecx, eax
je 0x69ba69
mov dword [esp], ecx
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044f8d0
movzx eax, byte [esp + 0x23]
test al, al
je 0x69ba8e
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
cmp dword [edx], ecx
jne 0x69b4c5
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
mov ebp, ebx
jmp 0x69ba52
mov esi, ecx
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x69bac4
test edx, edx
jle 0x69bac0
cmp edx, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x69ba69
mov ecx, esi
jmp 0x69ba46
xor ebp, ebp
jmp 0x69bab6
xor ebp, ebp
jmp 0x69bab6
mov edx, dword [esp + 0x2c]
jmp 0x69ba2f
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
cmp cl, 7
ja 0x69bb59
cmp cl, 5
je 0x69bd53
cmp cl, 6
jne 0x69baff
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
mov edx, ebx
jmp 0x69b483
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
nop
lea edx, [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00694a90
cmp dword [esp + 8], 0xffffffff
je 0x69b4c5
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
lea ecx, [ebp + ebx]
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x69b483
cmp cl, 8
je 0x69bbf2
cmp cl, 9
je 0x69bbb6
cmp cl, 0xa
jne 0x69bd39
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp eax, 0xa
je 0x69b4c5
cmp eax, 0xffffffff
je 0x69b4c5
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x69b483
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], 0xffffffff
je 0x69b4c5
mov ebx, dword [esp + 0x2c]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x69b483
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jbe 0x69bd0f
cmp dword [edx], eax
jne 0x69b4c5
mov ebx, dword [esp + 0x2c]
add ecx, ebx
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x69b483
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x69bc67
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], 1
jle 0x69bc63
mov eax, dword [ecx + 4]
test eax, eax
setge al
mov byte [esp + 0x88], al
add esp, 0x6c
ret
xor eax, eax
jmp 0x69bc58
xor eax, eax
jmp 0x69bc58
lea eax, [0x7dce60]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0xb91180]
test edx, edx
jne 0x69bcc1
mov dword [ebx + 0x1c], eax
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x84]
mov ebx, ecx
mov edx, eax
mov eax, dword [esp + 0x74]
jmp 0x69b3c4
lea edi, [ebx + 0x1c]
call fcn.0044f0d0
jmp 0x69bca9
mov eax, dword [esp + 0x74]
jmp 0x69b3e2
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x69b3a4
mov esi, eax
mov edi, dword [esp + 0x84]
xor eax, eax
jmp 0x69b3a4
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8adfa0]
mov dword [esp + 4], eax
call fcn.00429580
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8adfa8]
mov dword [esp + 4], eax
call fcn.00429580
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.0044d880
jmp fcn.0069b310