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

Disassembly:
sub esp, 0x2c
mov eax, dword [esp + 0x38]
push ebx
mov ebx, dword [esp + 0x34]
push ebp
mov ebp, dword [eax + 0x34]
mov dword [esp + 0x18], ebp
mov edx, dword [ebx]
mov dword [esp + 0x24], edx
push esi
push edi
mov edi, dword [ebx + 8]
mov dword [esp + 0x28], edi
test ebp, ebp
je 0x6b9147
cmp dword [ebp], edx
je 0x6b9143
mov ebp, dword [ebp + 0x18]
test ebp, ebp
jne 0x6b9137
mov dword [esp + 0x20], ebp
movsx eax, word [eax + 0x22]
mov ecx, dword [ebx + 0x28]
add eax, 2
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x14], eax
lea eax, [ecx + 1]
mov dword [ebx + 0x28], eax
mov esi, dword [edi + 0x74]
mov dword [esp + 0x24], esi
cmp dword [edi + 0x78], esi
jg 0x6b919a
push 0
push dword [esp + 0x1c]
push ecx
push 0x74
push edi
call fcn.00655560
mov edx, dword [esp + 0x40]
add esp, 0x14
mov dword [esp + 0x24], eax
jmp 0x6b91cd
lea eax, [esi + 1]
mov dword [edi + 0x74], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x70]
mov esi, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x74
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x2c]
mov ecx, dword [esp + 0x44]
lea esi, [eax + 1]
add eax, dword [esp + 0x18]
mov dword [ebx + 0x2c], eax
cmp dword [ecx], 1
mov dword [esp + 0x10], esi
jle 0x6b93a3
mov eax, dword [esp + 0x48]
xor esi, esi
mov dword [esp + 0x30], esi
test byte [eax + 0x1c], 0x80
jne 0x6b9266
mov eax, dword [esp + 0x50]
push esi
test eax, eax
je 0x6b9214
push esi
push eax
push edx
call fcn.0063e440
add esp, 0x10
jmp 0x6b92c6
push 0x34
push dword [ebx]
call fcn.00677570
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x6b92c8
push 0x34
push 0
push ebp
call sub.MSVCRT.dll_memset
or eax, 0xffffffff
mov byte [ebp], 0x4b
push ebp
mov word [ebp + 0x22], ax
call fcn.0063f3d0
mov eax, dword [ebx]
add esp, 0x10
mov eax, dword [eax + 0x84]
cmp dword [ebp + 0x18], eax
jle 0x6b92c8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.006798b0
add esp, 0xc
jmp 0x6b92c8
mov esi, dword [eax + 8]
mov dword [esp + 0x30], esi
test esi, esi
je 0x6b9285
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x6b9281
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x6b9271
mov dword [esp + 0x30], esi
mov eax, dword [esi + 4]
movzx eax, word [eax]
movsx ecx, ax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + ecx*4]
test eax, eax
js 0x6b92bc
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
test eax, eax
je 0x6b92b8
push 0
push 0
push eax
push edx
call fcn.0063e440
add esp, 0x10
jmp 0x6b92c6
xor ebp, ebp
jmp 0x6b92c8
push ecx
push ebx
call fcn.0063f240
add esp, 8
mov ebp, eax
push ebp
push dword [ebx]
call fcn.0067e2c0
mov ecx, eax
xor edx, edx
mov eax, dword [esp + 0x50]
add esp, 8
xor ebp, ebp
mov dword [esp + 0x14], ecx
cmp dx, word [eax + 0x22]
jge 0x6b9360
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x54]
nop
mov eax, dword [esi + ebp*4]
test eax, eax
js 0x6b932f
mov edx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
test eax, eax
je 0x6b931a
push 0
push 0
push eax
push edi
call fcn.0063e440
mov ecx, dword [esp + 0x24]
add esp, 0x10
jmp 0x6b931c
xor eax, eax
push eax
push ecx
push ebx
call fcn.0067e1b0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x14], ecx
jmp 0x6b934b
push ebp
push ebx
call fcn.0063f240
push eax
mov eax, dword [esp + 0x20]
push eax
push ebx
call fcn.0067e1b0
add esp, 0x14
mov dword [esp + 0x14], eax
mov ecx, eax
mov eax, dword [esp + 0x48]
inc ebp
movsx eax, word [eax + 0x22]
cmp ebp, eax
jl 0x6b92f0
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
push 0
push 0
push dword [esp + 0x60]
push eax
push ecx
push esi
mov esi, dword [esp + 0x34]
push esi
push ebx
call fcn.006b8c40
mov eax, dword [esp + 0x34]
add esp, 0x20
test eax, eax
je 0x6b9392
push eax
push dword [esp + 0x30]
call fcn.0063ec50
add esp, 8
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x28], 0
jmp 0x6b97e4
push 0
push 4
push 0
push 0
push 0
push dword [esp + 0x6c]
inc eax
mov dword [esp + 0x44], eax
inc eax
push ecx
push ebx
mov dword [esp + 0x50], eax
mov dword [ebx + 0x2c], eax
call fcn.006af2e0
add esp, 0x20
mov dword [esp + 0x34], eax
test eax, eax
je 0x6b9a62
mov eax, dword [esp + 0x48]
xor ecx, ecx
cmp cx, word [eax + 0x22]
jge 0x6b947d
mov edx, dword [esp + 0x54]
mov ebp, 0xfffffffe
add esi, 2
mov dword [esp + 0x28], edx
sub ebp, dword [esp + 0x10]
jmp 0x6b9400
mov eax, dword [edx]
test eax, eax
js 0x6b94b1
cmp dword [ebx + 8], 0
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4 + 8]
mov dword [esp + 0x38], eax
je 0x6b945a
push esi
push eax
push ebx
call fcn.0067bc80
mov edx, eax
add esp, 0xc
cmp edx, esi
je 0x6b9456
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x6b9443
test dword [ecx + 4], 0x200000
mov al, 0x4f
jne 0x6b9445
mov al, 0x50
push esi
push edx
movzx eax, al
push eax
push dword [ebx + 8]
call fcn.006a0a60
add esp, 0x10
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
inc esi
add edx, 4
mov dword [esp + 0x28], edx
movsx eax, word [eax + 0x22]
lea ecx, [esi + ebp]
cmp ecx, eax
jl 0x6b9400
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
test byte [eax + 0x1c], 0x80
jne 0x6b9587
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b9529
push 0
push esi
push dword [esp + 0x1c]
push 0x86
push edi
call fcn.00655560
mov edx, dword [esp + 0x28]
add esp, 0x14
jmp 0x6b9558
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b94d6
push esi
lea eax, [esi + ebp]
push eax
push dword [esp + 0x1c]
push 0xae
push edi
call fcn.00655560
mov edx, dword [esp + 0x3c]
add esp, 0x14
jmp 0x6b9505
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], eax
lea eax, [esi + ebp]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x6b945a
lea ecx, [eax + eax*4]
mov ebx, 1
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], bx
mov ebx, dword [esp + 0x40]
jmp 0x6b945a
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x50]
lea eax, [esi + 1]
push eax
test ecx, ecx
je 0x6b9573
push ecx
push ebx
call fcn.0067a590
add esp, 0xc
jmp 0x6b9651
push edx
push 0x86
push edi
call fcn.006a0a60
add esp, 0x10
jmp 0x6b9651
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6b95a0
mov edi, edi
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x6b95a0
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x6b9590
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 0x74]
movzx eax, word [eax]
movsx esi, ax
cmp dword [edi + 0x78], ecx
jg 0x6b95ca
push dword [esp + 0x10]
push esi
push dword [esp + 0x1c]
push 0xae
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b95f9
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4], 0xae
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
add esi, 2
mov ecx, dword [edi + 0x74]
add esi, eax
lea edx, [eax + 1]
cmp dword [edi + 0x78], ecx
jg 0x6b961e
push 0
push edx
push esi
push 0x50
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b964d
mov ebp, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + 0x32]
mov dword [esp + 0x28], eax
test eax, eax
je 0x6b96f0
mov edx, dword [edi]
cmp byte [edx + 0x57], 0
jne 0x6b9698
mov eax, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x70]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.00642330
add esp, 0xc
mov word [esi], 0xb6
mov dword [esi + 0x10], 0
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b96b8
push 0
push 0
push dword [esp + 0x1c]
push 0x79
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b98b5
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6b98b5
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x6b96f9
mov eax, ebx
mov byte [eax + 0x14], 1
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b971b
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push esi
push 0x60
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b974a
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x74]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
cmp dword [edi + 0x78], ecx
jg 0x6b976f
push 0
push edx
push esi
push 0x7e
push edi
call fcn.00655560
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x6b979a
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x7e
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b97b5
push edx
push dword [esp + 0x30]
push esi
push 0x7f
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b97e4
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x7f
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
cmp dword [eax], 1
jne 0x6b97f9
push dword [esp + 0x34]
call fcn.006b1e90
add esp, 4
mov edx, dword [edi + 0x74]
mov dword [esp + 0x24], edx
cmp dword [edi + 0x78], edx
jg 0x6b981b
push 0
push 0
push esi
push 0x26
push edi
call fcn.00655560
add esp, 0x14
mov dword [esp + 0x24], eax
jmp 0x6b984a
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x26
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
xor esi, esi
cmp dword [esp + 0x18], esi
jle 0x6b98b5
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx]
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b987b
lea eax, [esi + ebx]
push eax
push esi
push ebp
push 0x5d
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b98a6
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], esi
lea ecx, [eax + ecx*4]
lea eax, [esi + ebx]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], eax
inc esi
cmp esi, dword [esp + 0x18]
jl 0x6b9860
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x20]
push dword [esp + 0x48]
push ebx
call fcn.006ad890
mov edx, dword [edi + 0x74]
add esp, 8
cmp dword [edi + 0x78], edx
jg 0x6b98e3
push dword [esp + 0x10]
push dword [esp + 0x1c]
push 0
push 0xa
push edi
call fcn.00655560
add esp, 0x14
mov edx, eax
jmp 0x6b9916
mov esi, dword [esp + 0x18]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x10]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x6b9953
test edx, edx
jns 0x6b9926
mov edx, dword [edi + 0x74]
dec edx
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x6b9945
push 0xfffffffffffffff4
push ebp
push eax
push edi
call fcn.006ba360
add esp, 0x10
jmp 0x6b9953
test ebp, ebp
je 0x6b9953
mov dword [eax + 0x10], ebp
mov byte [eax + 1], 0xf4
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x5c]
cmp edx, 0xb
jne 0x6b9961
mov edx, 2
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x6b9973
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x6b997c
mov eax, ebx
cmp dword [esp + 0x28], 0
mov byte [eax + 0x15], 1
jne 0x6b9a56
mov ebx, dword [esp + 0x24]
mov ecx, dword [edi + 0x74]
mov ebp, dword [esp + 0x1c]
lea edx, [ebx + 1]
cmp dword [edi + 0x78], ecx
jg 0x6b99af
push 0
push edx
push ebp
push 5
push edi
call fcn.00655560
add esp, 0x14
jmp 0x6b99da
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 0x74]
test ebx, ebx
jns 0x6b99e4
lea ebx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x6b99f3
mov eax, 0x9b3e04
jmp 0x6b99fc
mov eax, dword [edi + 0x70]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x6b9a1f
push 0
push 0
push ebp
push 0x79
push edi
call fcn.00655560
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
pop edi
pop esi
mov dword [eax + ecx*4 + 4], ebp
pop ebp
mov dword [eax + ecx*4], 0x79
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
pop ebx
add esp, 0x2c
ret
push dword [esp + 0x34]
call fcn.006b1e90
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret