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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x56ab08]
movq xmm0, qword [0x56ab00]
push ebx
mov ebx, dword [ecx + 8]
push esi
push edi
mov edi, dword [ecx]
shl edi, 4
add edi, ecx
mov dword [esp + 0x3c], eax
lea eax, [edx - 5]
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], edi
lea esi, [edi + 0xc]
mov dword [esp + 0x20], esi
movq qword [esp + 0x34], xmm0
cmp eax, 0x140
ja case.0x4fa509.10
movzx eax, byte [eax + 0x4fc574]
jmp dword [eax*4 + 0x4fc2ec]
mov byte [ebx + 0x1d0], 0
mov dword [ebx + 0x1b0], 0
jmp case.0x4fa509.10
mov byte [ebx + 0x1d0], 1
mov dword [ebx + 0x1b0], 0
jmp case.0x4fa509.10
mov byte [ebx + 0x1d0], 2
mov dword [ebx + 0x1b0], 0
jmp case.0x4fa509.10
mov ecx, ebx
call fcn.0051e960
jmp case.0x4fa509.10
mov eax, dword [edi]
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
test edi, edi
jne 0x4fa642
test ecx, ecx
je 0x4fa5c9
cmp byte [ecx + 0x1e], 0
jne 0x4fa631
cmp byte [ecx + 0xe2], 0
je 0x4fa5c9
mov eax, 0xe8
cmp ax, word [ecx + 0xe0]
ja 0x4fa5c9
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fa5c9
mov eax, dword [edi]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0xe4]
inc eax
mov dword [ecx + 0xe4], eax
cmp eax, dword [ecx + 0xe8]
jle 0x4fa5ec
mov dword [ecx + 0xe8], eax
jmp 0x4fa5ec
push 0xe8
call fcn.00547470
mov ecx, dword [esp + 0x14]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fa5ec
test ecx, ecx
je 0x4fa5e8
mov byte [ecx + 0x1e], 1
test edi, edi
je 0x4fa631
push 0xe4
lea eax, [edi + 4]
push 0
push eax
call fcn.004359a0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [edi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4fa612
mov dword [eax + 4], edi
mov eax, dword [ecx + 0x88]
mov dword [edi + 8], eax
mov dword [edi + 4], 0
mov dword [ecx + 0x88], edi
mov dword [edi + 0x50], 0x26bceaa5
jmp 0x4fa633
xor edi, edi
mov eax, dword [esp + 0x18]
mov dword [ebx + 0xc], edi
test edi, edi
je case.0x4fa509.10
cmp eax, 7
je 0x4fa6e4
cmp dword [ecx + 4], 0
mov dword [esp + 0x14], 0
jle 0x4fa6e4
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x10], eax
jg 0x4fa680
mov ecx, edi
call fcn.00533ee0
test eax, eax
jne 0x4fa6bd
mov eax, dword [esp + 0x18]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 0x22
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
xor eax, eax
cmp esi, 9
sete al
inc eax
mov dword [ecx + 8], eax
mov byte [edi + 0x6e], 0
mov eax, dword [esp + 0x14]
mov edx, 1
mov ecx, eax
shl edx, cl
mov ecx, dword [edi + 0x78]
test edx, ecx
jne 0x4fa6d6
or ecx, edx
mov dword [edi + 0x78], ecx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 4]
jl 0x4fa665
mov esi, dword [esp + 0x20]
mov ebx, dword [edi + 0xc]
cmp dword [edi + 0x10], ebx
jg 0x4fa6fb
mov ecx, edi
call fcn.00533ee0
test eax, eax
jne case.0x4fa509.10
mov eax, dword [edi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [edi + 0xc]
mov dword [eax + ecx*4 + 4], 0
mov byte [eax + ecx*4 + 3], 0
mov word [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
jmp case.0x4fa509.10
movzx eax, byte [esi + 2]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov edi, dword [ebx + 0xc]
test edi, edi
jne 0x4fa81f
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4fa7aa
cmp byte [ecx + 0x1e], 0
jne 0x4fa812
cmp byte [ecx + 0xe2], 0
je 0x4fa7aa
mov eax, 0xe8
cmp ax, word [ecx + 0xe0]
ja 0x4fa7aa
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fa7aa
mov eax, dword [edi]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0xe4]
inc eax
mov dword [ecx + 0xe4], eax
cmp eax, dword [ecx + 0xe8]
jle 0x4fa7cd
mov dword [ecx + 0xe8], eax
jmp 0x4fa7cd
push 0xe8
call fcn.00547470
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fa7cd
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4fa7c9
mov byte [eax + 0x1e], 1
test edi, edi
je 0x4fa812
push 0xe4
lea eax, [edi + 4]
push 0
push eax
call fcn.004359a0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [edi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4fa7f3
mov dword [eax + 4], edi
mov eax, dword [ecx + 0x88]
mov dword [edi + 8], eax
mov dword [edi + 4], 0
mov dword [ecx + 0x88], edi
mov dword [edi + 0x50], 0x26bceaa5
jmp 0x4fa814
xor edi, edi
mov dword [ebx + 0xc], edi
test edi, edi
je case.0x4fa509.10
mov ebx, dword [edi + 0xc]
cmp dword [edi + 0x10], ebx
jg 0x4fa836
mov ecx, edi
call fcn.00533ee0
test eax, eax
jne case.0x4fa509.10
mov eax, dword [edi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [edi + 0xc]
mov dword [eax + ecx*4 + 4], 1
jmp 0x4fa70c
mov edi, dword [ebx + 0xc]
test edi, edi
jne 0x4fa926
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4fa8b1
cmp byte [ecx + 0x1e], 0
jne 0x4fa919
cmp byte [ecx + 0xe2], 0
je 0x4fa8b1
mov eax, 0xe8
cmp ax, word [ecx + 0xe0]
ja 0x4fa8b1
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fa8b1
mov eax, dword [edi]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0xe4]
inc eax
mov dword [ecx + 0xe4], eax
cmp eax, dword [ecx + 0xe8]
jle 0x4fa8d4
mov dword [ecx + 0xe8], eax
jmp 0x4fa8d4
push 0xe8
call fcn.00547470
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fa8d4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4fa8d0
mov byte [eax + 0x1e], 1
test edi, edi
je 0x4fa919
push 0xe4
lea eax, [edi + 4]
push 0
push eax
call fcn.004359a0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [edi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4fa8fa
mov dword [eax + 4], edi
mov eax, dword [ecx + 0x88]
mov dword [edi + 8], eax
mov dword [edi + 4], 0
mov dword [ecx + 0x88], edi
mov dword [edi + 0x50], 0x26bceaa5
jmp 0x4fa91b
xor edi, edi
mov dword [ebx + 0xc], edi
test edi, edi
je case.0x4fa509.10
mov ebx, dword [edi + 0xc]
cmp dword [edi + 0x10], ebx
jg 0x4fa93d
mov ecx, edi
call fcn.00533ee0
test eax, eax
jne case.0x4fa509.10
mov eax, dword [edi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [edi + 0xc]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
jmp 0x4fa71f
lea eax, [esi + 4]
xor edx, edx
push eax
mov ecx, ebx
call fcn.00519cf0
add esp, 4
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, 1
push eax
mov ecx, ebx
call fcn.00519cf0
add esp, 4
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, 2
push eax
mov ecx, ebx
call fcn.00519cf0
add esp, 4
jmp case.0x4fa509.10
push dword [esi - 0x1c]
lea eax, [esi + 4]
mov edx, edi
push 0
sub esp, 8
mov ecx, ebx
push eax
call fcn.0051d4a0
add esp, 0x14
jmp case.0x4fa509.10
mov eax, dword [ebx]
mov byte [eax + 0xe2], 0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, edi
push 0
push eax
mov ecx, ebx
call fcn.0051c4e0
add esp, 8
jmp case.0x4fa509.10
push dword [esi + 4]
xor edx, edx
mov ecx, ebx
push 0
call fcn.0051c4e0
mov eax, dword [esi + 4]
add esp, 8
mov edi, dword [ebx]
mov ebx, eax
test ebx, ebx
je case.0x4fa509.10
mov edx, ebx
mov ecx, edi
call fcn.0050e080
test edi, edi
je 0x4faa51
cmp ebx, dword [edi + 0xf0]
jb 0x4faa51
cmp ebx, dword [edi + 0xf4]
jae 0x4faa51
mov eax, dword [edi + 0xec]
mov dword [ebx], eax
dec dword [edi + 0xe4]
mov dword [edi + 0xec], ebx
jmp case.0x4fa509.10
push ebx
call fcn.00547110
add esp, 4
jmp case.0x4fa509.10
mov eax, dword [ebx + 0x1e0]
mov ecx, dword [esi - 0x1c]
add eax, dword [ebx + 0x1dc]
sub eax, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
jmp case.0x4fa509.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051d360
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp case.0x4fa509.10
mov eax, dword [ebx + 0x1e8]
lea edx, [esi + 4]
test eax, eax
je case.0x4fa509.10
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jl case.0x4fa509.10
mov eax, dword [eax + 0x10]
lea ecx, [ecx + ecx*2]
mov ebx, dword [ebx]
lea eax, [eax + ecx*8]
mov dword [esp + 0x18], eax
test edx, edx
je 0x4fab91
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4faaf1
xor edi, edi
mov ecx, edi
call fcn.00544780
mov eax, dword [esp + 0x18]
jmp 0x4fab93
lea ecx, [eax + 1]
test ebx, ebx
je 0x4fab53
cmp byte [ebx + 0x1e], 0
je 0x4fab10
xor edi, edi
mov ecx, edi
call fcn.00544780
mov eax, dword [esp + 0x18]
jmp 0x4fab93
cmp byte [ebx + 0xe2], 0
je 0x4fab53
movzx eax, word [ebx + 0xe0]
cmp ecx, eax
jg 0x4fab53
mov edi, dword [ebx + 0xec]
test edi, edi
je 0x4fab53
mov eax, dword [edi]
mov dword [ebx + 0xec], eax
mov eax, dword [ebx + 0xe4]
inc eax
mov dword [ebx + 0xe4], eax
cmp eax, dword [ebx + 0xe8]
jle 0x4fab6e
mov dword [ebx + 0xe8], eax
jmp 0x4fab6e
push ecx
call fcn.00547470
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fab6e
test ebx, ebx
je 0x4fab6a
mov byte [ebx + 0x1e], 1
test edi, edi
je 0x4fab84
mov ebx, dword [esp + 0x20]
push ebx
push dword [esp + 0x18]
push edi
call fcn.00435260
add esp, 0xc
mov byte [edi + ebx], 0
mov ecx, edi
call fcn.00544780
mov eax, dword [esp + 0x18]
jmp 0x4fab93
xor edi, edi
mov ecx, edi
mov dword [eax - 0xc], edi
call fcn.0051d280
mov ecx, dword [esp + 0x18]
mov byte [ecx - 2], al
jmp case.0x4fa509.10
mov eax, dword [esi + 8]
mov ecx, dword [esi - 0x2c]
add eax, dword [esi + 4]
sub eax, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
jmp case.0x4fa509.10
mov eax, dword [esi + 8]
mov ecx, dword [esi - 0x4c]
add eax, dword [esi + 4]
sub eax, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
jmp case.0x4fa509.10
mov eax, dword [esi + 8]
mov ecx, dword [edi]
add eax, dword [esi + 4]
sub eax, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
jmp case.0x4fa509.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051d020
jmp case.0x4fa509.10
mov edx, edi
mov ecx, ebx
call fcn.0051d020
jmp case.0x4fa509.10
mov ecx, dword [ebx]
mov eax, dword [esi + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x4fac71
cmp byte [ecx + 0x1e], 0
je 0x4fac2b
xor edi, edi
jmp 0x4facdc
cmp byte [ecx + 0xe2], 0
je 0x4fac71
mov eax, 0x40
cmp ax, word [ecx + 0xe0]
ja 0x4fac71
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fac71
mov eax, dword [edi]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0xe4]
inc eax
mov dword [ecx + 0xe4], eax
cmp eax, dword [ecx + 0xe8]
jle 0x4fac91
mov dword [ecx + 0xe8], eax
jmp 0x4fac91
push 0x40
call fcn.00547470
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fac91
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fac8d
mov byte [eax + 0x1e], 1
test edi, edi
je 0x4facd8
push 0x40
push 0
push edi
call fcn.004359a0
or eax, 0xffffffff
mov byte [edi], 0x9c
mov word [edi + 0x28], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [edi + 0x38], 1
test eax, eax
je 0x4faccf
mov ecx, 0x100
mov dword [edi + 8], eax
test word [eax + 2], cx
je 0x4faccf
or word [edi + 2], cx
mov eax, dword [eax + 0x14]
mov dword [edi + 0x14], eax
mov ecx, edi
call fcn.00526d20
jmp 0x4fad2f
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x4fad2f
mov edx, eax
call fcn.00526370
mov ecx, dword [esp + 0x14]
cmp word [ecx + 2], 0
jl 0x4fad2f
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4fad26
cmp ecx, dword [edx + 0xf0]
jb 0x4fad26
cmp ecx, dword [edx + 0xf4]
jae 0x4fad26
mov eax, dword [edx + 0xec]
mov dword [ecx], eax
dec dword [edx + 0xe4]
mov dword [edx + 0xec], ecx
jmp 0x4fad2f
push ecx
call fcn.00547110
add esp, 4
mov eax, dword [esi - 0xc]
lea edx, [esp + 0x20]
mov dword [esp + 0x24], eax
mov ecx, ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], eax
call fcn.0051d020
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x5e
lea ecx, [esp + 0x28]
call fcn.004fcc30
add esp, 8
lea edx, [esp + 0x20]
mov ecx, ebx
call fcn.0051d020
jmp case.0x4fa509.10
mov ecx, dword [ebx + 0x1e8]
test ecx, ecx
je case.0x4fa509.10
mov eax, dword [ecx + 0xc]
cmp eax, 1
jl case.0x4fa509.10
mov ecx, dword [ecx + 0x10]
lea edx, [eax + eax*2]
mov al, byte [esi + 4]
mov byte [ecx + edx*8 - 4], al
jmp case.0x4fa509.10
push dword [esi - 0x1c]
xor edx, edx
mov ecx, ebx
push dword [esi + 4]
push dword [edi]
call fcn.0051ce80
add esp, 0xc
jmp case.0x4fa509.10
push 0
push 0
push 0
push 0
push dword [esi + 4]
push 0
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.0051af30
add esp, 0x20
jmp case.0x4fa509.10
mov edx, dword [edi]
mov ecx, ebx
call fcn.0051ce20
jmp case.0x4fa509.10
mov edx, dword [edi]
mov ecx, dword [ebx]
call fcn.00524b90
jmp case.0x4fa509.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051ccb0
jmp case.0x4fa509.10
mov eax, dword [esi + 8]
not eax
and eax, dword [edi]
or eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0xff
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
shl eax, 8
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0xff00
jmp case.0x4fa509.10
mov dword [esp + 0x34], 7
jmp case.0x4fa509.10
mov dword [esp + 0x34], 8
jmp case.0x4fa509.10
mov dword [esp + 0x34], 9
jmp case.0x4fa509.10
mov dword [esp + 0x34], 6
jmp case.0x4fa509.10
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
jmp case.0x4fa509.10
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp case.0x4fa509.10
mov edx, dword [esi - 0x2c]
mov ecx, ebx
push 0
push dword [esi - 0x1c]
push dword [esi + 4]
call fcn.0051ce80
add esp, 0xc
jmp case.0x4fa509.10
push 0
push 0
push 0
push 0
push dword [esi + 4]
push dword [esi - 0x1c]
jmp 0x4fadc7
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.0051ce20
jmp case.0x4fa509.10
mov edx, dword [esi - 0x5c]
push ecx
push dword [esi - 0x1c]
push ecx
mov ecx, ebx
call fcn.0051bf00
add esp, 0xc
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0x63
jmp case.0x4fa509.10
mov byte [esp + 0x34], 0x63
jmp case.0x4fa509.10
mov al, byte [esi + 4]
mov byte [esp + 0x34], al
jmp case.0x4fa509.10
mov dword [esp + 0x34], 4
jmp case.0x4fa509.10
mov dword [esp + 0x34], 5
jmp case.0x4fa509.10
push dword [edi]
mov edx, dword [esi + 4]
mov ecx, ebx
push 0
call fcn.0051bf20
add esp, 8
jmp case.0x4fa509.10
push dword [edi]
mov edx, dword [esi + 4]
mov ecx, ebx
push 1
call fcn.0051bf20
add esp, 8
jmp case.0x4fa509.10
mov edx, dword [esi + 4]
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
mov word [esp + 0x24], 5
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call fcn.005054a0
mov edx, dword [esi + 4]
add esp, 4
mov ecx, dword [ebx]
call fcn.0050dde0
jmp case.0x4fa509.10
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4fafbd
mov al, byte [edi]
mov byte [ecx + 4], al
mov ecx, dword [esi + 4]
mov eax, dword [esi - 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov edx, dword [esi - 0x1c]
mov ecx, dword [ebx]
call fcn.0050dde0
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0x70
jmp case.0x4fa509.10
push dword [esi + 8]
mov edx, dword [esi - 0x5c]
mov ecx, ebx
push dword [esi + 4]
push dword [esi - 0x6c]
push dword [edi]
push dword [esi - 0x1c]
push dword [esi - 0x2c]
push dword [esi - 0x3c]
push dword [esi - 0x4c]
call fcn.0050de40
add esp, 0x20
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
push dword [edi]
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov edx, eax
cmp dword [esi + 8], 0
mov dword [esp + 0x34], edx
jbe 0x4fb03c
lea eax, [esi + 4]
mov ecx, ebx
push 1
push eax
call fcn.00524e30
mov edx, dword [esp + 0x3c]
add esp, 8
mov edi, dword [ebx]
test edx, edx
je case.0x4fa509.10
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*4]
mov ecx, dword [eax - 0xc]
mov dword [esp + 0x14], eax
test edi, edi
je 0x4fb086
test ecx, ecx
je 0x4fb086
cmp ecx, dword [edi + 0xf0]
jb 0x4fb086
cmp ecx, dword [edi + 0xf4]
jae 0x4fb086
mov eax, dword [edi + 0xec]
mov dword [ecx], eax
dec dword [edi + 0xe4]
mov dword [edi + 0xec], ecx
jmp 0x4fb08f
push ecx
call fcn.00547110
add esp, 4
mov ecx, dword [esi - 8]
mov eax, dword [esi - 4]
sub eax, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
test ecx, ecx
jne 0x4fb0b1
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [eax - 0xc], ebx
jmp case.0x4fa509.10
lea edx, [eax + 1]
test edi, edi
je 0x4fb10f
cmp byte [edi + 0x1e], 0
je 0x4fb0cc
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [eax - 0xc], ebx
jmp case.0x4fa509.10
cmp byte [edi + 0xe2], 0
je 0x4fb10f
movzx eax, word [edi + 0xe0]
cmp edx, eax
jg 0x4fb10f
mov ebx, dword [edi + 0xec]
test ebx, ebx
je 0x4fb10f
mov eax, dword [ebx]
mov dword [edi + 0xec], eax
mov eax, dword [edi + 0xe4]
inc eax
mov dword [edi + 0xe4], eax
cmp eax, dword [edi + 0xe8]
jle 0x4fb12e
mov dword [edi + 0xe8], eax
jmp 0x4fb12e
push edx
call fcn.00547470
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4fb12a
test edi, edi
je 0x4fb126
mov byte [edi + 0x1e], 1
test ebx, ebx
je 0x4fb141
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
push edi
push ecx
push ebx
call fcn.00435260
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x14]
mov dword [eax - 0xc], ebx
jmp case.0x4fa509.10
mov ecx, dword [ebx]
lea eax, [esp + 0x20]
push 0
push eax
mov edx, 0x70
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00526ab0
mov edx, dword [edi]
mov ecx, ebx
push eax
call fcn.00524f10
add esp, 0xc
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, 0x70
push eax
push 0
push 0
mov ecx, ebx
call fcn.00526850
add esp, 0xc
lea ecx, [esi - 0x1c]
mov edx, 0x1a
mov edi, eax
push ecx
push 0
push 0
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov edx, 0x75
mov ecx, ebx
push 0
push edi
push eax
call fcn.00526850
mov edx, dword [esi - 0x2c]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov ecx, dword [ebx]
mov edx, 0x40
call fcn.00546e80
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov ecx, dword [esi + 4]
mov dword [esp + 0x34], ecx
call fcn.0051a0e0
jmp case.0x4fa509.10
mov edx, dword [edi]
mov dword [esp + 0x34], edx
test edx, edx
je case.0x4fa509.10
movzx eax, word [edx]
test ax, ax
jle case.0x4fa509.10
cwde
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [esi + 4]
mov byte [edx + ecx*8 - 0x1b], al
jmp case.0x4fa509.10
push dword [esi + 4]
mov edx, dword [esi - 0x5c]
lea eax, [esi - 0x2c]
push dword [edi]
mov ecx, ebx
push 0
push eax
lea eax, [esi - 0x3c]
push eax
lea eax, [esi - 0x4c]
push eax
call fcn.0051a170
lea ecx, [esi - 0x1c]
mov dword [esp + 0x4c], eax
push ecx
mov edx, eax
mov ecx, ebx
call fcn.0051a120
add esp, 0x1c
jmp case.0x4fa509.10
push dword [esi + 4]
mov edx, dword [esi - 0x5c]
lea eax, [esi - 0x1c]
push dword [edi]
mov ecx, ebx
push dword [esi - 0x3c]
push eax
push 0
push 0
call fcn.0051a170
add esp, 0x18
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
cmp dword [esi - 0x5c], 0
jne 0x4fb2b5
cmp dword [esi - 0x18], 0
jne 0x4fb2b5
cmp dword [edi], 0
jne 0x4fb2b5
cmp dword [esi + 4], 0
jne 0x4fb2b5
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov ecx, dword [esi - 0x3c]
call fcn.0051a0e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi - 0x3c]
xor edx, edx
mov ecx, ebx
call fcn.0050de40
push dword [esi + 4]
mov edx, dword [esi - 0x5c]
mov ecx, ebx
push dword [edi]
push eax
lea eax, [esi - 0x1c]
push eax
push 0
push 0
call fcn.0051a170
add esp, 0x38
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
push edi
xor edx, edx
call fcn.0051a4d0
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
push 0
push 0
mov edx, edi
mov ecx, ebx
call fcn.0050dc60
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
push 0
push edi
lea edx, [esi - 0x1c]
mov ecx, ebx
call fcn.0050dc60
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
lea eax, [esi - 0x1c]
mov ecx, ebx
push edi
push eax
lea edx, [esi - 0x2c]
call fcn.0050dc60
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 1
jmp case.0x4fa509.10
push dword [edi]
mov edx, dword [esi - 0x2c]
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je case.0x4fa509.10
mov ecx, dword [eax]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0x4fa509.10
push dword [edi]
xor edx, edx
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je case.0x4fa509.10
mov ecx, dword [eax + 0xc]
test ecx, ecx
je case.0x4fa509.10
mov al, byte [esi + 4]
mov byte [ecx + 0xc], al
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
jmp case.0x4fa509.10
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x38], eax
jmp case.0x4fa509.10
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov edx, dword [esi - 0x1c]
mov ecx, ebx
push edi
call fcn.0051a120
mov edx, dword [esi - 0x1c]
add esp, 4
mov ecx, ebx
push dword [esi + 4]
call fcn.005187b0
add esp, 4
jmp case.0x4fa509.10
mov edx, dword [esi - 0x3c]
lea eax, [esi - 0x2c]
push eax
mov ecx, ebx
call fcn.0051a120
mov eax, dword [edi]
add esp, 4
test eax, eax
je 0x4fb466
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x50]
jle 0x4fb466
push str.set_list
push str.too_many_columns_in__s
push ebx
call fcn.00544890
add esp, 0xc
movzx eax, byte [esi - 0x4c]
mov ecx, ebx
mov edx, dword [esi - 0x3c]
push eax
push dword [esi + 4]
push dword [edi]
call fcn.00504220
add esp, 0xc
jmp case.0x4fa509.10
mov edx, dword [esi - 0x3c]
push dword [esi + 4]
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
lea ecx, [esi - 0x1c]
mov edx, eax
push 1
push ecx
mov ecx, ebx
call fcn.00524e30
add esp, 8
jmp case.0x4fa509.10
xor edx, edx
jmp 0x4fb485
movzx eax, byte [esi - 0x6c]
mov ecx, ebx
mov edx, dword [esi - 0x4c]
push eax
push dword [esi - 0x3c]
push 0
push dword [edi]
call fcn.00514220
add esp, 0x10
jmp case.0x4fa509.10
movzx eax, byte [esi - 0x3c]
mov ecx, ebx
mov edx, dword [esi - 0x1c]
push eax
push dword [edi]
push dword [esi + 4]
push 0
call fcn.00514220
add esp, 0x10
jmp case.0x4fa509.10
movzx eax, byte [esi - 0x4c]
mov ecx, ebx
mov edx, dword [esi - 0x2c]
push eax
push dword [esi - 0x1c]
push 0
push 0
call fcn.00514220
add esp, 0x10
jmp case.0x4fa509.10
mov byte [esp + 0x34], 5
jmp case.0x4fa509.10
push dword [esi + 4]
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
push dword [esi + 4]
xor edx, edx
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov edx, dword [esi - 0x1c]
lea eax, [esi + 4]
mov ecx, dword [ebx]
push eax
call fcn.0051aa00
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
xor edx, edx
call fcn.0051aa00
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
movq xmm0, qword [esi + 4]
mov eax, dword [esi + 0xc]
movq qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov eax, dword [edi]
mov dword [esp + 0x34], eax
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, ebx
push eax
movzx eax, byte [esi + 2]
lea ecx, [esp + 0x38]
push eax
call fcn.004fcc30
add esp, 8
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x1a
lea ecx, [esp + 0x3c]
call fcn.004fcc30
add esp, 8
jmp case.0x4fa509.10
lea eax, [esi - 0x1c]
mov edx, 0x1a
push eax
push 0
push 0
mov ecx, ebx
call fcn.00526850
mov ecx, dword [esp + 0x1c]
lea ebx, [esi + 4]
add esp, 0xc
mov edx, 0x1a
mov edi, eax
push ebx
push 0
push 0
call fcn.00526850
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push 0
push eax
push edi
call fcn.00526850
mov dword [esp + 0x40], eax
add esp, 0xc
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 4]
add eax, dword [ebx]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
lea eax, [esi - 0x3c]
mov edx, 0x1a
push eax
push 0
push 0
mov ecx, ebx
call fcn.00526850
add esp, 0xc
lea ecx, [esi - 0x1c]
mov edx, 0x1a
mov ebx, eax
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0
call fcn.00526850
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edi, eax
mov edx, 0x1a
lea eax, [esi + 4]
push eax
push 0
push 0
call fcn.00526850
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push 0
push eax
push edi
call fcn.00526850
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push 0
push eax
push ebx
call fcn.00526850
mov dword [esp + 0x40], eax
add esp, 0xc
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
cmp byte [ebx + 0x13], 0
lea edi, [esi + 4]
push edi
jne 0x4fb706
push str.near___T_:_syntax_error
push ebx
call fcn.00544890
mov ecx, dword [edi]
add esp, 0xc
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push 0
push 0
mov edx, 0x84
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fb72c
mov ecx, dword [edi]
lea edx, [eax + 0x18]
inc ecx
call fcn.00543dd0
mov ecx, dword [edi]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
lea edi, [esi + 4]
mov edx, ebx
push edi
push 0x85
lea ecx, [esp + 0x3c]
call fcn.004fcc30
mov edx, dword [esp + 0x3c]
add esp, 8
mov ecx, ebx
call fcn.00526460
mov ecx, dword [edi]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov edx, dword [esi - 0x1c]
lea edi, [esi + 4]
push edi
mov ecx, ebx
call fcn.00527310
mov dword [esp + 0x38], eax
add esp, 4
mov eax, dword [esi - 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [edi]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push edi
push 0
push dword [esi - 0x2c]
mov edx, 0x25
mov ecx, ebx
call fcn.00526850
mov dword [esp + 0x40], eax
add esp, 0xc
mov eax, dword [esi - 0x4c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov eax, dword [edi]
test eax, eax
je 0x4fb7f0
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x60]
jle 0x4fb7f0
lea eax, [esi - 0x3c]
push eax
push str.too_many_arguments_on_function__T
push ebx
call fcn.00544890
add esp, 0xc
mov edx, dword [esp + 0x18]
lea edi, [esi - 0x3c]
push edi
mov ecx, ebx
mov edx, dword [edx]
call fcn.005266b0
mov ecx, dword [edi]
add esp, 4
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 8]
add ecx, dword [esi + 4]
cmp dword [esi - 0x1c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], ecx
je case.0x4fa509.10
test eax, eax
je case.0x4fa509.10
or word [eax + 2], 0x10
jmp case.0x4fa509.10
lea edi, [esi - 0x2c]
xor edx, edx
push edi
mov ecx, ebx
call fcn.005266b0
mov dword [esp + 0x38], eax
add esp, 4
mov eax, dword [edi]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
lea edi, [esi + 4]
xor edx, edx
push edi
mov ecx, ebx
call fcn.005266b0
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fb878
mov byte [eax], 0x9b
mov ecx, dword [edi]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
movzx eax, byte [esi - 0xe]
lea ecx, [esp + 0x3c]
push eax
call fcn.004fcbf0
add esp, 0xc
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 0
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 1
jmp case.0x4fa509.10
xorps xmm0, xmm0
mov dword [esp + 0x3c], 0
movq qword [esp + 0x34], xmm0
jmp case.0x4fa509.10
push dword [edi]
xor edx, edx
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi - 0x2c]
call fcn.00524f10
mov edx, eax
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x4fb92b
push eax
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov edx, eax
lea eax, [esi - 0x1c]
mov ecx, ebx
push eax
call fcn.005266b0
add esp, 4
mov ecx, eax
cmp dword [esi - 0x14], 0
mov dword [esp + 0x34], ecx
je 0x4fb95f
push 0
push 0
push ecx
mov edx, 0x13
mov ecx, ebx
call fcn.00526850
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x34], ecx
mov eax, dword [esi - 0x28]
mov dword [esp + 0x38], eax
mov eax, dword [esi - 4]
mov dword [esp + 0x3c], eax
test ecx, ecx
je case.0x4fa509.10
mov eax, 0x80
or word [ecx + 2], ax
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, ebx
push eax
movzx eax, byte [esi + 2]
lea ecx, [esp + 0x38]
push edi
push eax
call fcn.004fcb30
add esp, 0xc
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov edx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
push 0x4a
lea ecx, [esp + 0x40]
call fcn.004fcb30
add esp, 0xc
jmp case.0x4fa509.10
lea edi, [esi + 4]
mov edx, ebx
push edi
lea eax, [esi - 0x1c]
push eax
push 0x46
lea ecx, [esp + 0x40]
call fcn.004fcbf0
mov eax, dword [ebx]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0x4fa509.10
mov eax, dword [edi]
cmp byte [eax], 0x62
jne case.0x4fa509.10
mov eax, dword [esp + 0x34]
mov byte [eax], 0x49
jmp case.0x4fa509.10
lea edi, [esi + 4]
mov edx, ebx
push edi
lea eax, [esi - 0x2c]
push eax
push 0x92
lea ecx, [esp + 0x40]
call fcn.004fcbf0
mov eax, dword [ebx]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0x4fa509.10
mov eax, dword [edi]
cmp byte [eax], 0x62
jne case.0x4fa509.10
mov eax, dword [esp + 0x34]
mov byte [eax], 0x4a
jmp case.0x4fa509.10
push edi
lea eax, [esi + 4]
mov edx, ebx
push eax
movzx eax, byte [esi - 0xe]
lea ecx, [esp + 0x3c]
push eax
call fcn.004fca70
add esp, 0xc
jmp case.0x4fa509.10
push edi
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x9c
lea ecx, [esp + 0x40]
call fcn.004fca70
add esp, 0xc
jmp case.0x4fa509.10
push edi
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x9d
lea ecx, [esp + 0x40]
call fcn.004fca70
add esp, 0xc
jmp case.0x4fa509.10
push dword [esi - 0x1c]
xor edx, edx
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi + 4]
call fcn.00524f10
add esp, 4
mov dword [esp + 0x18], eax
mov edx, 0x47
mov ecx, ebx
push 0
push 0
push dword [esi - 0x3c]
call fcn.00526850
mov edx, dword [esp + 0x24]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x34], edi
test edi, edi
je 0x4fbad8
mov dword [edi + 0x10], edx
jmp 0x4fbadf
mov ecx, dword [ebx]
call fcn.00524b90
cmp dword [esi - 0x2c], 0
je 0x4fbafd
push 0
push 0
push edi
mov edx, 0x13
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
mov eax, dword [esi - 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push 0
push 0
push dword [esi - 0x3c]
mov edx, 0x48
mov ecx, ebx
call fcn.00526850
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fbb3e
mov dword [eax + 0x10], edx
mov ecx, ebx
mov edx, eax
call fcn.00526cf0
jmp 0x4fbb45
mov ecx, dword [ebx]
call fcn.00524b90
cmp dword [esi - 0x2c], 0
je 0x4fbb66
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x13
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
mov eax, dword [esi - 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push 0
push 0
push 0
mov edx, 0x73
mov ecx, ebx
call fcn.00526850
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fbbb5
mov dword [eax + 0x10], edx
mov ecx, 0x1000
or word [eax + 2], cx
mov edx, eax
mov ecx, ebx
call fcn.00526cf0
jmp 0x4fb596
mov ecx, dword [ebx]
call fcn.0050dde0
jmp 0x4fb596
push 0
push 0
push dword [esi - 0x3c]
mov edx, 0x48
mov ecx, ebx
call fcn.00526850
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fbbf8
mov dword [eax + 0x10], edx
mov ecx, 0x1000
or word [eax + 2], cx
mov edx, eax
mov ecx, ebx
call fcn.00526cf0
jmp 0x4fbbff
mov ecx, dword [ebx]
call fcn.0050dde0
cmp dword [esi - 0x2c], 0
je 0x4fbc20
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x13
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
mov eax, dword [esi - 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
push edi
xor edx, edx
call fcn.0051a4d0
push 0
push 0
push dword [esi - 0x2c]
mov edx, 0x48
mov dword [esp + 0x2c], eax
mov ecx, ebx
call fcn.00526850
mov edi, eax
add esp, 0x14
mov dword [esp + 0x34], edi
test edi, edi
je 0x4fbc9d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x34]
xor edx, edx
mov ecx, ebx
call fcn.0050de40
mov dword [edi + 0x10], eax
add esp, 0x20
mov eax, 0x1000
mov edx, edi
or word [edi + 2], ax
mov ecx, ebx
call fcn.00526cf0
jmp 0x4fbca8
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx]
call fcn.0051a2c0
cmp dword [esi - 0x1c], 0
je 0x4fbcc6
push 0
push 0
push edi
mov edx, 0x13
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 4]
mov eax, dword [esi - 0x28]
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x4fbce2
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov eax, dword [esi - 0xc]
add eax, dword [esi - 8]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push 0
push 0
push 0
mov edx, 0x14
mov ecx, ebx
call fcn.00526850
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fbd3b
mov ecx, 0x1000
mov dword [eax + 0x10], edx
or word [eax + 2], cx
mov edx, eax
mov ecx, ebx
call fcn.00526cf0
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov ecx, dword [ebx]
call fcn.0050dde0
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push 0
push dword [edi]
mov edx, 0x86
mov ecx, ebx
push dword [esi - 0x2c]
call fcn.00526850
mov edx, dword [esi - 0x1c]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fbd9b
mov dword [eax + 0x10], edx
mov ecx, ebx
mov edx, eax
call fcn.00526cf0
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov ecx, dword [ebx]
call fcn.00524b90
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov edx, dword [esi - 0x3c]
push dword [esi - 0x1c]
mov ecx, ebx
call fcn.00524f10
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi + 4]
call fcn.00524f10
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
xor edx, edx
jmp 0x4fbdbb
push dword [esi - 0x6c]
mov ecx, dword [ebx]
lea eax, [esi + 4]
push 0
push eax
lea eax, [esi - 0x9c]
xor edx, edx
push eax
push dword [esi - 0x8c]
lea eax, [esi - 0x2c]
push dword [edi]
push 0
push eax
call fcn.0051a4d0
add esp, 8
lea edx, [esi - 0x5c]
mov ecx, ebx
push eax
lea eax, [esi - 0x4c]
push eax
call fcn.0051af30
add esp, 0x20
jmp case.0x4fa509.10
mov dword [esp + 0x34], 2
jmp case.0x4fa509.10
xor eax, eax
cmp dword [esi - 8], eax
jbe 0x4fbe68
mov ecx, dword [ebx]
mov edx, 0x98
push eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
call fcn.00526ab0
push edi
mov edx, eax
mov dword [esp + 0x2c], eax
mov ecx, ebx
call fcn.00527310
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esi - 0x3c]
mov ecx, ebx
push eax
call fcn.00524f10
add esp, 4
lea ecx, [esi - 0x1c]
mov edi, eax
mov edx, edi
mov dword [esp + 0x34], edi
push 1
push ecx
mov ecx, ebx
call fcn.00524e30
add esp, 8
test edi, edi
je case.0x4fa509.10
mov ecx, dword [ebx]
mov eax, dword [edi]
cmp eax, dword [ecx + 0x50]
jle 0x4fbeb2
push str.index
push str.too_many_columns_in__s
push ebx
call fcn.00544890
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [esi + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0x4fa509.10
xor eax, eax
cmp dword [esi - 8], eax
jbe 0x4fbef4
push eax
push eax
push eax
mov edx, 0x98
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x20], eax
mov edx, eax
mov ecx, ebx
push edi
call fcn.00527310
mov eax, dword [esp + 0x24]
add esp, 4
push eax
xor edx, edx
mov ecx, ebx
call fcn.00524f10
add esp, 4
lea ecx, [esi - 0x1c]
mov edi, eax
mov edx, edi
mov dword [esp + 0x34], edi
push 1
push ecx
mov ecx, ebx
call fcn.00524e30
add esp, 8
test edi, edi
je case.0x4fa509.10
mov ecx, dword [ebx]
mov eax, dword [edi]
cmp eax, dword [ecx + 0x50]
jle 0x4fbeb2
push str.index
push str.too_many_columns_in__s
push ebx
call fcn.00544890
mov eax, dword [edi]
add esp, 0xc
mov ecx, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [esi + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jmp case.0x4fa509.10
push dword [edi]
mov edx, dword [esi + 4]
mov ecx, ebx
call fcn.0051ac60
add esp, 4
jmp case.0x4fa509.10
push 0
lea eax, [esi + 4]
mov edx, edi
push 0
push eax
mov ecx, ebx
call fcn.0050f5e0
add esp, 0xc
jmp case.0x4fa509.10
push 0
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
lea edx, [esi - 0x2c]
push eax
call fcn.0050f5e0
add esp, 0xc
jmp case.0x4fa509.10
push 0
lea eax, [esi - 0x2c]
mov ecx, ebx
push edi
push eax
lea edx, [esi - 0x3c]
call fcn.0050f5e0
add esp, 0xc
jmp case.0x4fa509.10
push 1
jmp 0x4fbf95
push 1
lea eax, [esi - 0x2c]
mov ecx, ebx
push edi
lea edx, [esi - 0x3c]
push eax
call fcn.0050f5e0
add esp, 0xc
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0x22
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0x1e
jmp case.0x4fa509.10
mov dword [esp + 0x34], 0x30
jmp case.0x4fa509.10
movzx eax, byte [esi + 2]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
mov dword [esp + 0x34], 0x6a
mov dword [esp + 0x38], eax
jmp case.0x4fa509.10
mov eax, dword [esi - 0x1c]
mov ecx, dword [eax + 0x24]
mov eax, dword [edi]
mov dword [ecx + 0x20], eax
mov ecx, dword [esi - 0x1c]
mov eax, dword [edi]
mov dword [ecx + 0x24], eax
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov eax, dword [edi]
mov dword [eax + 0x24], eax
mov eax, dword [edi]
mov dword [esp + 0x34], eax
jmp case.0x4fa509.10
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
push str.qualified_table_names_are_not_allowed_on_INSERT__UPDATE__and_DELETE_statements_within_triggers
push ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
call fcn.00544890
add esp, 8
jmp case.0x4fa509.10
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push ebx
call fcn.00544890
add esp, 8
jmp case.0x4fa509.10
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push ebx
call fcn.00544890
add esp, 8
jmp case.0x4fa509.10
push 0
push 0
push 0
mov edx, 0x38
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fc0cc
mov byte [eax + 1], 4
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
push edi
push 0
push 0
mov edx, 0x38
mov ecx, ebx
call fcn.00526850
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fc104
mov cl, byte [esi - 0x2c]
mov byte [eax + 1], cl
mov eax, dword [esi - 0x4c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esp + 0x3c], eax
jmp case.0x4fa509.10
mov dword [esp + 0x34], 1
jmp case.0x4fa509.10
mov dword [esp + 0x34], 3
jmp case.0x4fa509.10
push dword [esi + 4]
mov edx, 0x18
push dword [edi]
push dword [esi - 0x2c]
push ecx
push 0x583fa4
mov ecx, ebx
call fcn.0051ee60
add esp, 0x14
jmp case.0x4fa509.10
push dword [esi + 4]
mov edx, 0x19
push 0
push 0
push ecx
push 0x5845dc
mov ecx, ebx
call fcn.0051ee60
add esp, 0x14
jmp case.0x4fa509.10
mov edx, dword [esi - 0x2c]
lea eax, [esi + 4]
push eax
mov ecx, ebx
call fcn.005204e0
add esp, 4
jmp case.0x4fa509.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051ffd0
jmp case.0x4fa509.10
mov eax, dword [ebx]
mov ecx, ebx
mov byte [eax + 0xe2], 0
mov edx, dword [esi + 4]
call fcn.0051fbb0
jmp case.0x4fa509.10
xor edx, edx
mov ecx, ebx
call fcn.00503360
jmp case.0x4fa509.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00503360
jmp case.0x4fa509.10
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
lea edx, [esi - 0x2c]
call fcn.00503640
add esp, 8
jmp case.0x4fa509.10
mov ecx, ebx
call fcn.00503560
mov dword [ebx + 0x1f4], 0
mov dword [ebx + 0x1f8], 0
jmp case.0x4fa509.10
mov ecx, dword [ebx + 0x1f4]
mov eax, dword [esi + 4]
test ecx, ecx
jne 0x4fc214
mov dword [ebx + 0x1f4], eax
mov eax, dword [esi + 8]
jmp 0x4fc219
sub eax, ecx
add eax, dword [esi + 8]
mov dword [ebx + 0x1f8], eax
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
mov al, byte [ecx*2 + 0x568c28]
movzx edx, byte [ecx*2 + 0x568c29]
mov ecx, dword [ebx]
mov byte [esp + 0xf], al
sub ecx, edx
movzx edi, byte [esp + 0xf]
mov eax, edx
shl eax, 4
sub esi, eax
mov dword [ebx], ecx
movzx eax, word [esi]
movsx eax, word [eax*2 + 0x5691b0]
add eax, edi
movzx eax, word [eax*2 + 0x569898]
mov ebx, eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x1c]
cmp eax, 0x275
jae 0x4fc2bc
test edx, edx
je 0x4fc2a3
movq xmm0, qword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [ebx], eax
mov eax, dword [esp + 0x30]
mov word [esi + 0x10], ax
mov al, byte [esp + 0xf]
mov byte [esi + 0x12], al
mov eax, dword [esp + 0x3c]
movq qword [esi + 0x14], xmm0
mov dword [esi + 0x1c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x34]
mov edx, eax
push ecx
push edi
mov ecx, ebx
call fcn.004fc6c0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 8]
test ecx, ecx
js 0x4fc2e1
shl ecx, 4
lea eax, [ebx + 0x10]
add eax, ecx
push eax
mov dl, byte [ecx + ebx + 0xe]
mov ecx, ebx
call fcn.004fc8b0
add esp, 4
add dword [ebx], 0xffffffff
mov ecx, dword [ebx]
jns 0x4fc2c3
pop edi
mov dword [ebx + 8], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret