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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x1c], 0
push edi
mov edi, edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], edi
mov ebx, dword [esi + 8]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x10], 0
nop word [eax + eax]
test edi, edi
je case.0x100473a4.21
movzx edx, byte [edi]
mov dword [esp + 0x24], edx
lea eax, [edx - 0x13]
cmp eax, 0xa1
ja case.0x100473a4.21
movzx eax, byte [eax + 0x10048520]
jmp dword [eax*4 + 0x100484a8]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x14], edi
jmp 0x10047380
movsx eax, word [edi + 0x22]
mov edx, dword [edi + 0x28]
lea ecx, [eax + eax*4]
cmp byte [edx], 0
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov dword [esp + 0x14], eax
jne 0x100473d7
mov eax, dword [eax + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edx + 1], 0
je case.0x100473a4.166
mov edi, dword [eax]
mov ecx, ebx
mov esi, dword [ebp + 8]
movsx eax, word [eax + 0x12]
push esi
push eax
push dword [edx + 8]
mov edx, 0x5c
call fcn.10029290
mov eax, dword [esp + 0x20]
add esp, 0xc
movzx eax, word [eax + 0x10]
test ax, ax
js 0x10047f9a
movsx edx, ax
mov eax, dword [edi + 4]
add edx, edx
cmp byte [eax + edx*8 + 8], 0x45
jne 0x10047f9a
push esi
mov edx, 0x55
mov ecx, ebx
call fcn.10029360
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [edi + 4], 8
mov ecx, dword [edi + 0x1c]
je 0x10047537
mov edx, dword [ebp + 8]
mov ecx, esi
push edx
mov edx, dword [edi + 0xc]
call fcn.10047340
mov ecx, dword [edi + 0x2c]
add esp, 4
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x10047471
movsx edx, word [edi + 0x20]
call fcn.100406c0
mov cl, al
mov eax, dword [esp + 0x10]
jmp 0x10047474
mov cl, byte [edi + 1]
movsx ecx, cl
cmp ecx, 0x41
jle 0x1004752a
mov edx, dword [ebx + 0x74]
lea esi, [ecx*2 + 0x10110a84]
cmp dword [ebx + 0x78], edx
jg 0x100474ab
push 0
push 1
push eax
mov edx, 0x5e
mov ecx, ebx
call fcn.10029250
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
jmp 0x100474de
mov edi, dword [esp + 0x10]
lea eax, [edx + 1]
mov dword [ebx + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x1004752e
test edx, edx
jns 0x100474ee
mov edx, dword [ebx + 0x74]
dec edx
mov eax, dword [ebx + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10047516
push 0xffffffffffffffff
push esi
mov edx, eax
mov ecx, ebx
call fcn.1002a2c0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x1004752e
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xff
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x10]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
jns 0x1004761e
mov eax, dword [esi + 0x34]
test eax, eax
jns 0x1004761b
movzx ecx, word [edi + 0x20]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x1c], ecx
movsx ecx, cx
mov dword [esp + 0x14], edx
test ecx, ecx
jns 0x10047569
not eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [edx + 4]
mov edx, dword [esp + 0x1c]
shl ecx, 4
add edi, ecx
mov ecx, dword [esp + 0x14]
call fcn.10053d40
movsx ecx, ax
sub ecx, dword [esi + 0x34]
movzx eax, word [edi + 0xe]
mov dword [esp + 0x1c], ecx
test al, 0x60
je 0x100475eb
test eax, 0x100
je 0x100475b0
push dword [edi]
push str.generated_column_loop_on___s_
push esi
call fcn.10008be0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0x100
mov word [edi + 0xe], ax
movzx edx, ax
test al, al
jns 0x100475d8
mov edx, dword [esp + 0x14]
push ecx
push edi
mov ecx, esi
call fcn.10046b10
movzx edx, word [edi + 0xe]
add esp, 8
mov ecx, dword [esp + 0x1c]
and edx, 0xfe7f
mov word [edi + 0xe], dx
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 8], 0x45
jne 0x100475e2
mov esi, dword [ebp + 8]
mov edx, 0x4f
push esi
push ecx
mov ecx, ebx
call fcn.100293c0
push esi
mov edx, 0x55
mov ecx, ebx
call fcn.10029360
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax - 1]
mov al, byte [edi + 2]
mov edx, dword [ebp + 8]
push edx
mov edx, dword [edi + 0x2c]
mov byte [esp + 0x1f], al
movsx eax, word [edi + 0x20]
push eax
push ecx
mov ecx, ebx
call fcn.10046c60
add esp, 0xc
cmp byte [esp + 0x1b], 0
je 0x10047670
mov edx, dword [esi + 8]
mov eax, dword [edx]
mov ecx, dword [edx + 0x74]
dec ecx
cmp byte [eax + 0x53], 0
je 0x10047659
mov ecx, 0x1011f1ec
jmp 0x10047662
mov eax, dword [edx + 0x70]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
cmp byte [ecx], 0x5c
jne 0x10047670
movzx eax, byte [esp + 0x1b]
mov word [ecx + 2], ax
cmp dword [edi + 0x2c], 0
jne 0x10047f9a
cmp byte [edi + 1], 0x45
jne 0x10047f9a
push dword [ebp + 8]
mov edx, 0x55
mov ecx, ebx
call fcn.10029360
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov edx, edi
push ebx
push 0
call fcn.100468a0
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x100476d0
nop dword [eax]
test dword [edi + 4], 0x1000
je 0x100476d0
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x100476c0
mov eax, dword [edi + 8]
xor ecx, ecx
mov esi, dword [ebp + 8]
mov edx, 0x46
push esi
cmp byte [eax + 4], cl
sete cl
push ecx
mov ecx, ebx
call fcn.100293c0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov ecx, ebx
mov edx, dword [edi + 8]
push esi
push 0
call fcn.10046760
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 8]
mov edx, dword [ebp + 8]
mov ecx, ebx
call fcn.100294a0
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 8]
add edx, 2
jne 0x1004773a
xor esi, esi
jmp 0x1004774f
mov esi, edx
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10047740
sub esi, ecx
and esi, 0x3fffffff
mov ecx, dword [ebx]
dec esi
push esi
call fcn.10009d30
mov edi, eax
add esp, 4
mov eax, esi
mov esi, dword [ebx + 0x74]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
cmp dword [ebx + 0x78], esi
jg 0x10047787
push 0
push dword [ebp + 8]
mov ecx, ebx
push edx
mov edx, 0x4b
call fcn.10029250
add esp, 0xc
mov esi, eax
jmp 0x100477b5
lea eax, [esi + 1]
mov dword [ebx + 0x74], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
je 0x100477d6
test edi, edi
je 0x10047f9a
mov edx, edi
call fcn.10004cc0
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jns 0x100477de
mov esi, dword [ebx + 0x74]
dec esi
mov eax, dword [ebx + 0x70]
lea ecx, [esi + esi*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x10047807
push 0xfffffffffffffff9
push edi
mov edx, eax
mov ecx, ebx
call fcn.1002a2c0
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x10047f9a
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
movsx eax, word [edi + 0x20]
mov edx, 0x4c
push eax
mov ecx, ebx
call fcn.100293c0
mov eax, dword [edi + 8]
add esp, 8
cmp byte [eax + 1], 0
je 0x10047f9a
mov edx, dword [esi + 0xdc]
test edx, edx
je 0x1004786f
mov esi, dword [edx + 4]
mov eax, 2
movsx edi, word [edi + 0x20]
nop word [eax + eax]
cmp dword [edx + eax*4], edi
lea ecx, [edx + eax*4]
je 0x10047873
add eax, dword [ecx + 4]
cmp eax, esi
jl 0x10047860
xor ecx, ecx
jmp 0x10047876
add ecx, 8
mov dword [edx], 0
mov edx, ecx
push 0xffffffffffffffff
mov ecx, ebx
call fcn.1002a420
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
mov edx, dword [edi + 0xc]
call fcn.10047340
mov esi, dword [ebp + 8]
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, esi
je 0x100478cc
push esi
push eax
mov edx, 0x4f
mov ecx, ebx
call fcn.100293c0
add esp, 8
mov dword [esp + 0x14], esi
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.100545d0
movsx eax, al
mov edx, 0x56
push eax
push esi
mov ecx, ebx
call fcn.100293c0
mov eax, dword [esp + 0x1c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esp + 0x10], 0x80
cmp edx, 0x2d
sete al
lea edx, [eax + 0x34]
mov dword [esp + 0x24], edx
mov eax, dword [edi + 0xc]
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.10040ca0
mov ecx, esi
test eax, eax
je 0x1004793c
push dword [esp + 0x10]
push edx
push dword [ebp + 8]
mov edx, edi
call fcn.10040ea0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
call fcn.100487c0
mov edx, dword [edi + 0x10]
add esp, 4
mov dword [esp + 0x30], eax
mov ecx, esi
lea eax, [esp + 0x28]
push eax
call fcn.100487c0
add esp, 4
mov dword [esp + 0x1c], eax
mov edx, 0x46
mov ecx, ebx
push dword [ebp + 8]
push 1
call fcn.100293c0
mov eax, dword [edi + 4]
mov ecx, esi
mov edx, dword [esp + 0x1c]
shr eax, 9
and eax, 1
push eax
push dword [esp + 0x1c]
mov eax, dword [ebx + 0x74]
add eax, 2
push eax
push dword [esp + 0x30]
push dword [esp + 0x48]
push dword [esp + 0x40]
push dword [edi + 0x10]
call fcn.10040b00
add esp, 0x24
mov ecx, ebx
cmp dword [esp + 0x10], 0x80
jne 0x100479cd
push dword [ebp + 8]
mov edx, 0x46
push 0
call fcn.100293c0
add esp, 8
jmp 0x10047ba3
push dword [esp + 0x1c]
mov edx, 0x5a
push dword [ebp + 8]
push dword [esp + 0x38]
call fcn.10029290
add esp, 0xc
jmp 0x10047ba3
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
push eax
call fcn.100487c0
mov edx, dword [edi + 0x10]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov esi, eax
lea eax, [esp + 0x28]
push eax
call fcn.100487c0
mov edx, dword [ebp + 8]
add esp, 4
mov ecx, ebx
push edx
mov edx, dword [esp + 0x28]
push esi
push eax
call fcn.10029290
add esp, 0xc
jmp 0x10047b9f
mov edx, dword [edi + 0xc]
mov al, byte [edx]
cmp al, 0x9a
jne 0x10047a49
mov ebx, dword [ebp + 8]
push ebx
push 1
call fcn.100468a0
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x98
jne 0x10047a69
mov esi, dword [ebp + 8]
mov ecx, ebx
mov edx, dword [edx + 8]
push esi
push 1
call fcn.10046760
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
mov byte [esp + 0x74], 0x9a
push eax
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], 0x4400
mov dword [esp + 0x80], 0
call fcn.100487c0
mov edx, dword [edi + 0xc]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov esi, eax
lea eax, [esp + 0x28]
push eax
call fcn.100487c0
mov edx, dword [ebp + 8]
add esp, 4
mov ecx, ebx
push edx
push esi
push eax
mov edx, 0x6b
call fcn.10029290
add esp, 0xc
jmp 0x10047b9f
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
push eax
call fcn.100487c0
mov edx, dword [ebp + 8]
add esp, 4
mov ecx, ebx
push edx
mov edx, dword [esp + 0x28]
push eax
call fcn.100293c0
add esp, 8
jmp 0x10047ba3
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
push eax
call fcn.100487c0
mov dword [esp + 0x18], eax
add esp, 4
mov eax, dword [edi + 0x10]
test eax, eax
je 0x10047b15
test dword [eax + 4], 0x1000
je 0x10047b15
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10047b05
mov eax, dword [eax + 8]
xor ecx, ecx
cmp byte [edi + 2], 0x2d
sete cl
mov dl, byte [eax + 4]
xor eax, eax
test dl, dl
sete al
xor ecx, eax
xor eax, eax
test dl, dl
mov edx, 0x59
push ecx
setne al
mov ecx, ebx
push eax
push dword [ebp + 8]
push dword [esp + 0x20]
call fcn.10029b70
add esp, 0x10
jmp 0x10047ba3
push dword [ebp + 8]
mov edx, 0x46
mov ecx, ebx
push 1
call fcn.100293c0
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.100487c0
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.10029360
add esp, 4
mov edx, 0x46
mov ecx, ebx
mov esi, eax
push dword [ebp + 8]
push 0
call fcn.100293c0
add esp, 8
mov edx, esi
mov ecx, ebx
call fcn.10029fc0
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10047bbf
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x10047bbf
movzx eax, al
mov dword [esi + eax*4 + 0x98], ecx
inc byte [esi + 0x13]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1004847e
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x1004847e
movzx eax, al
mov dword [esi + eax*4 + 0x98], ecx
inc byte [esi + 0x13]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x28]
test eax, eax
je 0x10047c16
movzx ecx, word [edi + 0x22]
test cx, cx
js 0x10047c16
movsx ecx, cx
cmp ecx, dword [eax + 0x2c]
jge 0x10047c16
mov eax, dword [eax + 0x28]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + ecx*4 + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push esi
call fcn.10008be0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [edi + 4], 0x1000000
mov eax, dword [esi]
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], 0
mov al, byte [eax + 0x50]
mov byte [esp + 0x10], al
je 0x10047c64
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x17], 0
je 0x10047cb4
mov eax, 2
mov dword [esp + 0x44], fcn.10043a90
mov edx, edi
mov word [esp + 0x54], ax
lea ecx, [esp + 0x40]
mov dword [esp + 0x48], 0x10043940
mov dword [esp + 0x58], 0
call fcn.1003d7d0
cmp word [esp + 0x54], 0
je 0x10047cb4
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.100485d0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
je 0x10047cc3
mov eax, dword [eax]
jmp 0x10047cc5
xor eax, eax
mov ecx, dword [edi + 8]
mov edx, ecx
push 0
push dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x30], eax
call fcn.1005b9e0
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x10047fa4
cmp dword [eax + 0x14], 0
jne 0x10047fa4
mov ecx, dword [eax + 4]
test ecx, 0x400000
je 0x10047d21
push dword [ebp + 8]
mov edx, dword [esp + 0x2c]
mov ecx, esi
push dword [eax + 8]
call fcn.10047080
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, 0x280000
je 0x10047d36
push eax
mov edx, edi
mov ecx, esi
call fcn.100422b0
add esp, 4
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x10], eax
test ecx, ecx
jle 0x10047ded
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
add ecx, 8
mov dword [esp + 0x1c], ecx
xor ebx, ebx
nop dword [eax]
cmp eax, 0x20
jae 0x10047da5
mov edx, dword [ecx]
mov ecx, 1
mov word [esp + 0x54], cx
mov dword [esp + 0x44], fcn.10043a90
mov dword [esp + 0x48], 0x10043940
mov dword [esp + 0x58], 0
test edx, edx
je 0x10047da2
lea ecx, [esp + 0x40]
call fcn.1003d7d0
cmp word [esp + 0x54], 0
mov eax, dword [esp + 0x10]
je 0x10047da5
bts ebx, eax
test byte [edi + 4], 0x20
je 0x10047dc7
cmp dword [esp + 0x38], 0
jne 0x10047dc7
mov edx, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [edx]
call fcn.10040870
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc eax
add ecx, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x24]
jl 0x10047d60
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x10047e6d
cmp dword [esp + 0x1c], 0
je 0x10047e15
mov eax, dword [esi + 0x2c]
lea ebx, [eax + 1]
add eax, ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x2c], eax
jmp 0x10047e28
mov edx, ecx
mov ecx, esi
call fcn.1004a4e0
mov edx, dword [esp + 0x28]
mov ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
test al, 0xc0
je 0x10047e58
mov ebx, dword [edx + 8]
mov bl, byte [ebx]
mov byte [esp + 0x1b], bl
cmp bl, 0xa6
mov ebx, dword [esp + 0x34]
je 0x10047e4c
cmp byte [esp + 0x1b], 0xa8
jne 0x10047e58
mov ebx, dword [edx + 8]
and al, 0xc0
mov byte [ebx + 2], al
mov ebx, dword [esp + 0x34]
push 3
push 0
push ecx
mov ecx, esi
call fcn.10048910
mov edx, dword [esp + 0x34]
add esp, 0xc
jmp 0x10047e75
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x24]
cmp eax, 2
jl 0x10047e9e
test byte [edi + 4], 0x80
je 0x10047ea2
push dword [edx + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
push eax
call fcn.10089e40
add esp, 8
mov dword [esp + 0x20], eax
jmp 0x10047eab
test eax, eax
jle 0x10047ea7
push dword [edx + 8]
jmp 0x10047e87
mov eax, dword [esp + 0x20]
test byte [eax + 4], 0x20
je 0x10047f5e
cmp dword [esp + 0x38], 0
jne 0x10047ec7
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov edx, dword [ebx + 0x74]
cmp dword [ebx + 0x78], edx
jg 0x10047ee8
push 0
push 0
push 0
mov edx, 0x53
mov ecx, ebx
call fcn.10029250
add esp, 0xc
mov edx, eax
jmp 0x10047f1b
lea eax, [edx + 1]
mov dword [ebx + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4], 0x53
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x10047f5e
test edx, edx
jns 0x10047f2b
mov edx, dword [ebx + 0x74]
dec edx
mov eax, dword [ebx + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
je 0x10047f4f
push 0xfffffffffffffffe
push dword [esp + 0x3c]
mov edx, ecx
mov ecx, ebx
call fcn.1002a2c0
add esp, 8
jmp 0x10047f5e
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10047f5e
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfe
movzx eax, byte [edi + 2]
mov ecx, esi
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, edi
push eax
push dword [esp + 0x24]
push ebx
push dword [ebp + 8]
push dword [esp + 0x20]
call fcn.100297c0
add esp, 0x14
test ebx, ebx
je 0x10047f9a
test edi, edi
jne 0x10047f9a
mov edx, dword [esp + 0x10]
mov ecx, esi
push ebx
call fcn.1004a540
add esp, 4
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x3c]
push str.unknown_function:__s__
push esi
call fcn.10008be0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
jne 0x100475a7
cmp edx, 0x89
jne 0x1004800f
test dword [edi + 4], 0x800
je 0x1004800f
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x1004800f
cmp dword [esi + 0x24], 0
jne 0x1004847e
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push esi
call fcn.10008be0
mov eax, dword [ebp + 8]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, edi
call fcn.100451e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x1c], 0
jne 0x1004803a
mov edx, ecx
mov ecx, esi
call fcn.100451e0
mov ecx, eax
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi + 0xc]
call fcn.10040ce0
mov edx, dword [edi + 0x1c]
cmp edx, eax
je 0x10048059
push eax
push edx
push str._d_columns_assigned__d_values
push esi
call fcn.10008be0
mov ecx, dword [edi + 0xc]
add esp, 0x10
movsx eax, word [edi + 0x20]
add eax, dword [ecx + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esi + 0x38]
mov eax, ecx
push dword [ebp + 8]
dec esi
mov edx, 0x49
push 0
mov ecx, ebx
lea edi, [esi - 1]
mov dword [eax + 0x38], edi
call fcn.100293c0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
push edi
push esi
call fcn.10045740
push dword [ebp + 8]
mov edx, 0x46
mov ecx, ebx
push 1
call fcn.100293c0
mov edx, esi
mov ecx, ebx
call fcn.10029d40
mov esi, dword [ebp + 8]
mov edx, 0x54
push 0
push esi
mov ecx, ebx
call fcn.100293c0
add esp, 0x20
mov edx, edi
mov ecx, ebx
call fcn.10029d40
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov edx, edi
push 0
push 0
push ebx
call fcn.10048b40
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, word [edi + 0x20]
mov esi, dword [edi + 0x2c]
mov ecx, esi
movsx eax, dx
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], eax
call fcn.10053d40
movsx ecx, ax
mov edx, 0x9b
movsx eax, word [esi + 0x22]
inc ecx
mov esi, dword [ebp + 8]
inc eax
imul eax, dword [edi + 0x1c]
push esi
add eax, ecx
mov ecx, ebx
push eax
call fcn.100293c0
mov ecx, dword [esp + 0x44]
add esp, 8
test ecx, ecx
js 0x1004847e
mov eax, dword [esp + 0x14]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x1004847e
push esi
mov edx, 0x55
mov ecx, ebx
call fcn.10029360
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
push esi
call fcn.10008be0
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, 0x16
mov bl, byte [esi + 0x17]
call fcn.10029360
mov edx, dword [ebp + 8]
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, eax
mov byte [eax + 0x17], 0
push edx
mov edx, dword [edi + 0xc]
call fcn.10047340
mov ecx, dword [esp + 0x38]
add esp, 4
mov dword [ebp + 8], eax
mov edx, esi
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x17], bl
call fcn.10029fc0
push dword [ebp + 8]
mov ecx, dword [esp + 0x38]
mov edx, esi
call fcn.10029f60
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
xor edx, edx
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edx
lea ecx, [eax + 8]
mov eax, dword [eax]
dec dword [esi + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x1004828a
mov ecx, dword [esp + 0x14]
push edx
push edx
mov edx, eax
call fcn.100427c0
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], edi
cmp byte [eax + 0x53], 0
je 0x1004824e
test edi, edi
je 0x1004847e
mov edx, edi
mov ecx, eax
call fcn.10042580
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
mov edx, edi
push eax
mov ecx, esi
call fcn.10046ed0
add esp, 4
mov edx, eax
mov ecx, edi
call fcn.10046e90
push 0x34
lea eax, [esp + 0x44]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x4c]
add esp, 0xc
mov byte [esp + 0x40], 0x35
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x24]
mov edi, dword [ebp + 8]
dec eax
test eax, eax
jle 0x10048376
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x28], eax
mov ecx, dword [ecx]
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x10], 0
push 0x10
cmovne eax, ecx
cmove edx, ecx
dec dword [esi + 0x38]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x38]
push eax
push edx
push esi
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], eax
call fcn.10049090
mov edx, dword [esp + 0x40]
mov ecx, esi
push edi
mov edx, dword [edx + 0x14]
call fcn.100488c0
mov ecx, dword [ebx + 0x74]
add esp, 0x14
cmp dword [ebx + 0x78], ecx
jg 0x10048302
push 0
push dword [esp + 0x20]
mov edx, 0xb
mov ecx, ebx
push 0
call fcn.10029250
add esp, 0xc
jmp 0x10048335
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebx + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x3c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10048353
push edx
mov edx, ebx
call fcn.10029c70
add esp, 4
jmp 0x1004835c
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x74]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add ecx, 0x28
sub dword [esp + 0x28], 1
mov dword [esp + 0x30], ecx
jne 0x100482a2
mov eax, dword [esp + 0x24]
push edi
test al, 1
je 0x10048396
lea edx, [eax + eax*4]
mov ecx, esi
mov eax, dword [esp + 0x30]
mov edx, dword [eax + edx*4 - 0xc]
call fcn.100488c0
add esp, 4
jmp 0x100483a7
push 0
mov edx, 0x49
mov ecx, ebx
call fcn.100293c0
add esp, 8
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100483ba
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.10042580
mov ecx, ebx
call fcn.10047040
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x1c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100483e7
push edx
mov edx, ebx
call fcn.10029c70
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x74]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x78], 0
jne 0x1004841d
cmp byte [esi + 0x12], 0
jne 0x1004841d
push str.RAISE___may_only_be_used_within_a_trigger_program
push esi
call fcn.10008be0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edi + 1]
cmp al, 2
jne 0x10048433
mov eax, dword [esi + 0x74]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [edi + 1]
mov ecx, dword [edi + 8]
push 0
cmp al, 4
jne 0x1004845c
push ecx
push 0
push 4
push 0
mov edx, 0x45
mov ecx, ebx
call fcn.100296d0
mov eax, dword [ebp + 8]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x78], 0
mov edx, 1
push 0
push ecx
movsx eax, al
mov ecx, esi
push eax
mov eax, 0x713
cmovne edx, eax
call fcn.1005a850
add esp, 0x10
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov edx, 0x49
push esi
push 0
mov ecx, ebx
call fcn.100293c0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret