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

Disassembly:
sub esp, 0x94
push ebx
mov ebx, dword [esp + 0xa0]
push ebp
mov ebp, dword [esp + 0xa0]
push esi
push edi
mov dword [esp + 0x1c], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x14], 0
test ebx, ebx
je case.0x4a23f4.21
cmp dword [ebp + 0x48], 0
mov edi, dword [esp + 0xb0]
je 0x4a23d8
test dword [ebx + 4], 0x800000
jne 0x4a23d8
push edi
push ebx
push ebp
call fcn.004adda0
add esp, 0xc
test eax, eax
jns 0x4a33f5
movzx edx, byte [ebx]
mov dword [esp + 0x2c], edx
lea eax, [edx - 0x13]
cmp eax, 0xa2
ja case.0x4a23f4.21
movzx eax, byte [eax + 0x4a347c]
jmp dword [eax*4 + 0x4a3400]
test dword [ebx + 4], 0x200
je 0x4a2410
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0xac], ebx
jmp 0x4a23a7
push edi
push dword [ebx + 0xc]
push ebp
call fcn.004a0d00
push edi
push 0xb4
push esi
call fcn.004c6d30
add esp, 0x18
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov ecx, dword [ebx + 0x28]
movsx edx, word [ebx + 0x22]
cmp edx, dword [ecx + 0x18]
jl 0x4a245d
push edi
push 0
push 0x4b
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov eax, edx
shl eax, 4
add eax, dword [ecx + 0x14]
cmp byte [ecx], 0
mov dword [esp + 0x18], eax
jne 0x4a247e
mov eax, dword [ecx + 0xc]
pop edi
pop esi
pop ebp
add eax, edx
pop ebx
add esp, 0x94
ret
cmp byte [ecx + 1], 0
je 0x4a24df
mov ebx, dword [eax]
movsx eax, word [eax + 0xe]
push edi
push eax
push dword [ecx + 8]
push 0x5e
push esi
call fcn.004c6df0
add esp, 0x14
test ebx, ebx
je 0x4a2f17
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0xc]
test ax, ax
js 0x4a2f17
movsx ecx, ax
mov eax, dword [ebx + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x4a2f17
push edi
push 0x57
push esi
call fcn.004c6d30
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
cmp dword [ebx + 0x2c], 0
jne case.0x4a23f4.167
movsx eax, word [ebx + 0x20]
push edi
push eax
push dword [ebx + 0x1c]
push 0x5e
push esi
call fcn.004c6df0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
test byte [ebx + 4], 0x20
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x14], eax
je 0x4a255e
push edi
push dword [ebx + 0xc]
push ebp
call fcn.004a2370
mov edi, eax
movsx eax, word [ebx + 0x20]
push eax
push dword [ebx + 0x2c]
call fcn.004c2500
movsx eax, al
add esp, 0x14
cmp eax, 0x41
jle 0x4a2551
push 0xffffffffffffffff
lea eax, [eax*2 + 0x532128]
push eax
push 0
push 1
push edi
push 0x60
push esi
call fcn.004c6e50
add esp, 0x1c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
test eax, eax
jns 0x4a264b
mov eax, dword [ebp + 0x34]
test eax, eax
jns 0x4a2646
movzx ecx, word [ebx + 0x20]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x18], ecx
movsx ecx, cx
mov dword [esp + 0x20], edx
test ecx, ecx
jns 0x4a2594
pop edi
pop esi
pop ebp
not eax
pop ebx
add esp, 0x94
ret
push dword [esp + 0x18]
mov ebx, dword [edx + 4]
shl ecx, 4
push edx
add ebx, ecx
call fcn.004c2560
movsx ecx, ax
add esp, 8
sub ecx, dword [ebp + 0x34]
movzx eax, word [ebx + 0xe]
mov dword [esp + 0x18], ecx
test al, 0x60
je 0x4a261d
test eax, 0x100
je 0x4a25df
push dword [ebx]
push str.generated_column_loop_on___s_
push ebp
call fcn.0049fe60
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x94
ret
or eax, 0x100
mov word [ebx + 0xe], ax
movzx edx, ax
test al, al
jns 0x4a2606
push ecx
push ebx
push dword [esp + 0x28]
push ebp
call fcn.004a0fb0
movzx edx, word [ebx + 0xe]
add esp, 0x10
mov ecx, dword [esp + 0x18]
and edx, 0xfe7f
mov word [ebx + 0xe], dx
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x94
ret
cmp byte [ebx + 8], 0x45
jne 0x4a2610
push edi
push ecx
push 0x51
push esi
call fcn.004c6d90
push edi
push 0x57
push esi
call fcn.004c6d30
add esp, 0x1c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
lea ecx, [eax - 1]
jmp 0x4a266b
mov esi, dword [ebp + 0x4c]
test esi, esi
je 0x4a2667
movsx ecx, word [ebx + 0x20]
cmp ecx, dword [esi + 0xc]
jne 0x4a2660
cmp eax, dword [esi + 4]
je 0x4a26ac
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4a2656
mov ecx, dword [esp + 0x14]
mov al, byte [ebx + 2]
push edi
mov byte [esp + 0x17], al
movsx eax, word [ebx + 0x20]
push eax
push ecx
push dword [ebx + 0x2c]
push dword [ebp + 8]
call fcn.004a1100
mov cl, byte [esp + 0x27]
add esp, 0x14
test cl, cl
je 0x4a2f17
mov edx, dword [ebp + 8]
mov eax, dword [edx]
cmp byte [eax + 0x57], 0
je 0x4a27aa
mov edx, 0x5751d0
jmp 0x4a27bd
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
cmp byte [esi + 0x10], al
je 0x4a271a
mov ecx, dword [edx + 0x6c]
mov eax, dword [esi + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
cmp dword [edx + 0x70], ecx
jg 0x4a26e7
push 0
push 0
push eax
push 0x14
push edx
call fcn.00475980
add esp, 0x14
mov dword [esp + 0x24], eax
jmp 0x4a271a
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x14
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push edi
push dword [esi]
push ebp
call fcn.004a2370
push 1
mov dword [esp + 0x28], eax
lea eax, [esi + 0x11]
mov esi, dword [esp + 0x28]
push eax
push 0
push 1
push esi
push 0x60
push dword [ebp + 8]
call fcn.004c6e50
mov eax, dword [esp + 0x4c]
add esp, 0x28
test eax, eax
je 0x4a2795
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x18], edx
lea edx, [eax + eax*4]
mov eax, dword [ecx]
shl edx, 2
cmp byte [eax + 0x57], 0
je 0x4a276b
mov eax, 0x5751d0
jmp 0x4a2770
mov eax, dword [ecx + 0x68]
add eax, edx
mov ebx, dword [esp + 0x18]
mov dword [eax + 8], ebx
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
je 0x4a2786
mov eax, 0x5751d0
jmp 0x4a278b
mov eax, dword [ecx + 0x68]
add eax, edx
mov ebx, dword [esp + 0xac]
mov dword [eax + 0xc], esi
test esi, esi
je 0x4a2667
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov eax, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
add edx, 0xffffffec
lea ecx, [eax + eax*4]
lea edx, [edx + ecx*4]
mov cl, byte [esp + 0x13]
mov al, byte [edx]
cmp al, 0x5e
je 0x4a27ce
cmp al, 0xb0
jne 0x4a2f17
and cl, 1
movzx eax, cl
mov word [edx + 2], ax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push edi
push 0
push ebx
push ebp
call fcn.00465c50
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push edi
push ebx
call fcn.004a5c10
add esp, 4
push eax
push 0x47
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push edi
push 0
push dword [ebx + 8]
push esi
call fcn.00465e30
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push dword [ebx + 8]
push edi
push esi
call fcn.004d13f0
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov ecx, dword [ebx + 8]
add ecx, 2
jne 0x4a2861
xor esi, esi
jmp 0x4a2875
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a2866
sub esi, edx
and esi, 0x3fffffff
mov ebx, dword [esp + 0x28]
dec esi
push esi
push ecx
push dword [ebx]
call fcn.004ad820
push 0xfffffffffffffffa
push eax
mov eax, esi
cdq
push 0
sub eax, edx
push edi
sar eax, 1
push eax
push 0x4d
push ebx
call fcn.004c6e50
add esp, 0x28
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
movsx eax, word [ebx + 0x20]
push edi
push eax
push 0x4e
push esi
call fcn.004c6d90
mov eax, dword [ebx + 8]
add esp, 0x10
cmp byte [eax + 1], 0
je 0x4a2f17
mov edx, dword [ebp + 0xec]
test edx, edx
je 0x4a28ef
mov ebp, dword [edx + 4]
mov eax, 2
movsx ebx, word [ebx + 0x20]
nop dword [eax]
cmp dword [edx + eax*4], ebx
lea ecx, [edx + eax*4]
je 0x4a290c
add eax, dword [ecx + 4]
cmp eax, ebp
jl 0x4a28e0
xor ecx, ecx
push 0xffffffffffffffff
push ecx
push esi
mov dword [edx], ecx
call fcn.004c7100
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
add ecx, 8
mov dword [edx], 0
push 0xffffffffffffffff
push ecx
push esi
call fcn.004c7100
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov eax, dword [ebx + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push edi
push dword [ebx + 0xc]
push ebp
call fcn.004a0d00
push 0
push dword [ebx + 8]
call fcn.004911a0
movsx eax, al
push eax
push edi
push 0x58
push esi
call fcn.004c6d90
add esp, 0x24
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
xor eax, eax
mov dword [esp + 0x14], 0x80
cmp edx, 0x2d
sete al
lea edx, [eax + 0x34]
mov dword [esp + 0x2c], edx
mov eax, dword [ebx + 0xc]
push eax
mov dword [esp + 0x24], eax
call fcn.004a4b40
add esp, 4
test eax, eax
je 0x4a29b5
push dword [esp + 0x14]
push edx
push edi
push ebx
push ebp
call fcn.00466560
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x24]
push ebp
call fcn.004a3520
mov dword [esp + 0x34], eax
lea eax, [esp + 0x3c]
push eax
push dword [ebx + 0x10]
push ebp
call fcn.004a3520
push edi
push 1
push 0x47
push esi
mov dword [esp + 0x4c], eax
call fcn.004c6d90
mov eax, dword [ebx + 4]
shr eax, 0xa
and eax, 1
push eax
push dword [esp + 0x40]
mov eax, dword [esi + 0x6c]
add eax, 2
push eax
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x68]
push dword [ebx + 0x10]
push dword [esp + 0x64]
push ebp
call fcn.00464fa0
add esp, 0x4c
cmp dword [esp + 0x14], 0x80
jne 0x4a2a33
push edi
push 0
push 0x47
push esi
call fcn.004c6d90
add esp, 0x10
jmp 0x4a2bb0
push dword [esp + 0x24]
push edi
push dword [esp + 0x30]
push 0x5c
push esi
call fcn.004c6df0
add esp, 0x14
jmp 0x4a2bb0
lea eax, [esp + 0x1c]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.004a3520
mov esi, eax
lea eax, [esp + 0x3c]
push eax
push dword [ebx + 0x10]
push ebp
call fcn.004a3520
push edi
push esi
push eax
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.004c6df0
add esp, 0x2c
jmp 0x4a2bb0
mov eax, dword [ebx + 0xc]
mov cl, byte [eax]
cmp cl, 0x9b
jne 0x4a2aa6
push edi
push 1
push eax
push ebp
call fcn.00465c50
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
cmp cl, 0x99
jne 0x4a2ac7
push edi
push 1
push dword [eax + 8]
push esi
call fcn.00465e30
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
lea eax, [esp + 0x1c]
mov byte [esp + 0x70], 0x9b
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x78], 0x10800
push eax
push ebp
mov dword [esp + 0x84], 0
call fcn.004a3520
mov esi, eax
lea eax, [esp + 0x3c]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.004a3520
push edi
push esi
push eax
push 0x6b
push dword [esp + 0x50]
call fcn.004c6df0
add esp, 0x2c
jmp 0x4a2bb0
lea eax, [esp + 0x1c]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.004a3520
push edi
push eax
push dword [esp + 0x40]
push esi
call fcn.004c6d90
add esp, 0x1c
jmp 0x4a2bb0
lea eax, [esp + 0x1c]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.004a3520
push dword [ebx + 0x10]
mov edx, eax
call fcn.004a5c10
mov ecx, eax
xor eax, eax
cmp byte [ebx + 2], 0x2d
sete al
xor eax, ecx
push eax
xor eax, eax
test ecx, ecx
sete al
push eax
push edi
push edx
push 0x5b
push esi
call fcn.004c6ed0
add esp, 0x28
jmp 0x4a2bb0
push edi
push 1
push 0x47
push esi
call fcn.004c6d90
lea eax, [esp + 0x2c]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.004a3520
push eax
push dword [esp + 0x4c]
push esi
call fcn.004c6d30
mov ebx, dword [esp + 0x50]
mov esi, eax
push edi
push 0
push 0x47
push ebx
call fcn.004c6d90
push esi
push ebx
call fcn.004d1180
add esp, 0x40
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4a2bcc
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x4a2bcc
movzx eax, al
mov dword [ebp + eax*4 + 0xa4], ecx
inc byte [ebp + 0x13]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4a33d1
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x4a33d1
movzx eax, al
mov dword [ebp + eax*4 + 0xa4], ecx
mov eax, edi
inc byte [ebp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x4a2c28
movzx eax, word [ebx + 0x22]
test ax, ax
js 0x4a2c28
movsx edx, ax
cmp edx, dword [ecx + 0x24]
jge 0x4a2c28
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
pop edi
pop esi
pop ebp
add eax, edx
pop ebx
add esp, 0x94
ret
push ebx
push str.misuse_of_aggregate:__T__
push ebp
call fcn.0049fe60
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
test dword [ebx + 4], 0x1000000
mov ecx, dword [ebp]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], 0
mov al, byte [ecx + 0x54]
mov byte [esp + 0x14], al
je 0x4a2c7c
mov eax, dword [ebx + 0x2c]
pop edi
pop esi
pop ebp
mov eax, dword [eax + 0x38]
pop ebx
add esp, 0x94
ret
cmp byte [ebp + 0x17], 0
je 0x4a2caa
push ebx
call fcn.004a49b0
add esp, 4
test eax, eax
je 0x4a2ca6
push 0xffffffffffffffff
push ebx
push ebp
call fcn.004a21b0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4a2cb9
mov eax, dword [eax]
jmp 0x4a2cbb
xor eax, eax
push 0
push dword [esp + 0x18]
mov dword [esp + 0x38], eax
push eax
push dword [ebx + 8]
push ecx
call fcn.004a5ed0
add esp, 0x14
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4a2f24
cmp dword [eax + 0x14], 0
jne 0x4a2f24
mov edx, dword [eax + 4]
test edx, 0x400000
je 0x4a2d14
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4a2d14
push edi
push dword [eax + 8]
push ecx
push ebp
call fcn.0046d000
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
test edx, 0x280000
je 0x4a2d27
push eax
push ebx
push ebp
call fcn.004a3f90
add esp, 0xc
mov ecx, dword [esp + 0x30]
xor eax, eax
mov dword [esp + 0x14], eax
test ecx, ecx
jle 0x4a2def
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [esp + 0x1c]
add edx, 8
mov dword [esp + 0x20], edx
xor ebx, ebx
nop dword [eax]
cmp eax, 0x20
jae 0x4a2d9a
mov ecx, dword [edx]
mov edx, 1
mov word [esp + 0x50], dx
mov dword [esp + 0x40], fcn.0046e390
mov dword [esp + 0x44], 0x4c0870
mov dword [esp + 0x54], 0
test ecx, ecx
je 0x4a2d97
push ecx
lea eax, [esp + 0x40]
push eax
call fcn.004d5e10
mov eax, dword [esp + 0x1c]
add esp, 8
cmp word [esp + 0x50], 0
je 0x4a2d9a
bts esi, eax
test byte [edi + 4], 0x20
je 0x4a2db9
test ebx, ebx
jne 0x4a2db9
mov eax, dword [esp + 0x20]
push dword [eax]
push ebp
call fcn.004a36a0
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
inc eax
mov ecx, dword [esp + 0x30]
add edx, 0x14
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
cmp eax, ecx
jl 0x4a2d50
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x4a2e76
cmp dword [esp + 0x20], 0
je 0x4a2e1a
mov eax, dword [ebp + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x2c], eax
jmp 0x4a2e2e
push ecx
push ebp
call fcn.004ac8c0
mov edx, dword [esp + 0x34]
mov ecx, eax
add esp, 8
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
test al, 0xc0
je 0x4a2e61
mov ebx, dword [edx + 8]
mov bl, byte [ebx]
mov byte [esp + 0x13], bl
cmp bl, 0xa7
mov ebx, dword [esp + 0xac]
je 0x4a2e55
cmp byte [esp + 0x13], 0xa9
jne 0x4a2e61
mov esi, dword [edx + 8]
and al, 0xc0
mov byte [esi + 2], al
mov esi, dword [esp + 0x28]
push 2
push 0
push ecx
push edx
push ebp
call fcn.004a0d90
mov edx, dword [esp + 0x40]
add esp, 0x14
jmp 0x4a2e7e
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x30]
cmp eax, 2
jl 0x4a2eaa
test dword [ebx + 4], 0x100
je 0x4a2eae
push dword [edx + 0x1c]
push eax
push dword [esp + 0x24]
push dword [esp + 0x30]
call fcn.004d4ea0
add esp, 0x10
mov dword [esp + 0x1c], eax
jmp 0x4a2eb7
test eax, eax
jle 0x4a2eb3
push dword [edx + 8]
jmp 0x4a2e93
mov eax, dword [esp + 0x1c]
test byte [eax + 4], 0x20
je 0x4a2ee0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4a2ecc
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
push 0xfffffffffffffffe
push eax
push 0
push 0
push 0
push 0x55
push esi
call fcn.004c6e50
add esp, 0x1c
movzx eax, byte [ebx + 2]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
push eax
push dword [esp + 0x20]
push esi
push edi
push dword [esp + 0x24]
push ebx
push ebp
call fcn.004c6c20
add esp, 0x1c
test esi, esi
je 0x4a2f17
test ebx, ebx
jne 0x4a2f17
push esi
push dword [esp + 0x18]
push ebp
call fcn.004bb210
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push ebx
push str.unknown_function:__T__
push ebp
call fcn.0049fe60
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov eax, dword [ebp]
cmp byte [eax + 0x57], 0
jne 0x4a25d2
cmp edx, 0x8a
jne 0x4a2f84
test dword [ebx + 4], 0x1000
je 0x4a2f84
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x4a2f84
push 1
push eax
push ebp
call fcn.004c22c0
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push ebx
push ebp
call fcn.0049a060
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov esi, dword [ebx + 0xc]
cmp dword [esi + 0x1c], 0
je 0x4a2faa
mov al, byte [ebp + 0x1a]
cmp al, byte [esi + 2]
jbe 0x4a2fbd
push esi
push ebp
call fcn.0049a060
mov dword [esi + 0x1c], eax
add esp, 8
mov al, byte [ebp + 0x1a]
mov byte [esi + 2], al
push esi
call fcn.004a5cc0
mov ecx, dword [ebx + 0x1c]
add esp, 4
cmp ecx, eax
je 0x4a2fdd
push eax
push ecx
push str._d_columns_assigned__d_values
push ebp
call fcn.0049fe60
add esp, 0x10
movsx eax, word [ebx + 0x20]
add eax, dword [esi + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov esi, dword [ebp + 0x38]
push dword [esp + 0xb0]
dec esi
push 0
push 0x4b
push dword [esp + 0x34]
lea edi, [esi - 1]
mov dword [ebp + 0x38], edi
call fcn.004c6d90
push edi
push esi
push ebx
push ebp
call fcn.004a1250
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x48]
push ebx
push 1
push 0x47
push ebp
call fcn.004c6d90
push esi
push ebp
call fcn.004d3660
push 0
push ebx
push 0x56
push ebp
call fcn.004c6d90
add esp, 0x48
push edi
push ebp
call fcn.004d3660
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push 0
push 0
push edi
push ebx
push ebp
call fcn.0046cec0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
movzx eax, word [ebx + 0x20]
mov ecx, dword [ebx + 0x2c]
push eax
push ecx
mov dword [esp + 0x20], ecx
movsx ebp, ax
call fcn.004c2560
movsx ecx, ax
mov eax, dword [esp + 0x20]
inc ecx
push edi
movsx eax, word [eax + 0x22]
inc eax
imul eax, dword [ebx + 0x1c]
add eax, ecx
push eax
push 0x9d
push esi
call fcn.004c6d90
add esp, 0x18
test ebp, ebp
js 0x4a33d1
mov eax, dword [esp + 0x18]
add ebp, ebp
mov eax, dword [eax + 4]
cmp byte [eax + ebp*8 + 8], 0x45
jne 0x4a33d1
push edi
push 0x57
push esi
call fcn.004c6d30
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push str.row_value_misused
push ebp
call fcn.0049fe60
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov al, byte [ebp + 0x17]
mov edx, dword [ebx + 0x28]
mov byte [esp + 0x13], al
test edx, edx
je 0x4a3154
cmp byte [edx], 0
jne 0x4a3123
movsx edi, word [ebx + 0x22]
add edi, dword [edx + 0xc]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
cmp byte [edx + 1], 0
je 0x4a3154
movsx ecx, word [ebx + 0x22]
mov eax, dword [edx + 0x14]
add ecx, ecx
push edi
movsx eax, word [eax + ecx*8 + 0xe]
push eax
push dword [edx + 8]
push 0x5e
push esi
call fcn.004c6df0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push edi
push 0
push dword [ebx + 0x1c]
push 0x14
push esi
call fcn.004c6df0
push edi
mov byte [ebp + 0x17], 0
mov esi, eax
push dword [ebx + 0xc]
push ebp
call fcn.004a0d00
mov al, byte [esp + 0x33]
push esi
push dword [esp + 0x4c]
mov byte [ebp + 0x17], al
call fcn.004d1180
add esp, 0x28
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov edi, dword [ebx + 0x14]
xor edx, edx
mov eax, dword [ebp]
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], edx
lea ecx, [edi + 8]
mov dword [esp + 0x2c], eax
mov edi, dword [edi]
dec dword [ebp + 0x38]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0x38]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x4a3244
push edx
push edx
push ebx
push eax
call fcn.0046d670
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
cmp byte [eax + 0x57], 0
je 0x4a320b
test ebx, ebx
je 0x4a33d1
push ebx
push eax
call fcn.004a3d70
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
lea eax, [esp + 0x1c]
push eax
push ebx
push ebp
call fcn.0046d320
push eax
push ebx
call fcn.0046e910
push 0x34
lea eax, [esp + 0x54]
push 0
push eax
call fcn.004fd610
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x5c]
mov dword [esp + 0x68], ebx
add esp, 0x20
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x3c], 0x35
mov eax, dword [esp + 0x14]
dec eax
test eax, eax
jle 0x4a32de
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x18], eax
nop dword [eax]
mov ecx, dword [ecx]
test ebx, ebx
mov eax, dword [esp + 0x4c]
cmove edx, ecx
cmovne eax, ecx
dec dword [ebp + 0x38]
mov ebx, dword [ebp + 0x38]
push 0x10
push ebx
push edx
push ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], edx
call fcn.004a4050
mov eax, dword [esp + 0x34]
push edi
push dword [eax + 0x14]
push ebp
call fcn.004a0d00
push dword [esp + 0x44]
push esi
call fcn.004d0c00
mov ecx, dword [esi + 0xc]
add esp, 0x24
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4a32bb
push ebx
push esi
push ecx
call fcn.0048b850
add esp, 0xc
jmp 0x4a32c4
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
add ecx, 0x28
sub dword [esp + 0x18], 1
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
jne 0x4a3260
mov eax, dword [esp + 0x14]
push edi
test al, 1
je 0x4a32fd
mov ecx, dword [esp + 0x3c]
lea eax, [eax + eax*4]
push dword [ecx + eax*4 - 0xc]
push ebp
call fcn.004a0d00
add esp, 0xc
jmp 0x4a330a
push 0
push 0x4b
push esi
call fcn.004c6d90
add esp, 0x10
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4a331f
push eax
push dword [esp + 0x30]
call fcn.004a3d70
add esp, 8
push esi
call fcn.0048ff60
push dword [esp + 0x2c]
push esi
call fcn.004d3660
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
cmp dword [ebp + 0x84], 0
jne 0x4a3369
cmp byte [ebp + 0x12], 0
jne 0x4a3369
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.0049fe60
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov al, byte [ebx + 1]
cmp al, 2
jne 0x4a3384
mov eax, dword [ebp + 0x80]
mov ecx, ebp
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [ebx + 1]
mov ecx, dword [ebx + 8]
push 0
cmp al, 4
jne 0x4a33ac
push ecx
push 0
push 4
push 0
push 0x46
push esi
call fcn.004c6e50
add esp, 0x1c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
cmp dword [ebp + 0x84], 0
push 0
push ecx
movsx eax, al
mov ecx, 1
push eax
mov eax, 0x713
cmovne ecx, eax
push ecx
push ebp
call fcn.004ad350
add esp, 0x18
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
mov ebx, dword [esp + 0xb0]
push ebx
push 0
push 0x4b
push esi
call fcn.004c6d90
mov eax, ebx
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret