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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x56daf8]
movq xmm0, qword [0x56daf0]
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.0x4fd189.10
movzx eax, byte [eax + 0x4ff1f4]
jmp dword [eax*4 + 0x4fef6c]
mov byte [ebx + 0x1d0], 0
mov dword [ebx + 0x1b0], 0
jmp case.0x4fd189.10
mov byte [ebx + 0x1d0], 1
mov dword [ebx + 0x1b0], 0
jmp case.0x4fd189.10
mov byte [ebx + 0x1d0], 2
mov dword [ebx + 0x1b0], 0
jmp case.0x4fd189.10
mov ecx, ebx
call fcn.005215e0
jmp case.0x4fd189.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 0x4fd2c2
test ecx, ecx
je 0x4fd249
cmp byte [ecx + 0x1e], 0
jne 0x4fd2b1
cmp byte [ecx + 0xe2], 0
je 0x4fd249
mov eax, 0xe8
cmp ax, word [ecx + 0xe0]
ja 0x4fd249
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fd249
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 0x4fd26c
mov dword [ecx + 0xe8], eax
jmp 0x4fd26c
push 0xe8
call fcn.0054a0f0
mov ecx, dword [esp + 0x14]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd26c
test ecx, ecx
je 0x4fd268
mov byte [ecx + 0x1e], 1
test edi, edi
je 0x4fd2b1
push 0xe4
lea eax, [edi + 4]
push 0
push eax
call fcn.004359b0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [edi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4fd292
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 0x4fd2b3
xor edi, edi
mov eax, dword [esp + 0x18]
mov dword [ebx + 0xc], edi
test edi, edi
je case.0x4fd189.10
cmp eax, 7
je 0x4fd364
cmp dword [ecx + 4], 0
mov dword [esp + 0x14], 0
jle 0x4fd364
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 0x4fd300
mov ecx, edi
call fcn.00536b60
test eax, eax
jne 0x4fd33d
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 0x4fd356
or ecx, edx
mov dword [edi + 0x78], ecx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 4]
jl 0x4fd2e5
mov esi, dword [esp + 0x20]
mov ebx, dword [edi + 0xc]
cmp dword [edi + 0x10], ebx
jg 0x4fd37b
mov ecx, edi
call fcn.00536b60
test eax, eax
jne case.0x4fd189.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.0x4fd189.10
movzx eax, byte [esi + 2]
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov edi, dword [ebx + 0xc]
test edi, edi
jne 0x4fd49f
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4fd42a
cmp byte [ecx + 0x1e], 0
jne 0x4fd492
cmp byte [ecx + 0xe2], 0
je 0x4fd42a
mov eax, 0xe8
cmp ax, word [ecx + 0xe0]
ja 0x4fd42a
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fd42a
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 0x4fd44d
mov dword [ecx + 0xe8], eax
jmp 0x4fd44d
push 0xe8
call fcn.0054a0f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd44d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4fd449
mov byte [eax + 0x1e], 1
test edi, edi
je 0x4fd492
push 0xe4
lea eax, [edi + 4]
push 0
push eax
call fcn.004359b0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [edi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4fd473
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 0x4fd494
xor edi, edi
mov dword [ebx + 0xc], edi
test edi, edi
je case.0x4fd189.10
mov ebx, dword [edi + 0xc]
cmp dword [edi + 0x10], ebx
jg 0x4fd4b6
mov ecx, edi
call fcn.00536b60
test eax, eax
jne case.0x4fd189.10
mov eax, dword [edi + 0x14]
lea ecx, [ebx + ebx*4]
inc dword [edi + 0xc]
mov dword [eax + ecx*4 + 4], 1
jmp 0x4fd38c
mov edi, dword [ebx + 0xc]
test edi, edi
jne 0x4fd5a6
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x4fd531
cmp byte [ecx + 0x1e], 0
jne 0x4fd599
cmp byte [ecx + 0xe2], 0
je 0x4fd531
mov eax, 0xe8
cmp ax, word [ecx + 0xe0]
ja 0x4fd531
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fd531
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 0x4fd554
mov dword [ecx + 0xe8], eax
jmp 0x4fd554
push 0xe8
call fcn.0054a0f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd554
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4fd550
mov byte [eax + 0x1e], 1
test edi, edi
je 0x4fd599
push 0xe4
lea eax, [edi + 4]
push 0
push eax
call fcn.004359b0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [edi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4fd57a
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 0x4fd59b
xor edi, edi
mov dword [ebx + 0xc], edi
test edi, edi
je case.0x4fd189.10
mov ebx, dword [edi + 0xc]
cmp dword [edi + 0x10], ebx
jg 0x4fd5bd
mov ecx, edi
call fcn.00536b60
test eax, eax
jne case.0x4fd189.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 0x4fd39f
lea eax, [esi + 4]
xor edx, edx
push eax
mov ecx, ebx
call fcn.0051c970
add esp, 4
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov edx, 1
push eax
mov ecx, ebx
call fcn.0051c970
add esp, 4
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov edx, 2
push eax
mov ecx, ebx
call fcn.0051c970
add esp, 4
jmp case.0x4fd189.10
push dword [esi - 0x1c]
lea eax, [esi + 4]
mov edx, edi
push 0
sub esp, 8
mov ecx, ebx
push eax
call fcn.00520120
add esp, 0x14
jmp case.0x4fd189.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.0x4fd189.10
lea eax, [esi + 4]
mov edx, edi
push 0
push eax
mov ecx, ebx
call fcn.0051f160
add esp, 8
jmp case.0x4fd189.10
push dword [esi + 4]
xor edx, edx
mov ecx, ebx
push 0
call fcn.0051f160
mov eax, dword [esi + 4]
add esp, 8
mov edi, dword [ebx]
mov ebx, eax
test ebx, ebx
je case.0x4fd189.10
mov edx, ebx
mov ecx, edi
call fcn.00510d00
test edi, edi
je 0x4fd6d1
cmp ebx, dword [edi + 0xf0]
jb 0x4fd6d1
cmp ebx, dword [edi + 0xf4]
jae 0x4fd6d1
mov eax, dword [edi + 0xec]
mov dword [ebx], eax
dec dword [edi + 0xe4]
mov dword [edi + 0xec], ebx
jmp case.0x4fd189.10
push ebx
call fcn.00549d90
add esp, 4
jmp case.0x4fd189.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.0x4fd189.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051ffe0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp case.0x4fd189.10
mov eax, dword [ebx + 0x1e8]
lea edx, [esi + 4]
test eax, eax
je case.0x4fd189.10
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jl case.0x4fd189.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 0x4fd811
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4fd771
xor edi, edi
mov ecx, edi
call fcn.00547400
mov eax, dword [esp + 0x18]
jmp 0x4fd813
lea ecx, [eax + 1]
test ebx, ebx
je 0x4fd7d3
cmp byte [ebx + 0x1e], 0
je 0x4fd790
xor edi, edi
mov ecx, edi
call fcn.00547400
mov eax, dword [esp + 0x18]
jmp 0x4fd813
cmp byte [ebx + 0xe2], 0
je 0x4fd7d3
movzx eax, word [ebx + 0xe0]
cmp ecx, eax
jg 0x4fd7d3
mov edi, dword [ebx + 0xec]
test edi, edi
je 0x4fd7d3
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 0x4fd7ee
mov dword [ebx + 0xe8], eax
jmp 0x4fd7ee
push ecx
call fcn.0054a0f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd7ee
test ebx, ebx
je 0x4fd7ea
mov byte [ebx + 0x1e], 1
test edi, edi
je 0x4fd804
mov ebx, dword [esp + 0x20]
push ebx
push dword [esp + 0x18]
push edi
call fcn.00435270
add esp, 0xc
mov byte [edi + ebx], 0
mov ecx, edi
call fcn.00547400
mov eax, dword [esp + 0x18]
jmp 0x4fd813
xor edi, edi
mov ecx, edi
mov dword [eax - 0xc], edi
call fcn.0051ff00
mov ecx, dword [esp + 0x18]
mov byte [ecx - 2], al
jmp case.0x4fd189.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.0x4fd189.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.0x4fd189.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.0x4fd189.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051fca0
jmp case.0x4fd189.10
mov edx, edi
mov ecx, ebx
call fcn.0051fca0
jmp case.0x4fd189.10
mov ecx, dword [ebx]
mov eax, dword [esi + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x4fd8f1
cmp byte [ecx + 0x1e], 0
je 0x4fd8ab
xor edi, edi
jmp 0x4fd95c
cmp byte [ecx + 0xe2], 0
je 0x4fd8f1
mov eax, 0x40
cmp ax, word [ecx + 0xe0]
ja 0x4fd8f1
mov edi, dword [ecx + 0xec]
test edi, edi
je 0x4fd8f1
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 0x4fd911
mov dword [ecx + 0xe8], eax
jmp 0x4fd911
push 0x40
call fcn.0054a0f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd911
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fd90d
mov byte [eax + 0x1e], 1
test edi, edi
je 0x4fd958
push 0x40
push 0
push edi
call fcn.004359b0
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 0x4fd94f
mov ecx, 0x100
mov dword [edi + 8], eax
test word [eax + 2], cx
je 0x4fd94f
or word [edi + 2], cx
mov eax, dword [eax + 0x14]
mov dword [edi + 0x14], eax
mov ecx, edi
call fcn.005299a0
jmp 0x4fd9af
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x4fd9af
mov edx, eax
call fcn.00528ff0
mov ecx, dword [esp + 0x14]
cmp word [ecx + 2], 0
jl 0x4fd9af
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4fd9a6
cmp ecx, dword [edx + 0xf0]
jb 0x4fd9a6
cmp ecx, dword [edx + 0xf4]
jae 0x4fd9a6
mov eax, dword [edx + 0xec]
mov dword [ecx], eax
dec dword [edx + 0xe4]
mov dword [edx + 0xec], ecx
jmp 0x4fd9af
push ecx
call fcn.00549d90
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.0051fca0
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x5e
lea ecx, [esp + 0x28]
call fcn.004ff8b0
add esp, 8
lea edx, [esp + 0x20]
mov ecx, ebx
call fcn.0051fca0
jmp case.0x4fd189.10
mov ecx, dword [ebx + 0x1e8]
test ecx, ecx
je case.0x4fd189.10
mov eax, dword [ecx + 0xc]
cmp eax, 1
jl case.0x4fd189.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.0x4fd189.10
push dword [esi - 0x1c]
xor edx, edx
mov ecx, ebx
push dword [esi + 4]
push dword [edi]
call fcn.0051fb00
add esp, 0xc
jmp case.0x4fd189.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.0051dbb0
add esp, 0x20
jmp case.0x4fd189.10
mov edx, dword [edi]
mov ecx, ebx
call fcn.0051faa0
jmp case.0x4fd189.10
mov edx, dword [edi]
mov ecx, dword [ebx]
call fcn.00527810
jmp case.0x4fd189.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.0051f930
jmp case.0x4fd189.10
mov eax, dword [esi + 8]
not eax
and eax, dword [edi]
or eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0xff
jmp case.0x4fd189.10
mov eax, dword [esi + 4]
shl eax, 8
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0xff00
jmp case.0x4fd189.10
mov dword [esp + 0x34], 7
jmp case.0x4fd189.10
mov dword [esp + 0x34], 8
jmp case.0x4fd189.10
mov dword [esp + 0x34], 9
jmp case.0x4fd189.10
mov dword [esp + 0x34], 6
jmp case.0x4fd189.10
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
jmp case.0x4fd189.10
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jmp case.0x4fd189.10
mov edx, dword [esi - 0x2c]
mov ecx, ebx
push 0
push dword [esi - 0x1c]
push dword [esi + 4]
call fcn.0051fb00
add esp, 0xc
jmp case.0x4fd189.10
push 0
push 0
push 0
push 0
push dword [esi + 4]
push dword [esi - 0x1c]
jmp 0x4fda47
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.0051faa0
jmp case.0x4fd189.10
mov edx, dword [esi - 0x5c]
push ecx
push dword [esi - 0x1c]
push ecx
mov ecx, ebx
call fcn.0051eb80
add esp, 0xc
jmp case.0x4fd189.10
mov dword [esp + 0x34], 0x63
jmp case.0x4fd189.10
mov byte [esp + 0x34], 0x63
jmp case.0x4fd189.10
mov al, byte [esi + 4]
mov byte [esp + 0x34], al
jmp case.0x4fd189.10
mov dword [esp + 0x34], 4
jmp case.0x4fd189.10
mov dword [esp + 0x34], 5
jmp case.0x4fd189.10
push dword [edi]
mov edx, dword [esi + 4]
mov ecx, ebx
push 0
call fcn.0051eba0
add esp, 8
jmp case.0x4fd189.10
push dword [edi]
mov edx, dword [esi + 4]
mov ecx, ebx
push 1
call fcn.0051eba0
add esp, 8
jmp case.0x4fd189.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.00508120
mov edx, dword [esi + 4]
add esp, 4
mov ecx, dword [ebx]
call fcn.00510a60
jmp case.0x4fd189.10
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4fdc3d
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.0x4fd189.10
mov edx, dword [esi - 0x1c]
mov ecx, dword [ebx]
call fcn.00510a60
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov dword [esp + 0x34], 0x70
jmp case.0x4fd189.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.00510ac0
add esp, 0x20
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
push dword [edi]
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov edx, eax
cmp dword [esi + 8], 0
mov dword [esp + 0x34], edx
jbe 0x4fdcbc
lea eax, [esi + 4]
mov ecx, ebx
push 1
push eax
call fcn.00527ab0
mov edx, dword [esp + 0x3c]
add esp, 8
mov edi, dword [ebx]
test edx, edx
je case.0x4fd189.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 0x4fdd06
test ecx, ecx
je 0x4fdd06
cmp ecx, dword [edi + 0xf0]
jb 0x4fdd06
cmp ecx, dword [edi + 0xf4]
jae 0x4fdd06
mov eax, dword [edi + 0xec]
mov dword [ecx], eax
dec dword [edi + 0xe4]
mov dword [edi + 0xec], ecx
jmp 0x4fdd0f
push ecx
call fcn.00549d90
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 0x4fdd31
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [eax - 0xc], ebx
jmp case.0x4fd189.10
lea edx, [eax + 1]
test edi, edi
je 0x4fdd8f
cmp byte [edi + 0x1e], 0
je 0x4fdd4c
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [eax - 0xc], ebx
jmp case.0x4fd189.10
cmp byte [edi + 0xe2], 0
je 0x4fdd8f
movzx eax, word [edi + 0xe0]
cmp edx, eax
jg 0x4fdd8f
mov ebx, dword [edi + 0xec]
test ebx, ebx
je 0x4fdd8f
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 0x4fddae
mov dword [edi + 0xe8], eax
jmp 0x4fddae
push edx
call fcn.0054a0f0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4fddaa
test edi, edi
je 0x4fdda6
mov byte [edi + 0x1e], 1
test ebx, ebx
je 0x4fddc1
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
push edi
push ecx
push ebx
call fcn.00435270
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x14]
mov dword [eax - 0xc], ebx
jmp case.0x4fd189.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.00529730
mov edx, dword [edi]
mov ecx, ebx
push eax
call fcn.00527b90
add esp, 0xc
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov edx, 0x70
push eax
push 0
push 0
mov ecx, ebx
call fcn.005294d0
add esp, 0xc
lea ecx, [esi - 0x1c]
mov edx, 0x1a
mov edi, eax
push ecx
push 0
push 0
mov ecx, ebx
call fcn.005294d0
add esp, 0xc
mov edx, 0x75
mov ecx, ebx
push 0
push edi
push eax
call fcn.005294d0
mov edx, dword [esi - 0x2c]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov ecx, dword [ebx]
mov edx, 0x40
call fcn.00549b00
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov ecx, dword [esi + 4]
mov dword [esp + 0x34], ecx
call fcn.0051cd60
jmp case.0x4fd189.10
mov edx, dword [edi]
mov dword [esp + 0x34], edx
test edx, edx
je case.0x4fd189.10
movzx eax, word [edx]
test ax, ax
jle case.0x4fd189.10
cwde
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [esi + 4]
mov byte [edx + ecx*8 - 0x1b], al
jmp case.0x4fd189.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.0051cdf0
lea ecx, [esi - 0x1c]
mov dword [esp + 0x4c], eax
push ecx
mov edx, eax
mov ecx, ebx
call fcn.0051cda0
add esp, 0x1c
jmp case.0x4fd189.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.0051cdf0
add esp, 0x18
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
cmp dword [esi - 0x5c], 0
jne 0x4fdf35
cmp dword [esi - 0x18], 0
jne 0x4fdf35
cmp dword [edi], 0
jne 0x4fdf35
cmp dword [esi + 4], 0
jne 0x4fdf35
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov ecx, dword [esi - 0x3c]
call fcn.0051cd60
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.00510ac0
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.0051cdf0
add esp, 0x38
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
push edi
xor edx, edx
call fcn.0051d150
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
push 0
push 0
mov edx, edi
mov ecx, ebx
call fcn.005108e0
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
push 0
push edi
lea edx, [esi - 0x1c]
mov ecx, ebx
call fcn.005108e0
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
lea eax, [esi - 0x1c]
mov ecx, ebx
push edi
push eax
lea edx, [esi - 0x2c]
call fcn.005108e0
add esp, 8
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 1
jmp case.0x4fd189.10
push dword [edi]
mov edx, dword [esi - 0x2c]
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je case.0x4fd189.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.0x4fd189.10
push dword [edi]
xor edx, edx
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je case.0x4fd189.10
mov ecx, dword [eax + 0xc]
test ecx, ecx
je case.0x4fd189.10
mov al, byte [esi + 4]
mov byte [ecx + 0xc], al
jmp case.0x4fd189.10
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
jmp case.0x4fd189.10
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x38], eax
jmp case.0x4fd189.10
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov edx, dword [esi - 0x1c]
mov ecx, ebx
push edi
call fcn.0051cda0
mov edx, dword [esi - 0x1c]
add esp, 4
mov ecx, ebx
push dword [esi + 4]
call fcn.0051b430
add esp, 4
jmp case.0x4fd189.10
mov edx, dword [esi - 0x3c]
lea eax, [esi - 0x2c]
push eax
mov ecx, ebx
call fcn.0051cda0
mov eax, dword [edi]
add esp, 4
test eax, eax
je 0x4fe0e6
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x50]
jle 0x4fe0e6
push str.set_list
push str.too_many_columns_in__s
push ebx
call fcn.00547510
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.00506ea0
add esp, 0xc
jmp case.0x4fd189.10
mov edx, dword [esi - 0x3c]
push dword [esi + 4]
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
lea ecx, [esi - 0x1c]
mov edx, eax
push 1
push ecx
mov ecx, ebx
call fcn.00527ab0
add esp, 8
jmp case.0x4fd189.10
xor edx, edx
jmp 0x4fe105
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.00516ea0
add esp, 0x10
jmp case.0x4fd189.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.00516ea0
add esp, 0x10
jmp case.0x4fd189.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.00516ea0
add esp, 0x10
jmp case.0x4fd189.10
mov byte [esp + 0x34], 5
jmp case.0x4fd189.10
push dword [esi + 4]
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
push dword [esi + 4]
xor edx, edx
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov edx, dword [esi - 0x1c]
lea eax, [esi + 4]
mov ecx, dword [ebx]
push eax
call fcn.0051d680
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
xor edx, edx
call fcn.0051d680
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
movq xmm0, qword [esi + 4]
mov eax, dword [esi + 0xc]
movq qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], eax
jmp case.0x4fd189.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.0x4fd189.10
lea eax, [esi + 4]
mov edx, ebx
push eax
movzx eax, byte [esi + 2]
lea ecx, [esp + 0x38]
push eax
call fcn.004ff8b0
add esp, 8
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x1a
lea ecx, [esp + 0x3c]
call fcn.004ff8b0
add esp, 8
jmp case.0x4fd189.10
lea eax, [esi - 0x1c]
mov edx, 0x1a
push eax
push 0
push 0
mov ecx, ebx
call fcn.005294d0
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.005294d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push 0
push eax
push edi
call fcn.005294d0
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.0x4fd189.10
lea eax, [esi - 0x3c]
mov edx, 0x1a
push eax
push 0
push 0
mov ecx, ebx
call fcn.005294d0
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.005294d0
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.005294d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push 0
push eax
push edi
call fcn.005294d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push 0
push eax
push ebx
call fcn.005294d0
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.0x4fd189.10
cmp byte [ebx + 0x13], 0
lea edi, [esi + 4]
push edi
jne 0x4fe386
push str.near___T_:_syntax_error
push ebx
call fcn.00547510
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.0x4fd189.10
push 0
push 0
mov edx, 0x84
mov ecx, ebx
call fcn.005294d0
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fe3ac
mov ecx, dword [edi]
lea edx, [eax + 0x18]
inc ecx
call fcn.00546a50
mov ecx, dword [edi]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fd189.10
lea edi, [esi + 4]
mov edx, ebx
push edi
push 0x85
lea ecx, [esp + 0x3c]
call fcn.004ff8b0
mov edx, dword [esp + 0x3c]
add esp, 8
mov ecx, ebx
call fcn.005290e0
mov ecx, dword [edi]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fd189.10
mov edx, dword [esi - 0x1c]
lea edi, [esi + 4]
push edi
mov ecx, ebx
call fcn.00529f90
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.0x4fd189.10
push edi
push 0
push dword [esi - 0x2c]
mov edx, 0x25
mov ecx, ebx
call fcn.005294d0
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.0x4fd189.10
mov eax, dword [edi]
test eax, eax
je 0x4fe470
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x60]
jle 0x4fe470
lea eax, [esi - 0x3c]
push eax
push str.too_many_arguments_on_function__T
push ebx
call fcn.00547510
add esp, 0xc
mov edx, dword [esp + 0x18]
lea edi, [esi - 0x3c]
push edi
mov ecx, ebx
mov edx, dword [edx]
call fcn.00529330
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.0x4fd189.10
test eax, eax
je case.0x4fd189.10
or word [eax + 2], 0x10
jmp case.0x4fd189.10
lea edi, [esi - 0x2c]
xor edx, edx
push edi
mov ecx, ebx
call fcn.00529330
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.0x4fd189.10
lea edi, [esi + 4]
xor edx, edx
push edi
mov ecx, ebx
call fcn.00529330
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fe4f8
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.0x4fd189.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.004ff870
add esp, 0xc
jmp case.0x4fd189.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.0x4fd189.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.0x4fd189.10
xorps xmm0, xmm0
mov dword [esp + 0x3c], 0
movq qword [esp + 0x34], xmm0
jmp case.0x4fd189.10
push dword [edi]
xor edx, edx
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi - 0x2c]
call fcn.00527b90
mov edx, eax
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x4fe5ab
push eax
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov edx, eax
lea eax, [esi - 0x1c]
mov ecx, ebx
push eax
call fcn.00529330
add esp, 4
mov ecx, eax
cmp dword [esi - 0x14], 0
mov dword [esp + 0x34], ecx
je 0x4fe5df
push 0
push 0
push ecx
mov edx, 0x13
mov ecx, ebx
call fcn.005294d0
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.0x4fd189.10
mov eax, 0x80
or word [ecx + 2], ax
jmp case.0x4fd189.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.004ff7b0
add esp, 0xc
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov edx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
push 0x4a
lea ecx, [esp + 0x40]
call fcn.004ff7b0
add esp, 0xc
jmp case.0x4fd189.10
lea edi, [esi + 4]
mov edx, ebx
push edi
lea eax, [esi - 0x1c]
push eax
push 0x46
lea ecx, [esp + 0x40]
call fcn.004ff870
mov eax, dword [ebx]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0x4fd189.10
mov eax, dword [edi]
cmp byte [eax], 0x62
jne case.0x4fd189.10
mov eax, dword [esp + 0x34]
mov byte [eax], 0x49
jmp case.0x4fd189.10
lea edi, [esi + 4]
mov edx, ebx
push edi
lea eax, [esi - 0x2c]
push eax
push 0x92
lea ecx, [esp + 0x40]
call fcn.004ff870
mov eax, dword [ebx]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0x4fd189.10
mov eax, dword [edi]
cmp byte [eax], 0x62
jne case.0x4fd189.10
mov eax, dword [esp + 0x34]
mov byte [eax], 0x4a
jmp case.0x4fd189.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.004ff6f0
add esp, 0xc
jmp case.0x4fd189.10
push edi
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x9c
lea ecx, [esp + 0x40]
call fcn.004ff6f0
add esp, 0xc
jmp case.0x4fd189.10
push edi
lea eax, [esi + 4]
mov edx, ebx
push eax
push 0x9d
lea ecx, [esp + 0x40]
call fcn.004ff6f0
add esp, 0xc
jmp case.0x4fd189.10
push dword [esi - 0x1c]
xor edx, edx
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi + 4]
call fcn.00527b90
add esp, 4
mov dword [esp + 0x18], eax
mov edx, 0x47
mov ecx, ebx
push 0
push 0
push dword [esi - 0x3c]
call fcn.005294d0
mov edx, dword [esp + 0x24]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x34], edi
test edi, edi
je 0x4fe758
mov dword [edi + 0x10], edx
jmp 0x4fe75f
mov ecx, dword [ebx]
call fcn.00527810
cmp dword [esi - 0x2c], 0
je 0x4fe77d
push 0
push 0
push edi
mov edx, 0x13
mov ecx, ebx
call fcn.005294d0
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.0x4fd189.10
push 0
push 0
push dword [esi - 0x3c]
mov edx, 0x48
mov ecx, ebx
call fcn.005294d0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fe7be
mov dword [eax + 0x10], edx
mov ecx, ebx
mov edx, eax
call fcn.00529970
jmp 0x4fe7c5
mov ecx, dword [ebx]
call fcn.00527810
cmp dword [esi - 0x2c], 0
je 0x4fe7e6
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x13
mov ecx, ebx
call fcn.005294d0
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.0x4fd189.10
push 0
push 0
push 0
mov edx, 0x73
mov ecx, ebx
call fcn.005294d0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fe835
mov dword [eax + 0x10], edx
mov ecx, 0x1000
or word [eax + 2], cx
mov edx, eax
mov ecx, ebx
call fcn.00529970
jmp 0x4fe216
mov ecx, dword [ebx]
call fcn.00510a60
jmp 0x4fe216
push 0
push 0
push dword [esi - 0x3c]
mov edx, 0x48
mov ecx, ebx
call fcn.005294d0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fe878
mov dword [eax + 0x10], edx
mov ecx, 0x1000
or word [eax + 2], cx
mov edx, eax
mov ecx, ebx
call fcn.00529970
jmp 0x4fe87f
mov ecx, dword [ebx]
call fcn.00510a60
cmp dword [esi - 0x2c], 0
je 0x4fe8a0
push 0
push 0
push dword [esp + 0x3c]
mov edx, 0x13
mov ecx, ebx
call fcn.005294d0
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.0x4fd189.10
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
push edi
xor edx, edx
call fcn.0051d150
push 0
push 0
push dword [esi - 0x2c]
mov edx, 0x48
mov dword [esp + 0x2c], eax
mov ecx, ebx
call fcn.005294d0
mov edi, eax
add esp, 0x14
mov dword [esp + 0x34], edi
test edi, edi
je 0x4fe91d
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.00510ac0
mov dword [edi + 0x10], eax
add esp, 0x20
mov eax, 0x1000
mov edx, edi
or word [edi + 2], ax
mov ecx, ebx
call fcn.00529970
jmp 0x4fe928
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx]
call fcn.0051cf40
cmp dword [esi - 0x1c], 0
je 0x4fe946
push 0
push 0
push edi
mov edx, 0x13
mov ecx, ebx
call fcn.005294d0
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 0x4fe962
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x3c], eax
jmp case.0x4fd189.10
mov eax, dword [esi - 0xc]
add eax, dword [esi - 8]
mov dword [esp + 0x3c], eax
jmp case.0x4fd189.10
push 0
push 0
push 0
mov edx, 0x14
mov ecx, ebx
call fcn.005294d0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fe9bb
mov ecx, 0x1000
mov dword [eax + 0x10], edx
or word [eax + 2], cx
mov edx, eax
mov ecx, ebx
call fcn.00529970
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.0x4fd189.10
mov ecx, dword [ebx]
call fcn.00510a60
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.0x4fd189.10
push 0
push dword [edi]
mov edx, 0x86
mov ecx, ebx
push dword [esi - 0x2c]
call fcn.005294d0
mov edx, dword [esi - 0x1c]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fea1b
mov dword [eax + 0x10], edx
mov ecx, ebx
mov edx, eax
call fcn.00529970
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.0x4fd189.10
mov ecx, dword [ebx]
call fcn.00527810
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.0x4fd189.10
mov edx, dword [esi - 0x3c]
push dword [esi - 0x1c]
mov ecx, ebx
call fcn.00527b90
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi + 4]
call fcn.00527b90
add esp, 4
mov dword [esp + 0x34], eax
jmp case.0x4fd189.10
xor edx, edx
jmp 0x4fea3b
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.0051d150
add esp, 8
lea edx, [esi - 0x5c]
mov ecx, ebx
push eax
lea eax, [esi - 0x4c]
push eax
call fcn.0051dbb0
add esp, 0x20
jmp case.0x4fd189.10
mov dword [esp + 0x34], 2
jmp case.0x4fd189.10
xor eax, eax
cmp dword [esi - 8], eax
jbe 0x4feae8
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.00529730
push edi
mov edx, eax
mov dword [esp + 0x2c], eax
mov ecx, ebx
call fcn.00529f90
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esi - 0x3c]
mov ecx, ebx
push eax
call fcn.00527b90
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.00527ab0
add esp, 8
test edi, edi
je case.0x4fd189.10
mov ecx, dword [ebx]
mov eax, dword [edi]
cmp eax, dword [ecx + 0x50]
jle 0x4feb32
push str.index
push str.too_many_columns_in__s
push ebx
call fcn.00547510
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.0x4fd189.10
xor eax, eax
cmp dword [esi - 8], eax
jbe 0x4feb74
push eax
push eax
push eax
mov edx, 0x98
mov ecx, ebx
call fcn.005294d0
add esp, 0xc
mov dword [esp + 0x20], eax
mov edx, eax
mov ecx, ebx
push edi
call fcn.00529f90
mov eax, dword [esp + 0x24]
add esp, 4
push eax
xor edx, edx
mov ecx, ebx
call fcn.00527b90
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.00527ab0
add esp, 8
test edi, edi
je case.0x4fd189.10
mov ecx, dword [ebx]
mov eax, dword [edi]
cmp eax, dword [ecx + 0x50]
jle 0x4feb32
push str.index
push str.too_many_columns_in__s
push ebx
call fcn.00547510
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.0x4fd189.10
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jmp case.0x4fd189.10
push dword [edi]
mov edx, dword [esi + 4]
mov ecx, ebx
call fcn.0051d8e0
add esp, 4
jmp case.0x4fd189.10
push 0
lea eax, [esi + 4]
mov edx, edi
push 0
push eax
mov ecx, ebx
call fcn.00512260
add esp, 0xc
jmp case.0x4fd189.10
push 0
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
lea edx, [esi - 0x2c]
push eax
call fcn.00512260
add esp, 0xc
jmp case.0x4fd189.10
push 0
lea eax, [esi - 0x2c]
mov ecx, ebx
push edi
push eax
lea edx, [esi - 0x3c]
call fcn.00512260
add esp, 0xc
jmp case.0x4fd189.10
push 1
jmp 0x4fec15
push 1
lea eax, [esi - 0x2c]
mov ecx, ebx
push edi
lea edx, [esi - 0x3c]
push eax
call fcn.00512260
add esp, 0xc
jmp case.0x4fd189.10
mov dword [esp + 0x34], 0x22
jmp case.0x4fd189.10
mov dword [esp + 0x34], 0x1e
jmp case.0x4fd189.10
mov dword [esp + 0x34], 0x30
jmp case.0x4fd189.10
movzx eax, byte [esi + 2]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
jmp case.0x4fd189.10
mov eax, dword [esi + 4]
mov dword [esp + 0x34], 0x6a
mov dword [esp + 0x38], eax
jmp case.0x4fd189.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.0x4fd189.10
mov eax, dword [edi]
mov dword [eax + 0x24], eax
mov eax, dword [edi]
mov dword [esp + 0x34], eax
jmp case.0x4fd189.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.00547510
add esp, 8
jmp case.0x4fd189.10
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push ebx
call fcn.00547510
add esp, 8
jmp case.0x4fd189.10
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push ebx
call fcn.00547510
add esp, 8
jmp case.0x4fd189.10
push 0
push 0
push 0
mov edx, 0x38
mov ecx, ebx
call fcn.005294d0
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fed4c
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.0x4fd189.10
push edi
push 0
push 0
mov edx, 0x38
mov ecx, ebx
call fcn.005294d0
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x4fed84
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.0x4fd189.10
mov dword [esp + 0x34], 1
jmp case.0x4fd189.10
mov dword [esp + 0x34], 3
jmp case.0x4fd189.10
push dword [esi + 4]
mov edx, 0x18
push dword [edi]
push dword [esi - 0x2c]
push ecx
push 0x586fa4
mov ecx, ebx
call fcn.00521ae0
add esp, 0x14
jmp case.0x4fd189.10
push dword [esi + 4]
mov edx, 0x19
push 0
push 0
push ecx
push 0x5875dc
mov ecx, ebx
call fcn.00521ae0
add esp, 0x14
jmp case.0x4fd189.10
mov edx, dword [esi - 0x2c]
lea eax, [esi + 4]
push eax
mov ecx, ebx
call fcn.00523160
add esp, 4
jmp case.0x4fd189.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00522c50
jmp case.0x4fd189.10
mov eax, dword [ebx]
mov ecx, ebx
mov byte [eax + 0xe2], 0
mov edx, dword [esi + 4]
call fcn.00522830
jmp case.0x4fd189.10
xor edx, edx
mov ecx, ebx
call fcn.00505fe0
jmp case.0x4fd189.10
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00505fe0
jmp case.0x4fd189.10
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
lea edx, [esi - 0x2c]
call fcn.005062c0
add esp, 8
jmp case.0x4fd189.10
mov ecx, ebx
call fcn.005061e0
mov dword [ebx + 0x1f4], 0
mov dword [ebx + 0x1f8], 0
jmp case.0x4fd189.10
mov ecx, dword [ebx + 0x1f4]
mov eax, dword [esi + 4]
test ecx, ecx
jne 0x4fee94
mov dword [ebx + 0x1f4], eax
mov eax, dword [esi + 8]
jmp 0x4fee99
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 + 0x56bc18]
movzx edx, byte [ecx*2 + 0x56bc19]
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 + 0x56c1a0]
add eax, edi
movzx eax, word [eax*2 + 0x56c888]
mov ebx, eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x1c]
cmp eax, 0x275
jae 0x4fef3c
test edx, edx
je 0x4fef23
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.004ff340
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 8]
test ecx, ecx
js 0x4fef61
shl ecx, 4
lea eax, [ebx + 0x10]
add eax, ecx
push eax
mov dl, byte [ecx + ebx + 0xe]
mov ecx, ebx
call fcn.004ff530
add esp, 4
add dword [ebx], 0xffffffff
mov ecx, dword [ebx]
jns 0x4fef43
pop edi
mov dword [ebx + 8], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret