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

Disassembly:
sub esp, 0x4c
push ebx
xor ecx, ecx
cmp dword [esp + 0x60], ecx
push ebp
mov ebp, dword [esp + 0x58]
setne cl
push esi
mov esi, dword [esp + 0x64]
push edi
mov ebx, dword [ebp]
mov dword [esp + 0x14], ebx
mov dl, byte [ecx + esi + 0x19]
mov byte [esp + 0x13], dl
cmp dl, 7
jne 0x4325ad
mov eax, dword [ebx + 0x20]
and eax, 0x80000
or eax, 0
jne 0x43370b
lea eax, [esi + 0x1c]
mov edi, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x50], eax
test dl, dl
je 0x433766
test edi, edi
jne 0x433766
lea eax, [esp + 0x30]
mov dword [esp + 0x38], edi
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x34], edi
push eax
push esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x70]
push edi
push ebp
call fcn.0045f240
add esp, 0x14
test eax, eax
jne 0x43370b
xor ecx, ecx
mov dword [esp + 0x48], ecx
cmp dword [esi + 0x14], ecx
jle 0x43308a
mov eax, dword [esp + 0x30]
test eax, eax
je 0x432623
mov edx, dword [eax + ecx*4]
jmp 0x432626
mov edx, dword [esi + 0x24]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x432637
mov eax, dword [eax + 4]
movzx eax, word [eax + ecx*2]
jmp 0x43263b
movzx eax, word [edi + 0x28]
cwde
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x432651
xor edi, edi
jmp 0x432665
mov edi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x432656
sub edi, ecx
and edi, 0x3fffffff
mov eax, dword [esi]
lea ecx, [edx + edx*4]
shl ecx, 2
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x432683
xor esi, esi
jmp 0x432697
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x432688
sub esi, ecx
and esi, 0x3fffffff
lea eax, [esi + 0x35]
mov dword [esp + 0x44], esi
push 0
push eax
push ebx
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x4326f1
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x3b
mov word [ebx + 0x22], ax
add esp, 0xc
lea eax, [ebx + 0x34]
mov dword [ebx + 8], eax
test esi, esi
je 0x4326e6
push esi
push dword [esp + 0x30]
push eax
call fcn.004ac060
mov eax, dword [ebx + 8]
add esp, 0xc
mov byte [eax + esi], 0
mov dword [ebx + 0x18], 1
mov ebx, dword [esp + 0x14]
lea eax, [edi + 0x35]
push 0
push eax
push ebx
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x432747
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x3b
mov word [esi + 0x22], ax
add esp, 0xc
lea eax, [esi + 0x34]
mov dword [esi + 8], eax
test edi, edi
je 0x43273c
push edi
push dword [esp + 0x2c]
push eax
call fcn.004ac060
mov eax, dword [esi + 8]
add esp, 0xc
mov byte [eax + edi], 0
mov dword [esi + 0x18], 1
push 0
push 0x38
push ebx
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x432797
push 0x34
push 0
push ebx
call fcn.004ac5e0
lea ecx, [ebx + 0x34]
mov byte [ebx], 0x3b
mov dword [ebx + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [ebx + 0x22], ax
mov ax, word [0x4d2da4]
mov word [ecx], ax
mov al, byte [0x4d2da6]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [ebx + 0x18], 1
push 0
push 0x34
push dword [ebp]
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x432810
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x8c
add esp, 0xc
mov word [ebx + 0x22], ax
test esi, esi
je 0x4327d5
mov dword [ebx + 0x10], esi
mov eax, dword [esi + 4]
and eax, 0x200104
or dword [ebx + 4], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4327eb
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ebx + 4], eax
push ebx
call fcn.00431990
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x7c]
cmp dword [ebx + 0x18], eax
jle 0x432834
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x432834
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x432824
push eax
push dword [ebp]
call fcn.0045b700
add esp, 8
test esi, esi
je 0x432834
push esi
push dword [ebp]
call fcn.0045b700
add esp, 8
push 0
push 0x34
push dword [ebp]
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4328ad
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x35
mov word [esi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x40]
test eax, eax
je 0x432876
mov dword [esi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [esi + 4], eax
test ebx, ebx
je 0x432888
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [esi + 4], eax
push esi
call fcn.00431990
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x7c]
cmp dword [esi + 0x18], eax
jle 0x4328d1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x4328d1
test ebx, ebx
je 0x4328bd
push ebx
push dword [ebp]
call fcn.0045b700
add esp, 8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4328d1
push eax
push dword [ebp]
call fcn.0045b700
add esp, 8
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ebp]
test ecx, ecx
jne 0x4328e5
mov dword [esp + 0x1c], esi
jmp 0x4329e5
test esi, esi
je 0x4329e5
mov eax, dword [ecx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x43290b
mov eax, dword [esi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x43295d
cmp byte [ebp + 0xc8], 2
jae 0x43295d
push ecx
push dword [ebp + 0x44]
push ebp
call fcn.0045c480
push esi
push eax
push ebp
mov dword [ebp + 0x44], eax
call fcn.0045c480
mov dword [ebp + 0x44], eax
lea eax, [esp + 0x6c]
push 0
push eax
push 0x9a
push ebx
mov dword [esp + 0x7c], 0x4d31f0
mov dword [esp + 0x80], 1
call fcn.004585b0
add esp, 0x28
mov dword [esp + 0x1c], eax
jmp 0x4329e5
push 0
push 0x34
push ebx
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4329c9
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x2c
mov word [ebx + 0x22], ax
mov dword [ebx + 0x10], esi
mov eax, dword [esi + 4]
and eax, 0x200104
or dword [ebx + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xc], eax
push ebx
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ebx + 4], eax
call fcn.00431990
mov eax, dword [ebp]
add esp, 0x10
mov eax, dword [eax + 0x7c]
cmp dword [ebx + 0x18], eax
jle 0x4329e1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x4329e1
push dword [esp + 0x1c]
push dword [ebp]
call fcn.0045b700
push esi
push dword [ebp]
call fcn.0045b700
add esp, 0x10
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x432d2f
mov ebx, dword [esp + 0x14]
lea eax, [edi + 0x35]
push 0
push eax
push ebx
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x432a47
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x3b
mov word [esi + 0x22], ax
add esp, 0xc
lea eax, [esi + 0x34]
mov dword [esi + 8], eax
test edi, edi
je 0x432a3c
push edi
push dword [esp + 0x2c]
push eax
call fcn.004ac060
mov eax, dword [esi + 8]
add esp, 0xc
mov byte [eax + edi], 0
mov dword [esi + 0x18], 1
push 0
push 0x38
push ebx
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x432a97
push 0x34
push 0
push ebx
call fcn.004ac5e0
lea ecx, [ebx + 0x34]
mov byte [ebx], 0x3b
mov dword [ebx + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [ebx + 0x22], ax
mov ax, word [0x4d2da0]
mov word [ecx], ax
mov al, byte [0x4d2da2]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [ebx + 0x18], 1
push 0
push 0x34
push dword [ebp]
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
je 0x432b14
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x8c
add esp, 0xc
mov word [ebx + 0x22], ax
test esi, esi
je 0x432ad9
mov dword [ebx + 0x10], esi
mov eax, dword [esi + 4]
and eax, 0x200104
or dword [ebx + 4], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x432aef
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ebx + 4], eax
push ebx
call fcn.00431990
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x7c]
cmp dword [ebx + 0x18], eax
jle 0x432b38
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x432b38
mov eax, dword [esp + 0x40]
test eax, eax
je 0x432b28
push eax
push dword [ebp]
call fcn.0045b700
add esp, 8
test esi, esi
je 0x432b38
push esi
push dword [ebp]
call fcn.0045b700
add esp, 8
mov esi, dword [esp + 0x14]
lea eax, [edi + 0x35]
push 0
push eax
push esi
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x432b8e
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x3b
mov word [ebx + 0x22], ax
add esp, 0xc
lea eax, [ebx + 0x34]
mov dword [ebx + 8], eax
test edi, edi
je 0x432b83
push edi
push dword [esp + 0x2c]
push eax
call fcn.004ac060
mov eax, dword [ebx + 8]
add esp, 0xc
mov byte [eax + edi], 0
mov dword [ebx + 0x18], 1
push 0
push 0x38
push esi
call fcn.00455fb0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x40], esi
test esi, esi
je 0x432bde
push 0x34
push 0
push esi
call fcn.004ac5e0
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 [0x4d2da4]
mov word [ecx], ax
mov al, byte [0x4d2da6]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [esi + 0x18], 1
push 0
push 0x34
push dword [ebp]
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x432c57
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x8c
add esp, 0xc
mov word [esi + 0x22], ax
test ebx, ebx
je 0x432c1c
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [esi + 4], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x432c32
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [esi + 4], eax
push esi
call fcn.00431990
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x7c]
cmp dword [esi + 0x18], eax
jle 0x432c7b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x432c7b
mov eax, dword [esp + 0x40]
test eax, eax
je 0x432c6b
push eax
push dword [ebp]
call fcn.0045b700
add esp, 8
test ebx, ebx
je 0x432c7b
push ebx
push dword [ebp]
call fcn.0045b700
add esp, 8
push 0
push 0x34
push dword [ebp]
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x432cf4
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x2d
mov word [ebx + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x432cbd
mov dword [ebx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ebx + 4], eax
test esi, esi
je 0x432ccf
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
and eax, 0x200104
or dword [ebx + 4], eax
push ebx
call fcn.00431990
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x7c]
cmp dword [ebx + 0x18], eax
jle 0x432d18
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x432d18
test esi, esi
je 0x432d04
push esi
push dword [ebp]
call fcn.0045b700
add esp, 8
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x432d18
push eax
push dword [ebp]
call fcn.0045b700
add esp, 8
mov ecx, dword [esp + 0x20]
push ebx
push ecx
push ebp
call fcn.00458770
mov ecx, dword [esp + 0x78]
add esp, 0xc
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x13]
cmp al, 7
je 0x43306c
cmp al, 0xa
jne 0x432e8b
test ecx, ecx
je 0x43306c
mov esi, dword [esp + 0x14]
lea eax, [edi + 0x35]
push 0
push eax
push esi
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x432da1
push 0x34
push 0
push ebx
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [ebx], 0x3b
mov word [ebx + 0x22], ax
add esp, 0xc
lea eax, [ebx + 0x34]
mov dword [ebx + 8], eax
test edi, edi
je 0x432d96
push edi
push dword [esp + 0x2c]
push eax
call fcn.004ac060
mov eax, dword [ebx + 8]
add esp, 0xc
mov byte [eax + edi], 0
mov dword [ebx + 0x18], 1
push 0
push 0x38
push esi
call fcn.00455fb0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x432ded
push 0x34
push 0
push edi
call fcn.004ac5e0
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 [0x4d2da0]
mov word [ecx], ax
mov al, byte [0x4d2da2]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [edi + 0x18], 1
push 0
push 0x34
push dword [ebp]
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x432e69
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x8c
add esp, 0xc
mov word [esi + 0x22], ax
test ebx, ebx
je 0x432e2b
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [esi + 4], eax
test edi, edi
je 0x432e3d
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x200104
or dword [esi + 4], eax
push esi
call fcn.00431990
mov eax, dword [ebp]
add esp, 4
mov eax, dword [eax + 0x7c]
cmp dword [esi + 0x18], eax
jle 0x432ef2
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x432ef2
test edi, edi
je 0x432e79
push edi
push dword [ebp]
call fcn.0045b700
add esp, 8
test ebx, ebx
je 0x432ef2
push ebx
push dword [ebp]
call fcn.0045b700
add esp, 8
jmp 0x432ef2
cmp al, 9
jne 0x432ebe
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x4c]
test byte [eax + 0x10], 0x60
jne 0x432ebe
mov eax, dword [eax + 4]
test eax, eax
je 0x432ebe
push 0
push 0
push eax
push dword [esp + 0x20]
call fcn.004308b0
add esp, 0x10
mov esi, eax
jmp 0x432ef2
push 0
push 0x34
push dword [esp + 0x1c]
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x432ef2
push 0x34
push 0
push esi
call fcn.004ac5e0
add esp, 0xc
mov dword [esi + 0x18], 1
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov byte [esi], 0x78
mov eax, dword [esp + 0x18]
mov ebx, eax
mov edi, dword [ebp]
test eax, eax
jne 0x432f19
push eax
push 0x18
push edi
call fcn.00455fb0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x433041
xor edx, edx
jmp 0x432f97
mov edx, dword [eax]
lea eax, [edx - 1]
test edx, eax
jne 0x432f97
mov eax, edx
mov ecx, 2
imul ecx
mov ecx, edx
mov dword [esp + 0x28], eax
mov edx, eax
add edx, 0xffffffff
mov eax, edx
adc ecx, 0xffffffff
mov dword [esp + 0x28], ecx
shld ecx, eax, 2
shl eax, 2
add edx, eax
mov eax, dword [esp + 0x18]
adc dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
shld ecx, edx, 2
shl edx, 2
add edx, 0x18
mov dword [esp + 0x28], edx
adc ecx, 0
cmp eax, dword [edi + 0x154]
jae 0x43302d
cmp eax, dword [edi + 0x14c]
jb 0x432ffe
test ecx, ecx
ja 0x43302d
jb 0x432f93
cmp edx, 0x80
ja 0x43302d
mov edx, dword [eax]
mov ebx, eax
lea eax, [edx + edx*4]
mov dword [esp + 0x18], ebx
lea ecx, [ebx + eax*4]
lea eax, [edx + 1]
mov dword [ebx], eax
xor eax, eax
cmp dword [esp + 0x2c], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 4], esi
mov eax, dword [ebx]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*4]
je 0x433067
mov ebx, dword [esp + 0x44]
xor eax, eax
mov ecx, ebx
add ecx, 1
adc eax, eax
push eax
push ecx
push dword [ebp]
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x433069
push ebx
push dword [esp + 0x30]
push esi
call fcn.004ac060
add esp, 0xc
mov byte [esi + ebx], 0
jmp 0x433069
cmp eax, dword [edi + 0x150]
jb 0x43302d
movzx eax, word [edi + 0x126]
cdq
cmp ecx, edx
ja 0x433025
jb 0x43301c
mov edx, dword [esp + 0x28]
cmp edx, eax
ja 0x433029
mov eax, dword [esp + 0x18]
jmp 0x432f93
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push edi
call fcn.0042ca70
add esp, 0x10
test eax, eax
jne 0x432f93
test esi, esi
je 0x43304f
push esi
push edi
call fcn.0045b700
add esp, 8
test ebx, ebx
je 0x43305d
push ebx
push edi
call fcn.004311a0
add esp, 8
mov dword [esp + 0x18], 0
jmp 0x43306c
xor esi, esi
mov dword [edi - 0xc], esi
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x68]
inc ecx
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x48], ecx
cmp ecx, dword [esi + 0x14]
jl 0x432616
mov esi, dword [esp + 0x30]
test esi, esi
je 0x43313f
test ebx, ebx
je 0x4330ea
cmp dword [ebx + 0x200], 0
je 0x4330b2
push esi
push ebx
call fcn.0043b030
add esp, 8
jmp 0x43313f
cmp esi, dword [ebx + 0x154]
jae 0x4330ea
cmp esi, dword [ebx + 0x14c]
jb 0x4330d2
mov eax, dword [ebx + 0x148]
mov dword [esi], eax
mov dword [ebx + 0x148], esi
jmp 0x43313f
cmp esi, dword [ebx + 0x150]
jb 0x4330ea
mov eax, dword [ebx + 0x140]
mov dword [esi], eax
mov dword [ebx + 0x140], esi
jmp 0x43313f
cmp dword [0x4e6008], 0
je 0x433135
mov eax, dword [0x4e86d8]
test eax, eax
je 0x433106
push eax
call dword [0x4e6058]
add esp, 4
push esi
call dword [0x4e6034]
sub dword [0x4e8678], eax
dec dword [0x4e869c]
push esi
call dword [0x4e602c]
mov eax, dword [0x4e86d8]
add esp, 8
test eax, eax
je 0x43313f
push eax
call dword [0x4e6060]
jmp 0x43313c
push esi
call dword [0x4e602c]
add esp, 4
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test eax, eax
jne 0x433153
xor ebx, ebx
jmp 0x43316b
mov ebx, eax
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x433158
mov eax, dword [esp + 0x48]
sub ebx, ecx
and ebx, 0x3fffffff
cmp byte [esp + 0x13], 7
jne 0x433265
push 0
push 0x52
push dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ebx
call fcn.00455fb0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x68], edx
test edx, edx
je 0x4331d7
push 0x34
push 0
push edx
call fcn.004ac5e0
mov edx, dword [esp + 0x74]
add esp, 0xc
or eax, 0xffffffff
mov ecx, 7
mov esi, str.FOREIGN_KEY_constraint_failed
mov word [edx + 0x22], ax
lea eax, [edx + 0x34]
mov byte [edx], 0x47
mov edi, eax
mov dword [edx + 8], eax
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x1d], 0
mov dword [edx + 0x18], 1
mov byte [edx + 1], 2
mov esi, dword [ebp]
mov eax, 0x18
cmp ax, word [esi + 0x124]
jbe 0x4332e0
cmp dword [esi + 0x120], 0
jne 0x433200
inc dword [esi + 0x134]
jmp 0x43334e
cmp byte [esi + 0x53], 0
je 0x43334e
xor edi, edi
mov eax, dword [esp + 0x68]
test eax, eax
je 0x43322c
push eax
push esi
call fcn.0045b700
add esp, 8
test edi, edi
je 0x43322c
push edi
push esi
call fcn.004311a0
add esp, 8
xor edi, edi
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x30]
lea eax, [esp + 0x6c]
push 0
push eax
push 0
push ebp
call fcn.00474320
add esp, 0x10
push eax
push edi
push ebp
call fcn.00473e00
add esp, 0x24
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
lea esi, [ebx + 0x55]
xor ecx, ecx
push ecx
push esi
inc dword [eax + 0x120]
push eax
mov word [eax + 0x124], cx
call fcn.00455fb0
add esp, 0xc
mov dword [esp + 0x28], eax
mov edi, eax
test eax, eax
je 0x433686
push esi
push 0
push eax
call fcn.004ac5e0
mov eax, edi
lea ecx, [eax + 0x24]
push ebx
push dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
lea eax, [ecx + 0x30]
push eax
mov dword [esp + 0x3c], ecx
mov dword [ecx + 0xc], eax
call fcn.004ac060
mov eax, dword [esp + 0x34]
add esp, 0x18
mov esi, dword [esp + 0x14]
test eax, eax
je 0x433387
push 0
push 1
push eax
push esi
call fcn.004308b0
add esp, 0x10
jmp 0x433389
mov edi, dword [esi + 0x148]
test edi, edi
je 0x4332fa
mov eax, dword [edi]
mov dword [esi + 0x148], eax
inc dword [esi + 0x130]
jmp 0x433367
mov edi, dword [esi + 0x144]
test edi, edi
je 0x433314
mov eax, dword [edi]
mov dword [esi + 0x144], eax
inc dword [esi + 0x130]
jmp 0x433367
mov edi, dword [esi + 0x140]
test edi, edi
je 0x43332e
mov eax, dword [edi]
mov dword [esi + 0x140], eax
inc dword [esi + 0x130]
jmp 0x433367
mov edi, dword [esi + 0x13c]
test edi, edi
je 0x433348
mov eax, dword [edi]
inc dword [esi + 0x130]
mov dword [esi + 0x13c], eax
jmp 0x433367
inc dword [esi + 0x138]
push 0
mov eax, esi
push 0x18
push eax
call fcn.0042ca10
mov edi, eax
add esp, 0xc
test edi, edi
je 0x43320c
xor eax, eax
mov dword [edi], 1
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [edi + 4], eax
jmp 0x43322e
xor eax, eax
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov dword [ecx + 0x14], eax
test ebx, ebx
jne 0x43339f
xor edx, edx
jmp 0x433514
cmp ebx, dword [esi + 0x154]
jae 0x4333c7
cmp ebx, dword [esi + 0x14c]
jb 0x4333b6
mov eax, 0x80
jmp 0x4333d1
cmp ebx, dword [esi + 0x150]
jb 0x4333c7
movzx eax, word [esi + 0x126]
jmp 0x4333d1
push ebx
call dword [0x4e6034]
add esp, 4
cdq
push edx
push eax
push esi
call fcn.00455fb0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x3c], edx
test edx, edx
je 0x433514
mov eax, dword [ebx]
lea ecx, [edx + 4]
mov dword [edx], eax
cmp dword [ebx], 0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x48], 0
jle 0x433514
sub edx, dword [esp + 0x18]
add ebx, 0x10
mov dword [esp + 0x40], edx
xor ebp, ebp
mov eax, dword [ebx - 0xc]
mov esi, edi
mov dword [esp + 0x4c], eax
test eax, eax
je 0x433454
push 0
push 1
push eax
push dword [esp + 0x20]
call fcn.004308b0
mov ecx, dword [esp + 0x78]
add esp, 0x10
mov dword [ecx], eax
mov ecx, dword [esp + 0x4c]
cmp byte [ecx], 0xb1
jne 0x43345a
test eax, eax
je 0x43345a
cmp word [eax + 0x20], 0
jne 0x43344f
mov ebp, dword [eax + 0x10]
mov dword [eax + 0xc], ebp
jmp 0x43345a
mov dword [ecx], 0
mov eax, dword [ebx - 8]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x433469
xor esi, esi
jmp 0x4334a6
mov ecx, eax
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433470
sub ecx, edx
push 0
lea eax, [ecx + 1]
push eax
push dword [esp + 0x1c]
mov dword [esp + 0x58], eax
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4334a6
push dword [esp + 0x4c]
push dword [esp + 0x48]
push esi
call fcn.004ac060
add esp, 0xc
mov ecx, dword [esp + 0x68]
mov dword [ecx + 4], esi
mov al, byte [ebx - 4]
mov esi, dword [esp + 0x40]
mov byte [ecx + 8], al
mov edx, dword [ebx]
and edx, 3
mov eax, dword [esi + ebx]
and eax, 0xfffffff8
or edx, eax
mov dword [esi + ebx], edx
mov ecx, dword [ebx]
xor ecx, edx
and ecx, 0x20
xor ecx, edx
mov edx, dword [esp + 0x48]
mov dword [esi + ebx], ecx
inc edx
mov eax, dword [ebx]
xor eax, ecx
mov dword [esp + 0x48], edx
and eax, 0x10
xor eax, ecx
mov ecx, dword [esp + 0x68]
mov dword [esi + ebx], eax
mov eax, dword [ebx + 4]
add ebx, 0x14
mov dword [ecx + 0x10], eax
add ecx, 0x14
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], ecx
cmp edx, dword [eax]
jl 0x433414
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
push 1
push dword [esp + 0x38]
push esi
mov dword [ebx + 0x18], edx
call fcn.00473b10
add esp, 0xc
mov dword [ebx + 8], eax
cmp dword [esp + 0x20], 0
je 0x433692
mov ecx, dword [ebp]
mov eax, 0x34
cmp ax, word [ecx + 0x124]
jbe 0x43358f
cmp dword [ecx + 0x120], 0
jne 0x43355d
inc dword [ecx + 0x134]
jmp 0x433605
cmp byte [ecx + 0x53], 0
je 0x433605
xor esi, esi
mov ecx, dword [esp + 0x20]
push ecx
push dword [ebp]
call fcn.0045b700
mov ebx, dword [esp + 0x30]
add esp, 8
xor eax, eax
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x433696
mov esi, dword [ecx + 0x148]
test esi, esi
je 0x4335ab
mov eax, dword [esi]
mov ebx, esi
mov dword [ecx + 0x148], eax
inc dword [ecx + 0x130]
jmp 0x43361e
mov esi, dword [ecx + 0x144]
test esi, esi
je 0x4335c7
mov eax, dword [esi]
mov ebx, esi
mov dword [ecx + 0x144], eax
inc dword [ecx + 0x130]
jmp 0x43361e
mov esi, dword [ecx + 0x140]
test esi, esi
je 0x4335e3
mov eax, dword [esi]
mov ebx, esi
mov dword [ecx + 0x140], eax
inc dword [ecx + 0x130]
jmp 0x43361e
mov esi, dword [ecx + 0x13c]
test esi, esi
je 0x4335ff
mov eax, dword [esi]
mov ebx, esi
inc dword [ecx + 0x130]
mov dword [ecx + 0x13c], eax
jmp 0x43361e
inc dword [ecx + 0x138]
push 0
push 0x34
push ecx
call fcn.0042ca10
mov esi, eax
add esp, 0xc
mov ebx, esi
test esi, esi
je 0x433569
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x13
mov word [esi + 0x22], ax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
push esi
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [esi + 4], eax
call fcn.00431990
mov eax, dword [ebp]
add esp, 0x10
mov eax, dword [eax + 0x7c]
cmp dword [esi + 0x18], eax
jle 0x433667
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
push 0
push 1
push esi
mov esi, dword [esp + 0x20]
push esi
call fcn.004308b0
mov dword [esp + 0x30], ebx
add esp, 0x10
mov ebx, dword [esp + 0x28]
mov dword [ebx + 0xc], eax
jmp 0x433696
mov ebx, dword [esp + 0x28]
mov edi, ebx
mov esi, dword [esp + 0x14]
jmp 0x433696
mov ebx, dword [esp + 0x28]
add dword [esi + 0x120], 0xffffffff
je 0x4336a3
xor eax, eax
jmp 0x4336aa
movzx eax, word [esi + 0x126]
mov word [esi + 0x124], ax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4336c3
push eax
push esi
call fcn.0045b700
add esp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4336d5
push eax
push esi
call fcn.0045b700
add esp, 8
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4336e7
push eax
push esi
call fcn.004311a0
add esp, 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4336fb
push 1
push eax
push esi
call fcn.004283e0
add esp, 0xc
cmp byte [esi + 0x53], 1
jne 0x433715
push ebx
push esi
call fcn.004348b0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret
mov al, byte [esp + 0x13]
mov edx, dword [esp + 0x6c]
cmp al, 7
je 0x43373b
cmp al, 0xa
jne 0x433732
test edx, edx
jne 0x433732
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0x7f
jmp 0x433742
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0x80
jmp 0x433742
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0x89
mov dword [ecx + 4], ebx
test edx, edx
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x48]
mov dword [ebx + 0x14], eax
mov ecx, dword [ecx + 0x48]
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x18], ecx
setne cl
add cl, 0x7f
mov dword [eax], ebx
mov byte [ebx + 8], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret