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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x68]
push esi
push edi
mov edi, dword [esp + 0x60]
mov esi, dword [edi + 0xc]
mov eax, dword [edi]
xor ebx, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
cmp esi, ebx
jne 0x469e59
call fcn.00434440
mov esi, eax
mov dword [edi + 0xc], eax
mov dword [esp + 0x2c], esi
cmp esi, ebx
je 0x469e59
push 0x88
call fcn.0042dff0
add esp, 4
cmp dword [esp + 0x7c], ebx
jge 0x469e75
movzx eax, byte [ebp + 0x18]
push ebx
push eax
push 0x6f
mov eax, esi
call fcn.0042e090
add esp, 0xc
mov dword [esp + 0x30], eax
cmp dword [ebp + 0x14], ebx
mov dword [esp + 0x18], ebx
jle 0x46a303
mov esi, dword [esp + 0x14]
test esi, esi
je 0x469edd
cmp byte [esi + 0x1e], 0
je 0x469e97
xor ebp, ebp
jmp 0x469fd0
cmp byte [esi + 0xea], 0
je 0x469edd
mov ecx, 0x31
cmp cx, word [esi + 0xe8]
ja 0x469edd
mov ebp, dword [esi + 0xf4]
test ebp, ebp
je 0x469edd
mov edx, dword [ebp]
inc dword [esi + 0xec]
mov eax, dword [esi + 0xec]
cmp eax, dword [esi + 0xf0]
mov dword [esi + 0xf4], edx
jle 0x469f38
mov dword [esi + 0xf0], eax
jmp 0x469f38
cmp dword [section..data], 0
je 0x469f19
mov eax, dword [0x4af2f8]
test eax, eax
je 0x469ef9
push eax
call dword [0x4aa048]
add esp, 4
lea ebx, [esp + 0x20]
mov eax, 0x31
call fcn.0042ab60
mov eax, dword [0x4af2f8]
test eax, eax
je 0x469f28
push eax
call dword [0x4aa050]
jmp 0x469f25
push 0x31
call dword [0x4aa018]
mov dword [esp + 0x24], eax
add esp, 4
mov ebp, dword [esp + 0x20]
test ebp, ebp
jne 0x469f40
test esi, esi
je 0x469f38
mov byte [esi + 0x1e], 1
test ebp, ebp
je 0x469fd0
push 0x31
push 0
push ebp
call fcn.0047d730
or eax, 0xffffffff
push 0
mov word [ebp + 0x1e], ax
lea eax, [ebp + 0x30]
push 0
push eax
mov byte [ebp], 0x84
mov dword [ebp + 4], eax
call fcn.0047d7b0
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x84]
add esp, 0x18
mov byte [ecx], 0
mov dword [ebp + 0x2c], 1
test eax, eax
je 0x469fc5
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x68]
mov edi, dword [edx + 0xc]
lea ecx, [eax + eax*2]
lea ecx, [edi + ecx*8]
cmp dword [edx + 4], eax
jne 0x469f9f
or eax, 0xffffffff
mov edx, dword [esp + 0x78]
lea eax, [eax + edx + 1]
mov dword [ebp + 0x18], eax
mov dl, byte [ecx + 0x16]
mov byte [ebp + 1], dl
mov eax, dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0x64]
call fcn.00445bc0
add esp, 4
mov dword [ebp + 0x14], eax
jmp 0x469fd0
mov ecx, dword [esp + 0x78]
mov dword [ebp + 0x18], ecx
mov byte [ebp + 1], 0x64
mov eax, dword [esp + 0x74]
test eax, eax
je 0x469fe1
mov edx, dword [esp + 0x18]
mov eax, dword [eax + edx*4]
jmp 0x469fe8
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*8]
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x46a01b
cmp byte [ecx], 0
mov eax, ecx
je 0x46a00c
inc eax
cmp byte [eax], 0
jne 0x46a006
sub eax, ecx
and eax, 0x3fffffff
mov ebx, eax
mov dword [esp + 0x24], eax
jmp 0x46a021
xor ebx, ebx
mov dword [esp + 0x24], ebx
lea edi, [ebx + 0x31]
test esi, esi
je 0x46a077
cmp byte [esi + 0x1e], 0
je 0x46a035
xor esi, esi
jmp 0x46a140
cmp byte [esi + 0xea], 0
je 0x46a077
movzx edx, word [esi + 0xe8]
cmp edi, edx
jg 0x46a077
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x46a077
mov ecx, dword [eax]
inc dword [esi + 0xec]
mov dword [esi + 0xf4], ecx
mov ecx, dword [esi + 0xec]
cmp ecx, dword [esi + 0xf0]
jle 0x46a0d4
mov dword [esi + 0xf0], ecx
jmp 0x46a0d4
lea edx, [edi - 1]
cmp edx, 0x7ffffefe
ja 0x46a115
cmp dword [section..data], 0
je 0x46a105
mov eax, dword [0x4af2f8]
test eax, eax
je 0x46a0a2
push eax
call dword [0x4aa048]
add esp, 4
lea ebx, [esp + 0x1c]
mov eax, edi
call fcn.0042ab60
mov eax, dword [0x4af2f8]
test eax, eax
je 0x46a0c0
push eax
call dword [0x4aa050]
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46a0d0
test esi, esi
je 0x46a0d0
mov byte [esi + 0x1e], 1
mov ebx, dword [esp + 0x24]
mov esi, eax
test esi, esi
je 0x46a140
push edi
push 0
push esi
call fcn.0047d730
or eax, 0xffffffff
mov word [esi + 0x1e], ax
lea eax, [ebx + 1]
add esp, 0xc
mov byte [esi], 0x1a
test eax, eax
jne 0x46a11d
mov ecx, 0x400
or word [esi + 2], cx
mov dword [esi + 4], eax
jmp 0x46a139
push edi
call dword [0x4aa018]
add esp, 4
mov dword [esp + 0x1c], eax
jmp 0x46a0c0
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x46a0c8
mov edx, dword [esp + 0x34]
push ebx
lea eax, [esi + 0x30]
push edx
push eax
mov dword [esi + 4], eax
call fcn.0047d7b0
mov eax, dword [esi + 4]
add esp, 0xc
mov byte [ebx + eax], 0
mov dword [esi + 0x2c], 1
mov ecx, dword [esp + 0x60]
mov edi, dword [ecx]
test edi, edi
je 0x46a19c
cmp byte [edi + 0x1e], 0
je 0x46a157
xor ebx, ebx
jmp 0x46a219
cmp byte [edi + 0xea], 0
je 0x46a19c
mov edx, 0x30
cmp dx, word [edi + 0xe8]
ja 0x46a19c
mov ebx, dword [edi + 0xf4]
test ebx, ebx
je 0x46a19c
mov eax, dword [ebx]
inc dword [edi + 0xec]
mov dword [edi + 0xf4], eax
mov eax, dword [edi + 0xec]
cmp eax, dword [edi + 0xf0]
jle 0x46a1f7
mov dword [edi + 0xf0], eax
jmp 0x46a1f7
cmp dword [section..data], 0
je 0x46a1d8
mov eax, dword [0x4af2f8]
test eax, eax
je 0x46a1b8
push eax
call dword [0x4aa048]
add esp, 4
lea ebx, [esp + 0x28]
mov eax, 0x30
call fcn.0042ab60
mov eax, dword [0x4af2f8]
test eax, eax
je 0x46a1e7
push eax
call dword [0x4aa050]
jmp 0x46a1e4
push 0x30
call dword [0x4aa018]
mov dword [esp + 0x2c], eax
add esp, 4
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x46a1fb
test edi, edi
je 0x46a1f7
mov byte [edi + 0x1e], 1
test ebx, ebx
je 0x46a219
push 0x30
push 0
push ebx
call fcn.0047d730
add esp, 0xc
or ecx, 0xffffffff
mov byte [ebx], 0x4c
mov word [ebx + 0x1e], cx
mov dword [ebx + 0x2c], 1
mov edx, dword [esp + 0x60]
mov edi, dword [edx]
test ebx, ebx
jne 0x46a236
push ebp
push edi
call fcn.0042f0b0
push esi
push edi
call fcn.0042f0b0
add esp, 0x10
jmp 0x46a295
test esi, esi
je 0x46a254
mov eax, 0x100
mov dword [ebx + 0xc], esi
test word [esi + 2], ax
je 0x46a254
mov ecx, eax
or word [ebx + 2], cx
mov edx, dword [esi + 0x14]
mov dword [ebx + 0x14], edx
test ebp, ebp
je 0x46a272
mov eax, 0x100
mov dword [ebx + 8], ebp
test word [ebp + 2], ax
je 0x46a272
mov ecx, eax
or word [ebx + 2], cx
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x14], edx
mov esi, ebx
call fcn.00426870
mov edi, dword [esp + 0x60]
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [ebx + 0x2c], eax
jle 0x46a295
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.00433540
add esp, 8
cmp dword [esp + 0x10], 0
jne 0x46a2a2
mov dword [esp + 0x10], ebx
jmp 0x46a2ed
test ebx, ebx
je 0x46a2ed
mov ebp, dword [esp + 0x14]
mov ecx, 0x30
mov esi, ebp
call fcn.0042b020
mov esi, eax
test esi, esi
je 0x46a2da
push 0x30
push 0
push esi
call fcn.0047d730
add esp, 0xc
or ecx, 0xffffffff
mov byte [esi], 0x45
mov word [esi + 0x1e], cx
mov dword [esi + 0x2c], 1
mov eax, dword [esp + 0x10]
mov edi, ebx
mov ecx, esi
mov ebx, ebp
call fcn.00434d00
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x70]
inc eax
cmp eax, dword [edx + 0x14]
mov dword [esp + 0x18], eax
jl 0x469e82
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
cmp eax, dword [ecx]
jne 0x46a443
cmp dword [esp + 0x7c], 0
jle 0x46a443
mov esi, dword [esp + 0x14]
mov ecx, 0x31
call fcn.0042b020
mov ebx, eax
test ebx, ebx
je 0x46a366
push 0x31
push 0
push ebx
call fcn.0047d730
push 0
lea eax, [ebx + 0x30]
or edx, 0xffffffff
push 0
push eax
mov byte [ebx], 0x84
mov word [ebx + 0x1e], dx
mov dword [ebx + 4], eax
call fcn.0047d7b0
mov eax, dword [ebx + 4]
mov byte [eax], 0
add esp, 0x18
mov dword [ebx + 0x2c], 1
mov ecx, 0x31
call fcn.0042b020
mov edi, eax
test edi, edi
je 0x46a3aa
push 0x31
push 0
push edi
call fcn.0047d730
push 0
lea eax, [edi + 0x30]
or ecx, 0xffffffff
push 0
push eax
mov byte [edi], 0x98
mov word [edi + 0x1e], cx
mov dword [edi + 4], eax
call fcn.0047d7b0
mov edx, dword [edi + 4]
mov byte [edx], 0
add esp, 0x18
mov dword [edi + 0x2c], 1
test ebx, ebx
je 0x46a3ce
test edi, edi
je 0x46a3ce
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x64]
mov dword [ebx + 0x18], eax
mov byte [ebx + 1], 0x64
mov edx, dword [ecx + 0x20]
or eax, 0xffffffff
mov dword [edi + 0x18], edx
mov word [edi + 0x1c], ax
mov ebp, dword [esp + 0x60]
mov esi, dword [ebp]
mov ecx, 0x30
call fcn.0042b020
mov esi, eax
test esi, esi
je 0x46a403
push 0x30
push 0
push esi
call fcn.0047d730
add esp, 0xc
or ecx, 0xffffffff
mov byte [esi], 0x4b
mov word [esi + 0x1e], cx
mov dword [esi + 0x2c], 1
mov eax, ebx
mov ebx, dword [ebp]
mov ecx, esi
call fcn.00434d00
test esi, esi
je 0x46a42e
mov edx, dword [ebp]
mov eax, dword [edx + 0x54]
cmp dword [esi + 0x2c], eax
jle 0x46a42e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
mov edi, ebp
call fcn.00433540
add esp, 8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, esi
call fcn.00434dc0
mov dword [esp + 0x10], eax
jmp 0x46a447
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
mov ebx, edi
lea esi, [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ebp
call fcn.00444770
mov ecx, dword [esp + 0x64]
xor ebx, ebx
push ebx
push ebx
push edi
push ecx
push ebp
call fcn.00468e70
add esp, 0x14
cmp dword [esp + 0x7c], ebx
mov dword [esp + 0x60], eax
jle 0x46a4c1
mov edx, dword [esp + 0x70]
cmp byte [edx + 0x18], bl
jne 0x46a4c1
mov eax, dword [ebp + 0x1a8]
cmp eax, ebx
jne 0x46a4ba
mov eax, ebp
mov byte [eax + 0x159], 1
mov edi, dword [esp + 0x2c]
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
mov eax, dword [esp + 0x70]
movzx ebp, byte [eax + 0x18]
jg 0x46a4de
call fcn.0042df10
test eax, eax
jne 0x46a506
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x7c]
mov byte [eax], 0x6e
mov byte [eax + 3], bl
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x62], bl
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x46a517
push eax
call fcn.00431a50
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.0042f0b0
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, ebx
je 0x46a542
mov ecx, dword [edi + 0xc]
cmp ecx, eax
jle 0x46a542
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
mov dword [eax + edx*4 + 8], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret