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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 8]
push esi
mov esi, dword [ebp + 0xc]
xor edx, edx
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], edx
cmp esi, edx
jne 0x456f2c
mov ecx, 0x79
jmp 0x456f52
cmp dword [ebx + 0x48], edx
je 0x456f4f
test dword [esi + 4], 0x800000
jne 0x456f4f
push edi
push esi
push ebx
call fcn.00456db0
add esp, 0xc
test eax, eax
jge 0x457e84
xor edx, edx
movzx ecx, byte [esi]
lea eax, [ecx - 0x13]
cmp eax, 0xa2
mov dword [esp + 0x18], ecx
ja case.0x456f6b.21
movzx eax, byte [eax + 0x457f08]
jmp dword [eax*4 + 0x457e8c]
test dword [esi + 4], 0x200
je 0x457a5a
mov esi, dword [esi + 0xc]
jmp 0x456f21
movsx edx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
mov ecx, edx
shl ecx, 4
add ecx, dword [eax + 0x14]
cmp byte [eax], 0
mov dword [ebp + 0xc], esi
mov dword [esp + 0x28], ecx
jne 0x456fab
mov eax, dword [eax + 0xc]
add eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x457016
mov esi, dword [esp + 0x28]
movsx ecx, word [esi + 0xe]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x10]
mov ebx, dword [esi]
push edi
push ecx
push edx
push 0x5e
push eax
call fcn.0043c3f0
add esp, 0x14
test ebx, ebx
je 0x457e82
movzx eax, word [esi + 0xc]
test ax, ax
jl 0x457e82
mov edx, dword [ebx + 4]
movsx ecx, ax
shl ecx, 4
cmp byte [ecx + edx + 8], 0x45
jne 0x457e82
mov eax, dword [esp + 0x10]
push 0
push 0
push edi
push 0x57
push eax
call fcn.0043c3f0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x2c], 0
jne 0x45703e
movsx ecx, word [esi + 0x20]
mov edx, dword [esi + 0x1c]
mov eax, dword [esp + 0x10]
push edi
push ecx
push edx
push 0x5e
push eax
call fcn.0043c3f0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
jmp 0x457045
mov dword [ebp + 0xc], esi
test byte [esi + 4], 0x20
mov eax, dword [esi + 0x1c]
je 0x45709a
mov ecx, dword [esi + 0xc]
push edi
push ecx
push ebx
call fcn.00456ef0
mov ecx, dword [esi + 0x2c]
mov ebx, eax
movsx eax, word [esi + 0x20]
add esp, 0xc
call fcn.00451550
movsx eax, al
cmp eax, 0x41
jle 0x457091
mov edi, dword [esp + 0x10]
lea edx, [eax*2 + 0x4c2264]
push 0xffffffffffffffff
push edx
xor eax, eax
push 0x60
lea ecx, [eax + 1]
mov edx, ebx
call fcn.0043c620
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x45716c
mov ecx, dword [ebx + 0x34]
cmp ecx, edx
jge 0x457169
movsx eax, word [esi + 0x20]
cmp eax, edx
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x28], edi
jge 0x4570c8
or eax, 0xffffffff
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, eax
shl esi, 4
add esi, dword [edi + 4]
call fcn.00461390
movsx edi, ax
movzx eax, word [esi + 0xe]
sub edi, dword [ebx + 0x34]
test al, 0x60
je 0x457130
test eax, 0x100
je 0x457105
mov eax, dword [esi]
push eax
push str.generated_column_loop_on___s_
mov esi, ebx
call fcn.0041cbf0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0x100
test al, al
mov word [esi + 0xe], ax
jns 0x457121
mov eax, dword [esp + 0x28]
push edi
push esi
push ebx
call fcn.00456740
add esp, 0xc
and word [esi + 0xe], 0xfe7f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 8], 0x45
jne 0x457e82
mov esi, dword [ebp + 0x10]
push 0
push esi
push edi
mov edi, dword [esp + 0x1c]
push 0x51
push edi
call fcn.0043c3f0
add esp, 0x14
push 0
push 0
push esi
push 0x57
push edi
call fcn.0043c3f0
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 1]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
mov ebx, dword [ecx + 0x2c]
mov esi, dword [ebp + 8]
push edx
movsx edx, word [ecx + 0x20]
push edx
call fcn.004569c0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push ebx
xor eax, eax
mov ecx, esi
call fcn.004565d0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push edi
mov eax, esi
call fcn.00453ca0
push eax
mov eax, dword [esp + 0x1c]
push 0x47
push eax
call fcn.0043c3f0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 8]
push edi
push 0
push ecx
call fcn.00456560
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, esi
mov ebx, dword [edx + 8]
mov dword [ebp + 0xc], esi
mov esi, dword [esp + 0x10]
mov eax, edi
call fcn.0043c460
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esi + 8]
add esi, 2
mov eax, esi
call fcn.0041c9d0
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
sub ebx, 1
push ebx
mov edi, esi
call fcn.0041dce0
mov esi, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
add esp, 4
push 0xfffffffffffffffa
push eax
mov eax, ebx
cdq
sub eax, edx
mov edx, eax
sar edx, 1
push 0x4d
xor eax, eax
mov ecx, esi
call fcn.0043c620
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [esi + 0x20]
mov edx, dword [esp + 0x10]
push 0
push edi
push ecx
push 0x4e
push edx
mov dword [ebp + 0xc], esi
call fcn.0043c3f0
mov eax, dword [esi + 8]
add esp, 0x14
cmp byte [eax + 1], 0
je 0x457e82
mov ecx, dword [ebx + 0xe8]
mov edx, esi
movsx esi, word [edx + 0x20]
call fcn.0041e260
mov dword [ecx], 0
mov ecx, dword [esp + 0x10]
or edx, 0xffffffff
call fcn.0043d040
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
push edi
push eax
push ebx
call fcn.00456ef0
mov ebx, eax
add esp, 0xc
cmp ebx, edi
je 0x4572d3
mov ecx, dword [esp + 0x10]
push 0
push edi
push ebx
push 0x51
push ecx
call fcn.0043c3f0
add esp, 0x14
mov ebx, edi
mov edx, dword [esi + 8]
xor edi, edi
call fcn.00461e70
mov edx, dword [ebp + 0x10]
movsx eax, al
push edi
push eax
mov eax, dword [esp + 0x18]
push edx
push 0x58
push eax
call fcn.0043c3f0
add esp, 0x14
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
cmp ecx, 0x2d
sete dl
mov dword [esp + 0x2c], 0x80
add edx, 0x34
mov dword [esp + 0x18], edx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x24], ecx
call fcn.00451d70
test eax, eax
je 0x457347
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push edi
mov ecx, esi
mov eax, ebx
call fcn.00451f80
mov eax, dword [esp + 0x40]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x14]
push edx
mov ecx, ebx
call fcn.00458110
mov dword [esp + 0x20], eax
lea eax, [esp + 0x24]
add esp, 4
push eax
mov eax, dword [esi + 0x10]
mov ecx, ebx
call fcn.00458110
mov ecx, dword [esp + 0x14]
add esp, 4
push 0
push edi
push 1
push 0x47
push ecx
mov dword [esp + 0x44], eax
call fcn.0043c3f0
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
shr edx, 0xa
add esp, 0x14
and edx, 1
push edx
mov edx, dword [ecx + 0x6c]
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x38]
add edx, 2
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esi + 0x10]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, ebx
call fcn.00451c40
mov eax, dword [esp + 0x28]
add esp, 0x18
cmp dword [esp + 0x2c], 0x80
jne 0x4573d9
push 0
push edi
push 0
push 0x47
jmp 0x457420
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
push ecx
push edi
push edx
push 0x5c
jmp 0x457420
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebx
call fcn.00458110
lea edx, [esp + 0x24]
add esp, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x10]
push edx
mov ecx, ebx
call fcn.00458110
mov ecx, dword [esp + 0x20]
add esp, 4
push edi
push ecx
mov edx, dword [esp + 0x20]
push eax
push edx
mov eax, dword [esp + 0x20]
push eax
call fcn.0043c3f0
add esp, 0x14
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x457446
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x457446
movzx edx, al
mov dword [ebx + edx*4 + 0xa0], ecx
add byte [ebx + 0x13], 1
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x457463
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x457463
movzx eax, al
mov dword [ebx + eax*4 + 0xa0], ecx
add byte [ebx + 0x13], 1
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x9b
jne 0x45748f
push edi
push ebx
mov eax, 1
call fcn.004565d0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x99
jne 0x4574af
mov edx, dword [esp + 0x10]
push edi
push 1
push edx
mov edx, dword [ecx + 8]
call fcn.00456560
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x78]
mov ecx, ebx
mov byte [esp + 0x78], 0x9b
mov dword [esp + 0x7c], 0x10800
mov dword [esp + 0x80], 0
call fcn.00458110
lea ecx, [esp + 0x24]
add esp, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
push ecx
mov ecx, ebx
call fcn.00458110
mov edx, dword [esp + 0x20]
add esp, 4
push edi
push edx
push eax
push 0x6b
jmp 0x45741c
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebx
call fcn.00458110
add esp, 4
push 0
push edi
jmp 0x457416
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebx
mov dword [ebp + 0xc], esi
call fcn.00458110
mov edx, eax
mov eax, dword [esi + 0x10]
add esp, 4
call fcn.00453ca0
xor ecx, ecx
cmp byte [esi + 2], 0x2d
mov esi, dword [esp + 0x10]
sete cl
xor ecx, eax
push ecx
xor ecx, ecx
test eax, eax
sete cl
push 0x5b
mov eax, ecx
mov ecx, edi
call fcn.0043c9a0
add esp, 8
jmp 0x457429
mov edx, dword [esp + 0x10]
push 0
push edi
push 1
push 0x47
push edx
call fcn.0043c3f0
lea eax, [esp + 0x28]
add esp, 0x14
push eax
mov eax, dword [esi + 0xc]
mov ecx, ebx
call fcn.00458110
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
add esp, 4
push 0
push 0
push eax
push ecx
push esi
call fcn.0043c3f0
add esp, 0x14
push 0
push edi
push 0
push 0x47
push esi
mov dword [esp + 0x3c], eax
call fcn.0043c3f0
mov edx, dword [esp + 0x3c]
add esp, 0x14
mov eax, esi
call fcn.0043cd40
jmp 0x457429
mov ecx, dword [esi + 0x28]
cmp ecx, edx
mov dword [ebp + 0xc], esi
je 0x4575ec
movzx eax, word [esi + 0x22]
cmp ax, dx
jl 0x4575ec
movsx edx, ax
cmp edx, dword [ecx + 0x24]
jge 0x4575ec
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
add eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
push edx
push str.misuse_of_aggregate:__T__
mov esi, ebx
call fcn.0041cbf0
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [esi + 4], 0x1000000
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
mov al, byte [eax + 0x54]
mov dword [ebp + 0xc], esi
mov dword [esp + 0x2c], edx
mov byte [esp + 0x28], al
mov dword [esp + 0x24], edx
je 0x457638
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x17], 0
je 0x457662
mov eax, esi
call fcn.00453f00
test eax, eax
je 0x457660
mov edx, dword [ebp + 0xc]
push 0xffffffffffffffff
push edx
mov esi, ebx
call fcn.00457fb0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov eax, dword [esi + 0x14]
cmp eax, edx
mov dword [esp + 0x30], eax
je 0x457675
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x457679
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 8]
push 0
push ecx
push edx
push eax
mov eax, dword [esp + 0x30]
push eax
call fcn.00467b10
add esp, 0x14
test eax, eax
mov dword [esp + 0x18], eax
je 0x4578fd
cmp dword [eax + 0x14], 0
jne 0x4578fd
mov eax, dword [eax + 4]
test eax, 0x400000
je 0x4576d3
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x30]
push edi
mov edx, ebx
call fcn.00456b50
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, 0x280000
je 0x4576e7
mov eax, dword [esp + 0x18]
mov edx, esi
mov ecx, ebx
call fcn.004529b0
mov ecx, dword [esp + 0x14]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
jle 0x45775f
mov edx, dword [esp + 0x30]
add edx, 8
mov dword [esp + 0x34], edx
cmp eax, 0x20
jge 0x457723
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
call fcn.00453eb0
test eax, eax
je 0x457723
mov ecx, dword [esp + 0x1c]
mov edx, 1
shl edx, cl
or dword [esp + 0x2c], edx
mov eax, dword [esp + 0x18]
test byte [eax + 4], 0x20
je 0x457747
cmp dword [esp + 0x24], 0
jne 0x457747
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
push ebx
call fcn.004518f0
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x34], 0x14
add eax, 1
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x457700
cmp dword [esp + 0x30], 0
je 0x4577ce
cmp dword [esp + 0x2c], 0
je 0x45777e
mov eax, dword [ebx + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x1c], edx
mov dword [ebx + 0x2c], eax
jmp 0x457790
mov esi, dword [esp + 0x14]
mov ecx, ebx
call fcn.00459ef0
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x18]
test byte [edx + 4], 0xc0
je 0x4577b6
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov cl, byte [eax]
cmp cl, 0xa7
je 0x4577ad
cmp cl, 0xa9
jne 0x4577b6
mov cl, byte [edx + 4]
and cl, 0xc0
mov byte [eax + 2], cl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
push 3
push 0
push edx
push ebx
call fcn.00458300
add esp, 0x10
jmp 0x4577d6
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
cmp eax, 2
jl 0x4577f2
test dword [esi + 4], 0x100
je 0x4577f2
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [edx + 0x1c]
jmp 0x457802
test eax, eax
jle 0x457817
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048d610
mov dword [esp + 0x20], eax
add esp, 8
mov eax, dword [esp + 0x18]
test byte [eax + 4], 0x20
je 0x4578ad
cmp dword [esp + 0x24], 0
jne 0x457837
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
push 0x55
push eax
call fcn.0043c3f0
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x457868
mov eax, dword [esp + 0x24]
mov edx, 0xfffffffe
call fcn.0043cde0
jmp 0x4578ad
test eax, eax
jge 0x457876
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x6c]
sub eax, 1
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
cmp byte [edx + eax*4 + 1], 0
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x24]
je 0x4578a2
mov edx, dword [esp + 0x10]
push eax
mov eax, 0xfffffffe
call fcn.0043ced0
add esp, 4
jmp 0x4578ad
test eax, eax
je 0x4578ad
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfe
movzx ecx, byte [esi + 2]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push edi
push eax
mov eax, dword [esp + 0x24]
push ecx
push ebx
call fcn.0043c650
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x457e82
cmp dword [esp + 0x2c], 0
jne 0x457e82
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, ebx
call fcn.00459f40
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
push edx
push str.unknown_function:__T__
mov esi, ebx
call fcn.0041cbf0
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x4570fc
cmp ecx, 0x8a
jne 0x45795c
test dword [esi + 4], 0x1000
je 0x45795c
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [edx]
cmp ecx, 1
je 0x45795c
mov eax, 1
mov edx, ebx
call fcn.00454d70
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push ebx
call fcn.004553f0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 0xc]
cmp dword [edi + 0x1c], edx
mov dword [ebp + 0xc], esi
je 0x457980
mov al, byte [ebx + 0x1a]
cmp al, byte [edi + 2]
jbe 0x457993
push edi
push ebx
call fcn.004553f0
mov dword [edi + 0x1c], eax
mov cl, byte [ebx + 0x1a]
add esp, 8
mov byte [edi + 2], cl
mov ecx, edi
call fcn.00451dc0
mov ecx, dword [esi + 0x1c]
cmp ecx, eax
je 0x4579b5
push eax
push ecx
push str._d_columns_assigned__d_values
mov esi, ebx
call fcn.0041cbf0
mov esi, dword [ebp + 0xc]
add esp, 0xc
movsx eax, word [esi + 0x20]
add eax, dword [edi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x38]
mov edx, dword [esp + 0x10]
push 0
push edi
add eax, 0xffffffff
push 0
mov dword [esp + 0x2c], eax
add eax, 0xffffffff
push 0x4b
push edx
mov dword [esp + 0x48], eax
mov dword [ebx + 0x38], eax
call fcn.0043c3f0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
add esp, 0x14
push eax
push ecx
push esi
push ebx
call fcn.00455710
mov esi, dword [esp + 0x20]
push 0
push edi
push 1
push 0x47
push esi
call fcn.0043c3f0
mov eax, dword [esp + 0x44]
add esp, 0x24
mov ecx, esi
call fcn.0043caa0
push 0
push 0
push edi
push 0x56
push esi
call fcn.0043c3f0
mov eax, dword [esp + 0x48]
add esp, 0x14
mov ecx, esi
call fcn.0043caa0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push edi
mov eax, esi
mov edi, ebx
call fcn.00458480
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xc]
push edi
push edx
push ebx
call fcn.00456ef0
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x457a83
mov eax, dword [esp + 0x10]
push 0
push edi
push esi
push 0x51
push eax
call fcn.0043c3f0
add esp, 0x14
mov esi, edi
mov ecx, dword [esp + 0x10]
push 0
push 0
push esi
push 0xb3
push ecx
call fcn.0043c3f0
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x2c]
movsx ebx, word [esi + 0x20]
push 0
push edi
mov eax, ebx
mov edi, ecx
mov dword [esp + 0x30], ecx
call fcn.00461390
movsx edx, ax
movsx eax, word [edi + 0x22]
add eax, 1
imul eax, dword [esi + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [edx + eax + 1]
push ecx
push 0x9d
push esi
call fcn.0043c3f0
add esp, 0x14
test ebx, ebx
jl 0x457463
mov edx, dword [edi + 4]
shl ebx, 4
cmp byte [ebx + edx + 8], 0x45
jne 0x457463
mov eax, dword [ebp + 0x10]
push 0
push 0
push eax
push 0x57
push esi
call fcn.0043c3f0
mov eax, dword [esp + 0x48]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
mov esi, ebx
call fcn.0041cbf0
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x28]
cmp eax, edx
mov cl, byte [ebx + 0x17]
mov byte [esp + 0x3b], cl
je 0x457b8e
cmp byte [eax], 0
jne 0x457b57
movsx ecx, word [esi + 0x22]
add ecx, dword [eax + 0xc]
mov dword [esp + 0x34], ecx
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x457b8e
movsx edx, word [esi + 0x22]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 8]
shl edx, 4
movsx edx, word [edx + ecx + 0xe]
mov ecx, dword [esp + 0x10]
push edi
push edx
push eax
push 0x5e
push ecx
call fcn.0043c3f0
add esp, 0x14
mov dword [esp + 0x34], edi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x1c]
mov eax, dword [esp + 0x10]
push edi
push 0
push edx
push 0x14
push eax
call fcn.0043c3f0
add esp, 0x14
mov byte [ebx + 0x17], 0
mov ecx, dword [esi + 0xc]
push edi
push ecx
push ebx
mov dword [esp + 0x34], eax
call fcn.00456ef0
mov dl, byte [esp + 0x47]
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x34], eax
mov byte [ebx + 0x17], dl
je 0x457be0
push 0
push edi
push eax
mov eax, dword [esp + 0x1c]
push 0x51
push eax
call fcn.0043c3f0
add esp, 0x14
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
call fcn.0043cd40
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
add dword [ebx + 0x38], 0xffffffff
mov esi, dword [esi + 0xc]
cmp esi, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], esi
je 0x457ca1
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov eax, esi
call fcn.00453120
mov esi, eax
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x57], 0
mov dword [esp + 0x3c], esi
je 0x457c63
test esi, esi
je 0x457463
push esi
push eax
call fcn.00452b80
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push ebx
lea eax, [esp + 0x1c]
call fcn.00456a60
push eax
mov eax, esi
call fcn.00456a10
add esp, 0xc
push 0x34
lea edx, [esp + 0x44]
push 0
push edx
call sub.ntdll.dll_memset
lea eax, [esp + 0x4c]
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov byte [esp + 0x40], 0x35
mov dword [esp + 0x4c], esi
xor edx, edx
lea ecx, [eax - 1]
cmp ecx, edx
jle 0x457d43
mov eax, dword [esp + 0x1c]
add eax, 8
mov edx, eax
lea eax, [ecx - 1]
shr eax, 1
add eax, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
jmp 0x457cd4
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x30], 0
je 0x457ce3
mov ecx, dword [edx]
mov dword [esp + 0x50], ecx
jmp 0x457ce9
mov edx, dword [edx]
mov dword [esp + 0x2c], edx
add dword [ebx + 0x38], 0xffffffff
mov esi, dword [ebx + 0x38]
mov eax, dword [esp + 0x2c]
push 0x10
push esi
push eax
push ebx
call fcn.004589a0
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x14]
push edi
push edx
push ebx
call fcn.004581d0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
push 0
push eax
push 0
push 9
push ecx
call fcn.0043c3f0
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov eax, esi
call fcn.0043caa0
add dword [esp + 0x20], 0x28
sub dword [esp + 0x14], 1
jne 0x457cd0
mov eax, dword [esp + 0x18]
test al, 1
je 0x457d63
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + edx*4 - 0xc]
push edi
push ecx
push ebx
call fcn.004581d0
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x457d77
mov esi, dword [esp + 0x10]
push 0
push edi
push 0
push 0x4b
push esi
call fcn.0043c3f0
add esp, 0x14
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x457d8d
mov edx, dword [esp + 0x24]
push eax
push edx
call fcn.00452b80
add esp, 8
mov eax, esi
call fcn.00456b10
mov eax, dword [esp + 0x28]
mov ecx, esi
call fcn.0043caa0
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x7c], edx
jne 0x457dcd
cmp byte [ebx + 0x12], 0
jne 0x457dcd
push str.RAISE___may_only_be_used_within_a_trigger_program
mov esi, ebx
call fcn.0041cbf0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 2
jne 0x457dda
mov ecx, ebx
call fcn.00466bb0
mov al, byte [esi + 1]
cmp al, 4
push 0
jne 0x457e40
mov edi, dword [esp + 0x14]
mov esi, dword [esi + 8]
push 4
push 0
push 0x46
push edi
call fcn.0043c3f0
mov ecx, dword [edi]
add esp, 0x14
cmp byte [ecx + 0x57], 0
je 0x457e15
mov eax, esi
xor edx, edx
call fcn.0043cde0
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jge 0x457e1f
mov eax, dword [edi + 0x6c]
sub eax, 1
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
push esi
xor eax, eax
mov edx, edi
call fcn.0043ced0
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 8]
movsx edi, al
mov eax, dword [ebx + 0x7c]
neg eax
sbb eax, eax
and eax, 0x712
push 0
add eax, 1
push edx
push eax
mov eax, ebx
call fcn.00466bd0
mov eax, dword [esp + 0x44]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
push 0
push edi
push 0
push 0x4b
push ecx
call fcn.0043c3f0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret