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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
mov ebx, ecx
mov dword [esp + 0x2c], edx
mov edx, dword [ebp + 8]
xor ecx, ecx
cmp dword [ebp + 0xc], ecx
push esi
mov esi, dword [ebx]
setne cl
push edi
mov dword [esp + 0x14], esi
mov al, byte [ecx + edx + 0x19]
mov byte [esp + 0x13], al
cmp al, 7
jne 0x49db3f
mov eax, dword [esi + 0x20]
and eax, 0x80000
or eax, 0
jne 0x49ea69
add ecx, 7
mov edi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x60], ecx
jmp 0x49db54
add ecx, 7
mov edi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x60], ecx
test al, al
je 0x49eac1
test edi, edi
jne 0x49eac1
lea eax, [esp + 0x44]
mov dword [esp + 0x40], edi
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x48], edi
mov dword [esp + 0x28], edi
mov ecx, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], edi
mov edi, edx
mov edx, dword [esp + 0x38]
push eax
push edi
call fcn.0049b9f0
add esp, 0xc
test eax, eax
jne 0x49ea69
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
cmp dword [edi + 0x14], ecx
jle 0x49e737
mov edx, dword [esp + 0x40]
mov dword [esp + 0x6c], edx
nop word [eax + eax]
test eax, eax
je 0x49dbc9
mov edi, dword [eax + ecx*4]
jmp 0x49dbcc
mov edi, dword [edi + 0x24]
test edx, edx
je 0x49dbd9
mov eax, dword [edx + 4]
movzx eax, word [eax + ecx*2]
jmp 0x49dbe1
mov eax, dword [esp + 0x34]
movzx eax, word [eax + 0x20]
movsx ecx, ax
mov eax, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x49dbfe
mov dword [esp + 0x20], eax
jmp 0x49dc16
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49dc03
sub ecx, edx
and ecx, 0x3fffffff
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 8]
shl edi, 4
mov dword [esp + 0x64], edi
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [edi + eax]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x49dc34
xor edi, edi
jmp 0x49dc4f
mov edi, eax
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x49dc40
sub edi, ecx
and edi, 0x3fffffff
push 0
push 0x38
mov ecx, esi
mov dword [esp + 0x30], edi
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49dca0
push 0x34
push 0
push esi
call fcn.00570cd0
lea ecx, [esi + 0x34]
mov byte [esi], 0x3b
mov dword [esi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov ax, word [0x5c34dc]
mov word [ecx], ax
mov al, byte [0x5c34de]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [esi + 0x18], 1
mov ecx, dword [esp + 0x14]
lea eax, [edi + 0x35]
push 0
push eax
call fcn.0043b7c0
mov edi, eax
add esp, 8
mov dword [esp + 0x4c], edi
test edi, edi
je 0x49dd01
push 0x34
push 0
push edi
call fcn.00570cd0
mov ecx, dword [esp + 0x34]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov byte [edi], 0x3b
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
test ecx, ecx
je 0x49dcf3
push ecx
push dword [esp + 0x48]
push eax
call fcn.00570750
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [ecx + eax], 0
mov dword [edi + 0x18], 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
add eax, 0x35
push 0
push eax
mov dword [esp + 0x48], eax
call fcn.0043b7c0
mov edi, eax
add esp, 8
mov dword [esp + 0x3c], edi
test edi, edi
je 0x49dd6a
push 0x34
push 0
push edi
call fcn.00570cd0
or eax, 0xffffffff
mov byte [edi], 0x3b
mov word [edi + 0x22], ax
lea ecx, [edi + 0x34]
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov dword [edi + 8], ecx
test eax, eax
je 0x49dd58
push eax
push dword [esp + 0x3c]
push ecx
call fcn.00570750
add esp, 0xc
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x20]
mov byte [ecx + eax], 0
mov dword [edi + 0x18], 1
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49de0d
push 0x34
push 0
push edi
call fcn.00570cd0
mov edx, dword [esp + 0x48]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov byte [edi], 0x8d
lea eax, [edi + 4]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x49ddbf
mov ecx, dword [esp + 0x2c]
mov dword [edi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx], eax
mov ecx, dword [edx + 0x18]
inc ecx
jmp 0x49ddc8
mov ecx, 1
mov dword [esp + 0x2c], eax
mov dword [edi + 0x18], ecx
test esi, esi
je 0x49ddf0
mov ecx, dword [esp + 0x2c]
mov dword [edi + 0xc], esi
mov eax, dword [esi + 4]
and eax, 0x400208
or dword [ecx], eax
mov ecx, dword [edi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, ecx
jl 0x49ddf0
lea ecx, [eax + 1]
mov dword [edi + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49de29
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49de29
test esi, esi
je 0x49de1a
mov ecx, dword [ebx]
mov edx, esi
call fcn.004798d0
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x49de29
mov ecx, dword [ebx]
call fcn.004798d0
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49decc
push 0x34
push 0
push esi
call fcn.00570cd0
mov edx, dword [esp + 0x58]
or eax, 0xffffffff
mov word [esi + 0x22], ax
add esp, 0xc
mov byte [esi], 0x35
lea eax, [esi + 4]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x49de7e
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx], eax
mov ecx, dword [edx + 0x18]
inc ecx
jmp 0x49de87
mov ecx, 1
mov dword [esp + 0x2c], eax
mov dword [esi + 0x18], ecx
test edi, edi
je 0x49deaf
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x400208
or dword [ecx], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [edi + 0x18]
cmp eax, ecx
jl 0x49deaf
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49dee8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49dee8
test edi, edi
je 0x49ded9
mov ecx, dword [ebx]
mov edx, edi
call fcn.004798d0
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x49dee8
mov ecx, dword [ebx]
call fcn.004798d0
mov eax, dword [esp + 0x18]
mov edi, dword [ebx]
test eax, eax
jne 0x49defb
mov dword [esp + 0x18], esi
jmp 0x49e091
test esi, esi
je 0x49e091
mov eax, dword [eax + 4]
lea ecx, [esi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x49df2b
mov eax, dword [ecx]
and eax, 0x20000001
mov dword [esp + 0x4c], ecx
cmp eax, 0x20000000
jne 0x49dff5
cmp byte [ebx + 0xd4], 2
mov dword [esp + 0x4c], ecx
jae 0x49dff5
push 0
push 0xc
test edi, edi
je 0x49df4d
mov ecx, edi
call fcn.0043b7c0
jmp 0x49df52
call fcn.0043b050
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49df79
mov eax, dword [ebx + 0x84]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x84], ecx
mov dword [ecx + 4], eax
mov dword [ecx + 8], fcn.00479a00
jmp 0x49df84
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx]
call fcn.004798d0
mov ecx, dword [ebx]
push 0
push 0xc
test ecx, ecx
je 0x49df95
call fcn.0043b7c0
jmp 0x49df9a
call fcn.0043b050
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49dfbd
mov eax, dword [ebx + 0x84]
mov dword [ecx], eax
mov dword [ebx + 0x84], ecx
mov dword [ecx + 4], esi
mov dword [ecx + 8], fcn.00479a00
jmp 0x49dfc6
mov ecx, dword [ebx]
mov edx, esi
call fcn.004798d0
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x5c393c
push 0
push eax
mov edx, 0x9b
mov dword [esp + 0x7c], 1
mov ecx, edi
call fcn.00478d60
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x49e091
push 0
push 0x34
mov ecx, edi
call fcn.0043b7c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49e079
push 0x34
push 0
push edi
call fcn.00570cd0
mov edx, dword [esp + 0x58]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov dword [edi + 0x10], esi
mov byte [edi], 0x2c
mov edx, dword [edx]
and edx, 0x400208
or edx, dword [edi + 4]
mov dword [edi + 4], edx
mov ecx, dword [esi + 0x18]
mov esi, dword [esp + 0x18]
inc ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0xc], esi
mov eax, dword [esi + 4]
and eax, 0x400208
or eax, edx
mov dword [edi + 4], eax
mov eax, dword [esi + 0x18]
cmp eax, ecx
jl 0x49e05b
inc eax
mov dword [edi + 0x18], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp dword [edi + 0x18], eax
jle 0x49e08d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49e08d
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx]
call fcn.004798d0
mov ecx, dword [ebx]
mov edx, esi
call fcn.004798d0
mov dword [esp + 0x18], edi
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x49e447
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x44]
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49e0f5
push 0x34
push 0
push esi
call fcn.00570cd0
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov word [esi + 0x22], ax
add esp, 0xc
mov byte [esi], 0x3b
lea eax, [esi + 0x34]
mov dword [esi + 8], eax
test edi, edi
je 0x49e0e7
push edi
push dword [esp + 0x3c]
push eax
call fcn.00570750
add esp, 0xc
mov eax, dword [esi + 8]
mov byte [edi + eax], 0
mov dword [esi + 0x18], 1
mov ecx, dword [esp + 0x14]
push 0
push 0x38
call fcn.0043b7c0
mov edi, eax
add esp, 8
lea eax, [edi + 0x18]
mov dword [esp + 0x3c], eax
test edi, edi
je 0x49e150
push 0x34
push 0
push edi
call fcn.00570cd0
lea ecx, [edi + 0x34]
mov byte [edi], 0x3b
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov ax, word [0x5c34d8]
mov word [ecx], ax
mov al, byte [0x5c34da]
mov byte [ecx + 2], al
mov eax, dword [esp + 0x3c]
mov byte [ecx + 3], 0
mov dword [eax], 1
jmp 0x49e154
mov dword [esp + 0x3c], eax
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x49e1f4
push 0x34
push 0
push eax
call fcn.00570cd0
mov eax, dword [esp + 0x38]
or ecx, 0xffffffff
add esp, 0xc
mov byte [eax], 0x8d
lea edx, [eax + 4]
mov word [eax + 0x22], cx
test esi, esi
je 0x49e1a7
mov dword [eax + 0x10], esi
mov eax, dword [esi + 4]
and eax, 0x400208
or dword [edx], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x2c]
inc ecx
jmp 0x49e1ac
mov ecx, 1
mov dword [eax + 0x18], ecx
test edi, edi
je 0x49e1d7
mov dword [eax + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x400208
or dword [edx], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax + 0x18]
mov edx, dword [edx]
cmp edx, ecx
jl 0x49e1d7
lea ecx, [edx + 1]
mov dword [eax + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49e20e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49e20e
test edi, edi
je 0x49e201
mov ecx, dword [ebx]
mov edx, edi
call fcn.004798d0
test esi, esi
je 0x49e20e
mov ecx, dword [ebx]
mov edx, esi
call fcn.004798d0
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x44]
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49e267
push 0x34
push 0
push esi
call fcn.00570cd0
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov word [esi + 0x22], ax
add esp, 0xc
mov byte [esi], 0x3b
lea eax, [esi + 0x34]
mov dword [esi + 8], eax
test edi, edi
je 0x49e259
push edi
push dword [esp + 0x3c]
push eax
call fcn.00570750
add esp, 0xc
mov eax, dword [esi + 8]
mov byte [edi + eax], 0
mov dword [esi + 0x18], 1
mov ecx, dword [esp + 0x14]
push 0
push 0x38
call fcn.0043b7c0
mov edi, eax
add esp, 8
mov dword [esp + 0x50], edi
lea eax, [edi + 0x18]
mov dword [esp + 0x3c], eax
test edi, edi
je 0x49e2c6
push 0x34
push 0
push edi
call fcn.00570cd0
lea ecx, [edi + 0x34]
mov byte [edi], 0x3b
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov ax, word [0x5c34dc]
mov word [ecx], ax
mov al, byte [0x5c34de]
mov byte [ecx + 2], al
mov eax, dword [esp + 0x3c]
mov byte [ecx + 3], 0
mov dword [eax], 1
jmp 0x49e2ca
mov dword [esp + 0x3c], eax
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49e36c
push 0x34
push 0
push edi
call fcn.00570cd0
or eax, 0xffffffff
mov byte [edi], 0x8d
add esp, 0xc
mov word [edi + 0x22], ax
lea edx, [edi + 4]
mov dword [esp + 0x4c], edx
test esi, esi
je 0x49e317
mov dword [edi + 0x10], esi
mov eax, dword [esi + 4]
and eax, 0x400208
or dword [edx], eax
mov ecx, dword [esi + 0x18]
inc ecx
jmp 0x49e320
mov ecx, 1
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x50]
mov dword [edi + 0x18], ecx
test edx, edx
je 0x49e34f
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax]
cmp eax, ecx
jl 0x49e34f
lea ecx, [eax + 1]
mov dword [edi + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49e388
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49e388
mov edx, dword [esp + 0x50]
test edx, edx
je 0x49e37b
mov ecx, dword [ebx]
call fcn.004798d0
test esi, esi
je 0x49e388
mov ecx, dword [ebx]
mov edx, esi
call fcn.004798d0
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49e413
push 0x34
push 0
push esi
call fcn.00570cd0
mov ecx, dword [esp + 0x38]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x2d
mov word [esi + 0x22], ax
test ecx, ecx
je 0x49e3cf
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x49e3d4
mov ecx, 1
mov dword [esi + 0x18], ecx
test edi, edi
je 0x49e3f6
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [edi + 0x18]
cmp eax, ecx
jl 0x49e3f6
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49e431
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49e431
test edi, edi
je 0x49e420
mov ecx, dword [ebx]
mov edx, edi
call fcn.004798d0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49e431
mov ecx, dword [ebx]
mov edx, eax
call fcn.004798d0
mov edx, dword [esp + 0x1c]
mov ecx, ebx
push esi
call fcn.004791e0
mov ecx, dword [ebp + 0xc]
add esp, 4
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x13]
cmp al, 7
je 0x49e716
cmp al, 0xa
jne 0x49e5ed
test ecx, ecx
je 0x49e716
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x44]
call fcn.0043b7c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49e4bc
push 0x34
push 0
push edi
call fcn.00570cd0
mov esi, dword [esp + 0x2c]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov byte [edi], 0x3b
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
test esi, esi
je 0x49e4ae
push esi
push dword [esp + 0x3c]
push eax
call fcn.00570750
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [esi + eax], 0
mov dword [edi + 0x18], 1
mov ecx, dword [esp + 0x14]
push 0
push 0x38
call fcn.0043b7c0
mov esi, eax
add esp, 8
mov dword [esp + 0x4c], esi
lea eax, [esi + 0x18]
mov dword [esp + 0x40], eax
test esi, esi
je 0x49e51b
push 0x34
push 0
push esi
call fcn.00570cd0
lea ecx, [esi + 0x34]
mov byte [esi], 0x3b
mov dword [esi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov ax, word [0x5c34d8]
mov word [ecx], ax
mov al, byte [0x5c34da]
mov byte [ecx + 2], al
mov eax, dword [esp + 0x40]
mov byte [ecx + 3], 0
mov dword [eax], 1
jmp 0x49e51f
mov dword [esp + 0x40], eax
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49e5c8
push 0x34
push 0
push esi
call fcn.00570cd0
or eax, 0xffffffff
mov byte [esi], 0x8d
add esp, 0xc
mov word [esi + 0x22], ax
lea edx, [esi + 4]
mov dword [esp + 0x50], edx
test edi, edi
je 0x49e56c
mov dword [esi + 0x10], edi
mov eax, dword [edi + 4]
and eax, 0x400208
or dword [edx], eax
mov ecx, dword [edi + 0x18]
inc ecx
jmp 0x49e575
mov ecx, 1
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x4c]
mov dword [esi + 0x18], ecx
test edx, edx
je 0x49e5a4
mov ecx, dword [esp + 0x50]
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esi + 0x18]
mov eax, dword [eax]
cmp eax, ecx
jl 0x49e5a4
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49e670
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
jmp 0x49e670
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x49e5d7
mov ecx, dword [ebx]
call fcn.004798d0
test edi, edi
je 0x49e670
mov ecx, dword [ebx]
mov edx, edi
call fcn.004798d0
jmp 0x49e670
cmp al, 9
jne 0x49e63c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
add eax, dword [esp + 0x64]
test byte [eax + 0xe], 0x60
jne 0x49e63c
movzx eax, word [eax + 0xc]
test ax, ax
je 0x49e63c
cmp byte [ecx + 0x2b], 0
jne 0x49e63c
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x49e63c
cmp dword [ecx], eax
jl 0x49e63c
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x49e63c
mov ecx, dword [esp + 0x14]
push 0
push 0
call fcn.00479b40
add esp, 8
mov esi, eax
jmp 0x49e670
mov ecx, dword [esp + 0x14]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49e670
push 0x34
push 0
push esi
call fcn.00570cd0
add esp, 0xc
mov dword [esi + 0x18], 1
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov byte [esi], 0x79
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x49e689
mov ecx, dword [ebx]
mov edx, esi
call fcn.0047a6e0
mov edi, eax
mov dword [esp + 0x30], edi
jmp 0x49e6a6
mov eax, dword [edi]
lea edx, [eax + 1]
cmp dword [edi + 4], edx
jge 0x49e6ac
mov ecx, dword [ebx]
mov edx, edi
push esi
call fcn.0047a750
add esp, 4
mov dword [esp + 0x30], eax
mov edi, eax
test edi, edi
je 0x49e716
jmp 0x49e6ca
movups xmm0, xmmword [0x5b2030]
lea eax, [eax + eax*4]
mov dword [edi], edx
lea ecx, [edi + eax*4]
mov eax, dword [0x5b2040]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], eax
mov dword [ecx + 8], esi
cmp dword [esp + 0x44], 0
mov eax, dword [edi]
lea eax, [eax + eax*4]
lea edi, [edi + eax*4]
je 0x49e711
mov edx, dword [esp + 0x28]
xor eax, eax
mov ecx, dword [ebx]
add edx, 1
adc eax, eax
push eax
push edx
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x49e713
push dword [esp + 0x28]
push dword [esp + 0x48]
push esi
call fcn.00570750
mov eax, dword [esp + 0x34]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x49e713
xor esi, esi
mov dword [edi - 8], esi
mov ecx, dword [esp + 0x54]
mov edi, dword [ebp + 8]
inc ecx
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x54], ecx
cmp ecx, dword [edi + 0x14]
jl 0x49dbc0
test eax, eax
je 0x49e744
mov edx, eax
mov ecx, esi
call fcn.0043b330
mov eax, dword [edi]
mov esi, dword [eax]
mov dword [esp + 0x6c], esi
test esi, esi
jne 0x49e754
xor edi, edi
jmp 0x49e76f
mov edi, esi
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x49e760
sub edi, ecx
and edi, 0x3fffffff
cmp byte [esp + 0x13], 7
jne 0x49e851
mov eax, dword [esp + 0x34]
mov ecx, 0xffff8000
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x49e7a8
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x49e7a8
nop word [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x49e7a0
mov dword [esp + 0x64], esi
add ecx, ecx
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], edi
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [esp + 0x58], ecx
test ecx, ecx
je 0x49e7d6
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e7c7
sub ecx, edx
and ecx, 0x3fffffff
lea eax, [esp + 0x70]
mov dword [esp + 0x5c], ecx
push 0
push eax
mov edx, 0x47
mov dword [esp + 0x78], str.FOREIGN_KEY_constraint_failed
mov ecx, esi
mov dword [esp + 0x7c], 0x1d
call fcn.00478d60
add esp, 8
test eax, eax
je 0x49e808
mov byte [eax + 1], 2
mov ecx, dword [ebx]
mov edx, eax
call fcn.0047a6e0
push 0
push 0
push 0
push 0
mov esi, eax
xor edx, edx
mov eax, dword [esp + 0x28]
mov ecx, ebx
push 0
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00493490
add esp, 8
mov edx, esi
mov ecx, ebx
push eax
call fcn.004ae440
add esp, 0x1c
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x14]
xor eax, eax
push 0
inc dword [ecx + 0x130]
mov word [ecx + 0x134], ax
lea eax, [edi + 0x55]
push eax
call fcn.0043b7c0
mov esi, eax
add esp, 8
mov dword [esp + 0x28], esi
test esi, esi
je 0x49e9c9
lea eax, [edi + 0x55]
push eax
push 0
push esi
call fcn.00570cd0
add esp, 0xc
lea ecx, [esi + 0x24]
lea eax, [ecx + 0x30]
mov dword [esi + 0x1c], ecx
mov dword [esp + 0x24], ecx
mov dword [ecx + 0xc], eax
push edi
push dword [esp + 0x70]
push eax
call fcn.00570750
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edi, dword [esp + 0x14]
test eax, eax
je 0x49e8cb
push 0
push 1
mov edx, eax
mov ecx, edi
call fcn.00479b40
add esp, 8
jmp 0x49e8cd
xor eax, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
push 1
mov dword [ecx + 0x14], eax
mov ecx, edi
call fcn.00479f90
mov ecx, dword [esp + 0x28]
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [ecx + 0x18], eax
mov ecx, edi
push 1
call fcn.0047a4d0
mov ecx, dword [esp + 0x28]
add esp, 4
cmp dword [esp + 0x1c], 0
mov dword [ecx + 8], eax
je 0x49e9b4
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.0043b7c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49e998
push 0x34
push 0
push edi
call fcn.00570cd0
mov ecx, dword [esp + 0x28]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov dword [edi + 0xc], ecx
mov byte [edi], 0x13
mov dword [edi + 0x18], 1
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [edi + 4], eax
mov eax, dword [ecx + 0x18]
mov ecx, 1
cmp eax, ecx
jl 0x49e963
lea ecx, [eax + 1]
mov dword [edi + 0x18], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x49e97e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.0043f000
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, edi
push 0
push 1
mov dword [esp + 0x24], edi
call fcn.00479b40
add esp, 8
mov ecx, eax
jmp 0x49e9a9
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx]
call fcn.004798d0
mov dword [esp + 0x1c], edi
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
mov dword [esi + 0xc], ecx
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
add dword [ebx + 0x130], 0xffffffff
je 0x49e9cd
xor eax, eax
jmp 0x49e9d4
mov edi, esi
jmp 0x49e9b8
movzx eax, word [ebx + 0x136]
mov word [ebx + 0x134], ax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49e9ec
mov edx, eax
mov ecx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x49e9fd
mov edx, eax
mov ecx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49ea0e
mov edx, eax
mov ecx, ebx
call fcn.0047ac20
mov eax, dword [esp + 0x48]
test eax, eax
je 0x49ea24
push 1
mov edx, eax
mov ecx, ebx
call fcn.004ae360
add esp, 4
cmp byte [ebx + 0x57], 1
jne 0x49ea72
test esi, esi
je 0x49ea69
mov edi, dword [esi + 0x1c]
push dword [edi + 0x14]
push ebx
call fcn.00479a00
mov edx, dword [edi + 0x18]
add esp, 8
test edx, edx
je 0x49ea4b
mov ecx, ebx
call fcn.0047ac20
push dword [edi + 8]
push ebx
call fcn.004ae680
push dword [esi + 0xc]
push ebx
call fcn.00479a00
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.0043b330
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x13]
mov edx, dword [ebp + 0xc]
cmp al, 7
je 0x49ea97
cmp al, 0xa
jne 0x49ea8e
test edx, edx
jne 0x49ea8e
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0x80
jmp 0x49ea9e
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0x81
jmp 0x49ea9e
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0x8a
mov dword [ecx + 4], esi
test edx, edx
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x3c]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x3c]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [eax], esi
setne al
sub al, 0x80
mov byte [esi + 8], al
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret