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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov edi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3c], edi
mov ecx, dword [esi + 8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], ebx
test ecx, ecx
jne 0x47b3d7
xor eax, eax
jmp 0x47c0b2
test edi, edi
je 0x47be93
movzx edx, byte [edi]
mov dword [esp + 0x1c], edx
cmp edx, 0x94
jg 0x47b43e
je 0x47b719
cmp edx, 0x39
jle 0x47b52f
cmp edx, 0x6e
jg 0x47be96
je 0x47b606
cmp edx, 0x47
je 0x47b4be
cmp edx, 0x4d
je 0x47b45b
cmp edx, 0x62
jle case.0x47b454.152
cmp edx, 0x6c
jle 0x47b570
cmp edx, 0x6d
jne case.0x47b454.152
mov edi, dword [edi + 0xc]
mov dword [esp + 0x3c], edi
jmp 0x47b3d7
lea eax, [edx - 0x95]
cmp eax, 0x1b
ja case.0x47b454.152
movzx eax, byte [eax + 0x47c100]
jmp dword [eax*4 + 0x47c0bc]
mov eax, dword [edi + 0x2c]
mov edx, 0x95
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
push ebx
movsx ecx, word [eax + 0x2a]
movsx eax, word [edi + 0x20]
inc ecx
imul ecx, dword [edi + 0x1c]
mov ebx, dword [ebp + 8]
push ebx
inc ecx
add eax, ecx
mov ecx, esi
push eax
call fcn.00469c0b
movzx eax, word [edi + 0x20]
add esp, 0xc
test ax, ax
js 0x47c06f
movsx edx, ax
mov eax, dword [esp + 0x20]
add edx, edx
mov eax, dword [eax + 4]
cmp byte [eax + edx*8 + 0xd], 0x45
jne 0x47c06f
xor eax, eax
mov ecx, esi
push eax
push eax
push ebx
push 0x54
pop edx
jmp 0x47b5a2
cmp dword [esi + 0x78], ebx
jne 0x47b4d6
push str.RAISE___may_only_be_used_within_a_trigger_program
push esi
call fcn.004542c2
pop ecx
xor eax, eax
jmp 0x47c0b1
cmp byte [edi + 1], 2
jne 0x47b4e9
cmp dword [esi + 0x74], ebx
mov eax, esi
cmovne eax, dword [esi + 0x74]
mov byte [eax + 0x15], 1
mov al, byte [edi + 1]
push ebx
cmp al, 4
jne 0x47b516
mov esi, dword [edi + 8]
push 4
push ebx
push 0x45
pop edx
call fcn.00469c0b
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push ebx
push esi
call fcn.0046a2ad
pop ecx
pop ecx
jmp 0x47c06f
push ebx
push dword [edi + 8]
movsx eax, al
mov edx, 0x713
push eax
mov ecx, esi
call fcn.00485617
jmp 0x47c06c
cmp edx, 0x34
jge 0x47b94e
cmp edx, 0x2d
jg 0x47b620
je case.0x47b454.166
cmp edx, 0x13
je 0x47b606
cmp edx, 0x14
je 0x47c04b
cmp edx, 0x24
je 0x47b5af
cmp edx, 0x2a
jle case.0x47b454.152
cmp edx, 0x2c
jg case.0x47b454.152
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0047c1b7
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x34]
push eax
call fcn.0047c1b7
pop ecx
mov ecx, dword [ebp + 8]
push ecx
push esi
mov edx, dword [esp + 0x24]
push eax
mov ecx, dword [esp + 0x1c]
call fcn.00469c0b
add esp, 0xc
jmp 0x47c06f
mov ebx, dword [ebp + 8]
mov ecx, esi
mov edx, dword [edi + 0xc]
push ebx
call fcn.0047b3a0
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], eax
pop ecx
cmp eax, ebx
je 0x47b5df
push 0
push ebx
push eax
push 0x4f
pop edx
mov ecx, esi
call fcn.00469c0b
add esp, 0xc
mov dword [esp + 0x34], ebx
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.00481ed6
push 0
movsx eax, al
mov ecx, esi
push eax
push ebx
push 0x55
pop edx
call fcn.00469c0b
mov eax, dword [esp + 0x40]
add esp, 0xc
jmp 0x47c0b2
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0047c1b7
pop ecx
mov ecx, dword [ebp + 8]
push ebx
push ecx
jmp 0x47b599
cmp edx, 0x30
je 0x47b708
cmp edx, 0x31
je 0x47b69b
lea eax, [edx - 0x32]
cmp eax, 1
ja case.0x47b454.152
push ebx
mov ebx, dword [ebp + 8]
push ebx
push 1
push 0x46
pop edx
call fcn.00469c0b
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
add esp, 0xc
mov ecx, esi
push eax
call fcn.0047c1b7
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
pop ecx
xor ecx, ecx
push ecx
push ecx
push eax
mov ecx, edi
call fcn.00469c0b
add esp, 0xc
mov esi, eax
xor eax, eax
mov ecx, edi
push eax
push ebx
push eax
push 0x46
pop edx
call fcn.00469c0b
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0046a36b
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
jmp 0x47c06f
mov esi, dword [esi + 0x38]
mov eax, dword [esp + 0x18]
dec esi
push ebx
mov ebx, dword [ebp + 8]
push ebx
push 0
push 0x49
lea edi, [esi - 1]
pop edx
mov dword [eax + 0x38], edi
call fcn.00469c0b
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, dword [esp + 0x18]
push edi
push esi
call fcn.0047abed
mov ecx, dword [esp + 0x18]
push 0
push ebx
push 1
push 0x46
pop edx
call fcn.00469c0b
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00469efd
xor eax, eax
mov ecx, esi
push eax
push eax
push ebx
push 0x53
pop edx
call fcn.00469c0b
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.00469efd
jmp 0x47b762
push ebx
push ebx
mov ebx, dword [ebp + 8]
mov edx, edi
push ebx
mov ecx, esi
call fcn.0047c439
jmp 0x47b75f
mov ebx, dword [ebp + 8]
mov edx, dword [edi + 8]
push ebx
push 0
call fcn.0047b0f6
pop ecx
mov eax, ebx
jmp 0x47c0b1
movsx eax, word [edi + 0x22]
mov edx, dword [edi + 0x28]
imul eax, eax, 0x18
add eax, dword [edx + 0x1c]
cmp byte [edx], bl
jne 0x47b748
mov eax, dword [eax + 0x10]
jmp 0x47c0b2
cmp byte [edx + 1], bl
je case.0x47b454.162
mov ebx, dword [ebp + 8]
push ebx
push dword [eax + 0xc]
push dword [edx + 8]
push 0x5a
pop edx
call fcn.00469c0b
add esp, 0xc
mov eax, ebx
jmp 0x47c0b2
test byte [edi + 4], 8
mov edx, dword [edi + 0x1c]
je 0x47b7e2
mov ebx, dword [ebp + 8]
mov ecx, esi
mov edx, dword [edi + 0xc]
push ebx
call fcn.0047b3a0
movsx edx, word [edi + 0x20]
mov esi, eax
pop ecx
mov ecx, dword [edi + 0x2c]
call fcn.004782d3
movsx edi, al
cmp edi, 0x41
jle 0x47b7db
cmp esi, ebx
je 0x47b7b0
mov ecx, dword [esp + 0x10]
push 0
push ebx
push esi
push 0x4f
pop edx
call fcn.00469c0b
add esp, 0xc
mov esi, ebx
mov ecx, dword [esp + 0x10]
push 0
push 1
push esi
push 0x5b
pop edx
call fcn.00469c0b
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
lea eax, [edi*2 + 0x5edb3c]
push 0xffffffffffffffff
push eax
call fcn.0046a2ad
pop ecx
pop ecx
mov eax, esi
jmp 0x47c0b2
test edx, edx
jns 0x47b842
mov edx, dword [esi + 0x34]
test edx, edx
jns 0x47b841
movzx eax, word [edi + 0x20]
mov dword [esp + 0x34], eax
test ax, ax
js 0x47b839
movsx esi, ax
mov eax, dword [edi + 0x2c]
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x47b835
mov ecx, dword [esp + 0x10]
sub esi, edx
push ebx
mov ebx, dword [ebp + 8]
push ebx
push esi
push 0x4f
pop edx
call fcn.00469c0b
add esp, 0xc
xor eax, eax
push eax
push eax
push ebx
push 0x54
mov ecx, dword [esp + 0x20]
jmp 0x47b759
mov eax, dword [esp + 0x34]
cwde
sub eax, edx
jmp 0x47c0b2
dec edx
mov al, byte [edi + 0x26]
mov esi, ecx
mov ebx, dword [ebp + 8]
mov byte [esp + 0x27], al
movsx eax, word [edi + 0x20]
push ebx
push eax
push edx
mov edx, dword [edi + 0x2c]
call fcn.0047b25f
mov al, byte [esp + 0x33]
add esp, 0xc
test al, al
je 0x47b762
movzx edx, al
mov ecx, esi
call fcn.0046a0d0
jmp 0x47b762
mov ebx, dword [ebp + 8]
mov edx, edi
push ebx
push 0
mov ecx, esi
call fcn.0047b167
jmp 0x47b727
push ebx
mov ebx, dword [ebp + 8]
mov ecx, edi
push ebx
call fcn.004783d9
xor ecx, ecx
mov eax, dword [eax + 8]
cmp byte [eax + 4], cl
sete cl
push ecx
push 0x46
jmp 0x47b82c
mov esi, dword [edi + 8]
lea ecx, [esi + 2]
call fcn.004541bf
lea edx, [esi + 2]
mov esi, dword [esp + 0x10]
lea edi, [eax - 1]
mov ecx, dword [esi]
push edi
call fcn.00455033
pop ecx
push 0xfffffffffffffff9
push eax
push ebx
mov ebx, dword [ebp + 8]
mov eax, edi
cdq
mov ecx, esi
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4b
pop edx
call fcn.00469d31
add esp, 0x14
jmp 0x47b762
movsx eax, word [edi + 0x20]
push ebx
mov ebx, dword [ebp + 8]
push ebx
push eax
push 0x4c
pop edx
call fcn.00469c0b
mov eax, dword [edi + 8]
add esp, 0xc
cmp byte [eax + 1], 0
je 0x47b762
movsx edx, word [edi + 0x20]
mov ecx, dword [esi + 0xd8]
call fcn.004554aa
and dword [ecx], 0
mov edx, eax
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.0046a31f
pop ecx
jmp 0x47b762
mov eax, dword [edi + 0x1c]
jmp 0x47c0b2
xor eax, eax
mov ebx, 0x80
cmp edx, 0x2d
sete al
lea edx, [eax + 0x34]
mov dword [esp + 0x1c], edx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x20], ecx
call fcn.004786ae
cmp eax, 1
jle 0x47b973
mov ecx, dword [ebp + 8]
push ebx
push edx
push ecx
mov edx, edi
mov ecx, esi
call fcn.004787b8
jmp 0x47b5a7
lea eax, [esp + 0x14]
mov edx, ecx
push eax
mov ecx, esi
call fcn.0047c1b7
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x34]
push eax
call fcn.0047c1b7
mov edx, dword [esp + 0x24]
or ebx, 0x20
pop ecx
mov ecx, dword [ebp + 8]
push ebx
push ecx
mov ecx, dword [esp + 0x20]
push eax
push esi
push dword [esp + 0x2c]
push dword [edi + 0x10]
call fcn.0047864c
add esp, 0x18
jmp 0x47c06f
mov edx, dword [edi + 0xc]
mov al, byte [edx]
cmp al, 0x96
jne 0x47b9d0
mov ebx, dword [ebp + 8]
push ebx
push 1
jmp 0x47b883
cmp al, 0x94
jne 0x47b9e2
mov ebx, dword [ebp + 8]
mov edx, dword [edx + 8]
push ebx
push 1
jmp 0x47b722
lea eax, [esp + 0x14]
mov byte [esp + 0x7c], 0x96
push eax
lea edx, [esp + 0x80]
mov dword [esp + 0x84], 0x4400
mov ecx, esi
mov dword [esp + 0x88], ebx
call fcn.0047c1b7
mov edx, dword [edi + 0xc]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x34]
push eax
call fcn.0047c1b7
pop ecx
mov ecx, dword [ebp + 8]
push ecx
push esi
push eax
push 0x68
pop edx
jmp 0x47b59e
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0047c1b7
pop ecx
mov ecx, dword [edi + 0x10]
mov esi, eax
call fcn.004783d9
xor edx, edx
cmp byte [edi + 0x26], 0x2d
sete dl
xor ecx, ecx
mov eax, dword [eax + 8]
mov bl, byte [eax + 4]
test bl, bl
sete cl
xor eax, eax
xor edx, ecx
mov ecx, dword [ebp + 8]
push edx
test bl, bl
setne al
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push esi
push 0x58
pop edx
call fcn.00469e63
jmp 0x47c06c
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x47ba9a
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push esi
call fcn.004542c2
jmp 0x47b5a7
movsx ecx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
jmp 0x47c0b2
test dword [edi + 4], 0x1000000
mov eax, dword [esi]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ebx
mov al, byte [eax + 0x4e]
mov byte [esp + 0x28], al
je 0x47bad5
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 0x38]
jmp 0x47c0b2
cmp byte [esi + 0x17], bl
je 0x47bafa
push ebx
push 2
pop edx
mov ecx, edi
call fcn.00479d31
pop ecx
test eax, eax
je 0x47bafa
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.0047c11c
jmp 0x47c0b1
test dword [edi + 4], 0x4000
je 0x47bbba
mov dword [esp + 0x1c], ebx
mov eax, ebx
mov ecx, dword [edi + 8]
mov edx, ecx
push ebx
push dword [esp + 0x2c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x28]
push eax
mov dword [esp + 0x38], eax
call fcn.00485f48
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x47bdcd
cmp dword [eax + 0x14], ebx
jne 0x47bdcd
mov eax, dword [eax + 4]
test eax, 0x200
je 0x47bbd0
mov edi, dword [esp + 0x1c]
mov ecx, esi
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov ebx, dword [ebp + 8]
mov edx, dword [edi + 4]
push ebx
mov dword [esp + 0x34], eax
call fcn.0047c22f
mov eax, dword [esp + 0x30]
pop ecx
cmp eax, 1
jle 0x47bba8
add edi, 0x1c
dec eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
push 0
push dword [esp + 0x34]
push ebx
push 0x33
pop edx
call fcn.00469c0b
mov edx, dword [edi]
add esp, 0xc
mov ecx, esi
push ebx
call fcn.0047c22f
sub dword [esp + 0x24], 1
lea edi, [edi + 0x18]
pop ecx
jne 0x47bb7d
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
call fcn.00469efd
jmp 0x47c06f
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x47bb0b
mov eax, dword [ecx]
jmp 0x47bb0d
test eax, 0x400
je 0x47bbee
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.0047b3a0
jmp 0x47c0b1
mov ecx, dword [esp + 0x2c]
mov edx, ebx
mov dword [esp + 0x14], edx
test ecx, ecx
jle 0x47bc70
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x18], eax
cmp edx, 0x20
jge 0x47bc37
mov ecx, dword [eax]
xor edx, edx
push ebx
inc edx
call fcn.00479d31
mov edx, dword [esp + 0x18]
pop ecx
mov ecx, dword [esp + 0x2c]
test eax, eax
je 0x47bc33
mov eax, dword [esp + 0x30]
bts eax, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
test byte [edi + 4], 0x20
je 0x47bc5c
cmp dword [esp + 0x38], ebx
jne 0x47bc5c
mov edx, dword [eax]
mov ecx, esi
call fcn.00478414
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
inc edx
add eax, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
cmp edx, ecx
jl 0x47bc0b
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x47bcf0
cmp dword [esp + 0x30], ebx
je 0x47bc97
mov eax, dword [esi + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x2c], eax
jmp 0x47bcaa
mov edx, ecx
mov ecx, esi
call fcn.0047d619
mov edx, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x28]
test byte [eax + 4], 0xc0
je 0x47bcdc
mov ecx, dword [edx + 4]
mov cl, byte [ecx]
mov byte [esp + 0x27], cl
cmp cl, 0xa2
mov ecx, dword [esp + 0x14]
je 0x47bccd
cmp byte [esp + 0x27], 0xa4
jne 0x47bcdc
mov edi, dword [edx + 4]
mov al, byte [eax + 4]
and al, 0xc0
mov byte [edi + 0x26], al
mov edi, dword [esp + 0x3c]
push 3
push ebx
push ecx
mov ecx, esi
call fcn.0047c2fe
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x47bcf4
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x2c]
cmp eax, 2
jl 0x47bd1e
test byte [edi + 4], 0x80
je 0x47bd1e
push dword [edx + 0x1c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ecx, edi
push eax
call fcn.0049bc13
pop ecx
pop ecx
mov dword [esp + 0x28], eax
jmp 0x47bd2f
mov edi, dword [esp + 0x20]
test eax, eax
jle 0x47bd2b
push dword [edx + 4]
jmp 0x47bd0a
mov eax, dword [esp + 0x28]
test byte [eax + 4], 0x20
je 0x47bd6d
cmp dword [esp + 0x38], ebx
jne 0x47bd42
mov eax, dword [edi + 8]
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x10]
mov ecx, edi
push ebx
push ebx
push ebx
push 0x52
pop edx
call fcn.00469c0b
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0xfffffffffffffffe
push dword [esp + 0x3c]
call fcn.0046a2ad
mov eax, dword [esp + 0x30]
pop ecx
pop ecx
jmp 0x47bd71
mov edi, dword [esp + 0x10]
mov edx, dword [esi + 0x34]
mov ecx, edi
mov ebx, dword [ebp + 8]
neg edx
push 0xfffffffffffffff8
push eax
push ebx
push dword [esp + 0x20]
sbb edx, edx
push dword [esp + 0x40]
add edx, 0x3f
call fcn.00469d31
mov eax, dword [esp + 0x40]
add esp, 0x14
movzx edx, al
mov ecx, edi
call fcn.0046a0d0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47b762
cmp dword [esp + 0x30], 0
jne 0x47b762
mov edx, dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.0047d64f
add esp, 4
jmp 0x47b762
push dword [esp + 0x40]
push str.unknown_function:__s__
jmp 0x47ba8f
mov edx, dword [edi + 0xc]
cmp dword [edx + 0x1c], ebx
jne 0x47bdf0
mov ecx, esi
call fcn.0047a97d
mov ecx, dword [edi + 0xc]
mov dword [ecx + 0x1c], eax
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x47be13
mov ecx, dword [edi + 0xc]
call fcn.004786ae
cmp edx, eax
je 0x47be13
push eax
push edx
push str._d_columns_assigned__d_values
push esi
call fcn.004542c2
add esp, 0x10
mov eax, dword [edi + 0xc]
movsx ecx, word [edi + 0x20]
add ecx, dword [eax + 0x1c]
mov eax, ecx
jmp 0x47c0b2
push str.row_value_misused
push esi
call fcn.004542c2
jmp 0x47b50f
mov bl, byte [esi + 0x17]
xor eax, eax
push eax
push eax
push dword [edi + 0x1c]
push 0x15
pop edx
call fcn.00469c0b
mov ecx, dword [ebp + 8]
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 0xc
mov byte [eax + 0x17], 0
mov edx, dword [edi + 0xc]
push ecx
mov ecx, eax
call fcn.0047b3a0
mov dword [ebp + 8], eax
mov edx, esi
mov eax, dword [esp + 0x1c]
pop ecx
mov byte [eax + 0x17], bl
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0046a36b
mov ecx, dword [ebx + 0x6c]
mov edx, esi
mov dword [eax + 8], ecx
mov ecx, ebx
call fcn.0046a36b
mov ecx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
jmp 0x47c06f
push 0x75
pop edx
mov eax, edx
sub eax, 0x71
je 0x47c0a3
sub eax, 4
je 0x47c095
sub eax, 0x11
je 0x47c04b
mov edx, dword [edi + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], eax
lea ecx, [edx + 4]
mov dword [esp + 0x30], ebx
mov edx, dword [edx]
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], edi
test edi, edi
je 0x47bf79
push ebx
mov edx, edi
mov ecx, eax
call fcn.00479404
mov edi, eax
mov eax, dword [esp + 0x3c]
pop ecx
mov dword [esp + 0x28], edi
cmp byte [eax + 0x51], bl
je 0x47bf22
test edi, edi
je 0x47c06f
mov edx, edi
mov ecx, eax
call fcn.00478f74
jmp 0x47c06f
lea eax, [esp + 0x14]
mov edx, edi
push eax
mov ecx, esi
call fcn.0047b318
pop ecx
mov ecx, edi
mov edx, eax
call fcn.004783ee
push 0x34
push ebx
mov cl, byte [eax]
and dword [eax + 4], 0xffffefff
mov byte [eax + 0x26], cl
mov byte [eax], 0xab
mov dword [eax + 0x1c], edx
lea eax, [esp + 0x50]
push eax
call fcn.00589570
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x54]
mov edx, dword [esp + 0x28]
add esp, 0xc
mov byte [esp + 0x48], 0x35
mov dword [esp + 0x54], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp + 8]
lea eax, [edx - 1]
test eax, eax
jle 0x47bffc
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x40], 0
mov eax, dword [ecx]
je 0x47bf9e
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
jmp 0x47bfa2
mov dword [esp + 0x30], eax
dec dword [esi + 0x38]
mov esi, dword [esi + 0x38]
mov edi, dword [esp + 0x18]
push 0x10
push esi
push eax
push edi
call fcn.0047c806
mov edx, dword [esp + 0x30]
mov ecx, edi
push ebx
mov edx, dword [edx + 0x18]
call fcn.0047c22f
mov edi, dword [esp + 0x24]
add esp, 0x14
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.00469c64
mov edx, esi
mov ecx, edi
call fcn.00469efd
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
add ecx, 0x30
sub dword [esp + 0x3c], 1
mov dword [esp + 0x20], ecx
jne 0x47bf8b
mov edx, dword [esp + 0x1c]
jmp 0x47c000
mov edi, dword [esp + 0x10]
test dl, 1
je 0x47c01b
mov eax, dword [esp + 0x44]
mov ecx, esi
imul edx, edx, 0x18
push ebx
mov edx, dword [edx + eax - 0x14]
call fcn.0047c22f
pop ecx
jmp 0x47c02d
xor eax, eax
mov ecx, edi
push eax
push ebx
push eax
push 0x49
pop edx
call fcn.00469c0b
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x47c040
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.00478f74
mov edx, dword [esp + 0x2c]
mov ecx, edi
jmp 0x47bbb0
cmp edx, 0x86
jne 0x47c08a
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je 0x47c08a
push 1
push dword [eax]
push str.sub_select_returns__d_columns___expected__d
push esi
call fcn.004542c2
add esp, 0x10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0047d600
mov edx, dword [esp + 0x34]
call fcn.0047d600
mov eax, dword [ebp + 8]
jmp 0x47c0b2
mov edx, edi
mov ecx, esi
call fcn.0047a97d
jmp 0x47c0b2
push ebx
mov ebx, dword [ebp + 8]
push ebx
push 0
push 0x49
jmp 0x47b759
push dword [edi + 8]
mov edx, dword [ebp + 8]
call fcn.00469c75
mov eax, dword [ebp + 8]
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret