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

Disassembly:
sub esp, 0x9c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
xor edx, edx
push esi
push edi
mov dword [esp + 0x18], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], edx
test ebx, ebx
je case.0x563431.112
mov edi, dword [esp + 0xb8]
cmp dword [ebp + 0x48], edx
je 0x56340c
test dword [ebx + 4], 0x800000
jne 0x56340c
push edi
push ebx
push ebp
call fcn.0056a4e4
add esp, 0xc
test eax, eax
jns 0x563e71
xor edx, edx
movzx esi, byte [ebx]
cmp esi, 0x6d
jbe 0x563cda
lea eax, [esi - 0x6e]
mov ecx, esi
mov dword [esp + 0x10], ecx
cmp eax, 0x47
ja case.0x563431.112
movzx eax, byte [eax + 0x5641d9]
jmp dword [eax*4 + 0x564179]
test dword [ebx + 4], 0x200
je 0x56344d
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0xb4], ebx
jmp 0x5633da
push edi
push dword [ebx + 0xc]
push ebp
call fcn.00562913
push edi
push 0xb4
push dword [esp + 0x28]
call fcn.0057b752
add esp, 0x18
jmp 0x56350f
mov ecx, dword [ebx + 0x28]
movsx edx, word [ebx + 0x22]
cmp edx, dword [ecx + 0x18]
jl 0x563490
push edi
push 0
push 0x4b
push dword [esp + 0x20]
call fcn.0057b76b
add esp, 0x10
jmp 0x564140
mov esi, edx
shl esi, 4
add esi, dword [ecx + 0x14]
cmp byte [ecx], 0
jne 0x5634a7
mov eax, dword [ecx + 0xc]
add eax, edx
jmp 0x563e71
cmp byte [ecx + 1], 0
je 0x5634f1
movsx eax, word [esi + 0xe]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esi]
push edi
push eax
push dword [ecx + 8]
push 0x5e
push ebx
call fcn.0057b786
add esp, 0x14
test ebp, ebp
je 0x56350f
movzx eax, word [esi + 0xc]
test ax, ax
js 0x56350f
movsx ecx, ax
mov eax, dword [ebp + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 8], 0x45
jne 0x56350f
push edi
push 0x57
push ebx
call fcn.0057b752
jmp 0x5636ab
xor edx, edx
cmp dword [ebx + 0x2c], edx
jne case.0x563431.167
movsx eax, word [ebx + 0x20]
push edi
push eax
push dword [ebx + 0x1c]
push 0x5e
push dword [esp + 0x24]
call fcn.0057b786
add esp, 0x14
mov eax, edi
jmp 0x563e71
test byte [ebx + 4], 0x20
mov esi, dword [ebx + 0x1c]
je 0x563567
push edi
push dword [ebx + 0xc]
push ebp
call fcn.005633ad
mov esi, eax
movsx eax, word [ebx + 0x20]
push eax
push dword [ebx + 0x2c]
call fcn.005786b5
movsx eax, al
add esp, 0x14
cmp eax, 0x41
jle 0x563560
push 0xffffffffffffffff
lea eax, [eax*2 + 0x656d78]
push eax
push 0
push 1
push esi
push 0x60
push dword [esp + 0x2c]
call fcn.0057b7e0
add esp, 0x1c
mov eax, esi
jmp 0x563e71
test esi, esi
jns 0x563625
mov eax, dword [ebp + 0x34]
test eax, eax
jns 0x563620
movzx edx, word [ebx + 0x20]
mov ecx, dword [ebx + 0x2c]
movsx esi, dx
mov dword [esp + 0x20], ecx
test esi, esi
jns 0x563593
not eax
jmp 0x563e71
push edx
shl esi, 4
add esi, dword [ecx + 4]
push ecx
call fcn.005786ff
movsx ebx, ax
movzx eax, word [esi + 0xe]
sub ebx, dword [ebp + 0x34]
pop ecx
pop ecx
test al, 0x60
je 0x5635f7
mov ecx, 0x100
test ecx, eax
je 0x5635d0
push dword [esi]
push str.generated_column_loop_on___s_
push ebp
call fcn.00561f37
add esp, 0xc
xor eax, eax
jmp 0x563e71
or eax, ecx
mov word [esi + 0xe], ax
test al, al
jns 0x5635e9
push ebx
push esi
push dword [esp + 0x28]
push ebp
call fcn.00562b1f
add esp, 0x10
mov eax, 0xfe7f
and word [esi + 0xe], ax
jmp 0x563e6f
cmp byte [esi + 8], 0x45
jne 0x563e6f
push edi
push ebx
mov ebx, dword [esp + 0x1c]
push 0x51
push ebx
call fcn.0057b76b
push edi
push 0x57
push ebx
call fcn.0057b752
add esp, 0x1c
jmp 0x56350f
lea esi, [eax - 1]
jmp 0x56363d
cmp dword [ebp + 0x4c], edx
je 0x56363d
push edi
push ebx
push ebp
call fcn.00540bdd
add esp, 0xc
test eax, eax
jne 0x563e71
movzx eax, byte [ebx + 2]
push eax
movsx eax, word [ebx + 0x20]
push edi
push esi
push eax
push dword [ebx + 0x2c]
push ebp
call fcn.00562bb4
add esp, 0x18
jmp 0x563e71
push edi
push edx
push ebx
push ebp
call fcn.0053adb3
add esp, 0x10
jmp 0x56350f
push ebx
call fcn.00565ab0
xor ecx, ecx
push edi
mov eax, dword [eax + 8]
cmp byte [eax + 4], cl
sete cl
push ecx
push 0x47
push dword [esp + 0x24]
call fcn.0057b76b
jmp 0x56350c
push edi
push edx
push dword [ebx + 8]
push dword [esp + 0x20]
call fcn.0053aecc
jmp 0x563663
push dword [ebx + 8]
push edi
push dword [esp + 0x1c]
call fcn.00582f5d
add esp, 0xc
jmp 0x56350f
mov esi, dword [ebx + 8]
add esi, 2
push esi
call fcn.00578223
mov ebp, dword [esp + 0x18]
lea edi, [eax - 1]
push edi
push esi
push dword [ebp]
call fcn.0056a1ef
mov ebx, dword [esp + 0xc8]
push 0xfffffffffffffffa
push eax
mov eax, edi
cdq
push 0
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4d
push ebp
call fcn.0057b7e0
add esp, 0x2c
jmp 0x563e6f
movsx eax, word [ebx + 0x20]
push edi
push eax
push 0x4e
push dword [esp + 0x20]
call fcn.0057b76b
mov eax, dword [ebx + 8]
add esp, 0x10
cmp byte [eax + 1], 0
je 0x56350f
movsx eax, word [ebx + 0x20]
mov esi, dword [ebp + 0xec]
push eax
push esi
call fcn.0057b449
and dword [esi], 0
push 0xffffffffffffffff
push eax
push dword [esp + 0x24]
call fcn.0057ba0b
jmp 0x56350c
mov eax, dword [ebx + 0x1c]
jmp 0x563e71
mov eax, dword [ebx + 0xc]
mov cl, byte [eax]
cmp cl, 0x9b
jne 0x563756
push edi
push 1
push eax
jmp 0x56365d
cmp cl, 0x99
jne 0x563766
push edi
push 1
push dword [eax + 8]
jmp 0x563693
lea eax, [esp + 0x18]
mov byte [esp + 0x78], 0x9b
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x80], 0x10800
push eax
push ebp
mov dword [esp + 0x8c], edx
call fcn.00564221
mov esi, eax
lea eax, [esp + 0x44]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.00564221
push edi
push esi
push eax
push 0x6b
jmp 0x564134
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.00564221
push dword [ebx + 0x10]
mov esi, eax
call fcn.00565ab0
xor ecx, ecx
cmp byte [ebx + 2], 0x2d
sete cl
mov eax, dword [eax + 8]
mov dl, byte [eax + 4]
xor eax, eax
test dl, dl
sete al
xor ecx, eax
xor eax, eax
push ecx
test dl, dl
setne al
push eax
push edi
push esi
push 0x5b
push dword [esp + 0x38]
call fcn.0057b858
add esp, 0x28
jmp 0x564140
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x563818
movzx eax, word [ebx + 0x22]
test ax, ax
js 0x563818
movsx edx, ax
cmp edx, dword [ecx + 0x24]
jge 0x563818
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
jmp 0x5634a0
push ebx
push str.misuse_of_aggregate:__T__
push ebp
call fcn.00561f37
add esp, 0xc
jmp 0x564140
test dword [ebx + 4], 0x1000000
mov ecx, dword [ebp]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
mov al, byte [ecx + 0x54]
mov byte [esp + 0x20], al
je 0x563856
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax + 0x38]
jmp 0x563e71
cmp byte [ebp + 0x17], 0
je 0x56387e
push ebx
call fcn.00565248
pop ecx
test eax, eax
je 0x563878
push 0xffffffffffffffff
push ebx
push ebp
call fcn.005632af
add esp, 0xc
jmp 0x563e71
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
je 0x563891
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x563897
mov eax, edx
mov dword [esp + 0x10], edx
push edx
push dword [esp + 0x24]
push eax
push dword [ebx + 8]
push ecx
call fcn.00565bf3
mov esi, eax
add esp, 0x14
test esi, esi
je 0x563a7f
cmp dword [esi + 0x14], 0
jne 0x563a7f
test dword [esi + 4], 0x400000
je 0x5638e1
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5638e1
push edi
push dword [esi + 8]
push eax
push ebp
call fcn.0053ff00
add esp, 0x10
jmp 0x563e71
test dword [esi + 4], 0x280000
je 0x5638f5
push esi
push ebx
push ebp
call fcn.00564a0b
add esp, 0xc
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x18], edx
test ecx, ecx
jle 0x56396b
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
add ebx, 8
cmp edx, 0x20
jae 0x56392a
push dword [ebx]
call fcn.00565237
mov edx, dword [esp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x56392a
bts edi, edx
test byte [esi + 4], 0x20
je 0x56394d
cmp dword [esp + 0x24], 0
jne 0x56394d
push dword [ebx]
push ebp
call fcn.00564313
mov edx, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
inc edx
add ebx, 0x14
mov dword [esp + 0x18], edx
cmp edx, ecx
jl 0x56390e
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0xb8]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x5639e3
cmp dword [esp + 0x2c], 0
je 0x563996
mov eax, dword [ebp + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0x2c], eax
jmp 0x5639a9
push ecx
push ebp
call fcn.00569724
mov edx, dword [esp + 0x30]
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x18], ecx
test byte [esi + 4], 0xc0
je 0x5639ce
mov eax, dword [edx + 8]
mov al, byte [eax]
cmp al, 0xa7
je 0x5639bc
cmp al, 0xa9
jne 0x5639ce
mov edi, dword [edx + 8]
mov al, byte [esi + 4]
and al, 0xc0
mov byte [edi + 2], al
mov edi, dword [esp + 0xb8]
push 2
push 0
push ecx
push edx
push ebp
call fcn.005629ac
mov edx, dword [esp + 0x3c]
add esp, 0x14
jmp 0x5639e8
and dword [esp + 0x18], 0
mov eax, dword [esp + 0x10]
cmp eax, 2
jl 0x5639ff
test dword [ebx + 4], 0x100
je 0x563a03
push dword [edx + 0x1c]
jmp 0x563a06
test eax, eax
jle 0x563a16
push dword [edx + 8]
push eax
push esi
push dword [esp + 0x28]
call fcn.00585ce6
mov esi, eax
add esp, 0x10
test byte [esi + 4], 0x20
je 0x563a41
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x563a2b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
push 0xfffffffffffffffe
push eax
xor eax, eax
push eax
push eax
push eax
push 0x55
push dword [esp + 0x2c]
call fcn.0057b7e0
add esp, 0x1c
movzx eax, byte [ebx + 2]
mov ebx, dword [esp + 0x18]
push eax
push esi
mov esi, dword [esp + 0x18]
push esi
push edi
push ebx
push dword [esp + 0x40]
push ebp
call fcn.0057b69c
add esp, 0x1c
test esi, esi
je 0x56350f
cmp dword [esp + 0x2c], 0
jne 0x56350f
push esi
push ebx
push ebp
call fcn.00573dd7
jmp 0x5636ab
push ebx
push str.unknown_function:__T__
jmp 0x56381e
mov esi, dword [ebx + 0xc]
cmp dword [esi + 0x1c], edx
je 0x563a9a
mov al, byte [ebp + 0x1a]
cmp al, byte [esi + 2]
jbe 0x563aac
push esi
push ebp
call fcn.0055defa
mov dword [esi + 0x1c], eax
mov al, byte [ebp + 0x1a]
pop ecx
pop ecx
mov byte [esi + 2], al
push esi
call fcn.00565b08
pop ecx
cmp dword [ebx + 0x1c], eax
je 0x563aca
push eax
push dword [ebx + 0x1c]
push str._d_columns_assigned__d_values
push ebp
call fcn.00561f37
add esp, 0x10
movsx eax, word [ebx + 0x20]
add eax, dword [esi + 0x1c]
jmp 0x563e71
push str.row_value_misused
push ebp
call fcn.00561f37
pop ecx
pop ecx
jmp 0x564140
mov al, byte [ebp + 0x17]
mov edx, dword [ebx + 0x28]
mov byte [esp + 0x33], al
test edx, edx
je 0x563b2b
cmp byte [edx], 0
jne 0x563b07
movsx edi, word [ebx + 0x22]
add edi, dword [edx + 0xc]
jmp 0x564140
cmp byte [edx + 1], 0
je 0x563b2b
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 dword [esp + 0x24]
jmp 0x5640e4
push edi
push 0
push dword [ebx + 0x1c]
push 0x14
push dword [esp + 0x24]
call fcn.0057b786
push edi
mov byte [ebp + 0x17], 0
mov esi, eax
push dword [ebx + 0xc]
push ebp
call fcn.00562913
mov al, byte [esp + 0x53]
mov edx, dword [esp + 0x34]
push esi
push edx
mov byte [ebp + 0x17], al
call fcn.0058273c
mov ecx, dword [edx + 0x6c]
add esp, 0x28
jmp 0x563ebe
mov eax, dword [ebx + 0x14]
mov esi, edx
mov ecx, dword [ebp]
mov dword [esp + 0x10], edx
mov dword [esp + 0x40], eax
lea edx, [eax + 8]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], edx
mov edx, dword [eax]
mov eax, dword [ebp + 0x38]
dec eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x563c08
xor ebx, ebx
push ebx
push eax
push ecx
call fcn.005648df
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], esi
cmp byte [eax + 0x57], bl
je 0x563bd0
test esi, esi
je 0x564140
push esi
push eax
call fcn.0056485a
jmp 0x563ae1
lea eax, [esp + 0x18]
push eax
push esi
push ebp
call fcn.005400be
push eax
push esi
call fcn.00540faf
push 0x34
lea eax, [esp + 0x5c]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 0x50], esi
lea esi, [esp + 0x44]
mov byte [esp + 0x44], 0x35
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x14]
lea eax, [edx - 1]
test eax, eax
jle 0x563c88
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x3c]
test edx, edx
mov eax, dword [esp + 0x54]
cmove esi, ecx
cmovne eax, ecx
dec dword [ebp + 0x38]
push 0x10
mov dword [esp + 0x30], esi
mov esi, dword [ebp + 0x38]
push esi
push dword [esp + 0x34]
mov dword [esp + 0x60], eax
push ebp
call fcn.00564a78
mov edx, dword [esp + 0x2c]
push edi
push dword [edx + 0x14]
push ebp
call fcn.00562913
push dword [esp + 0x3c]
push ebx
call fcn.00582757
push esi
push ebx
call fcn.00584970
mov eax, dword [esp + 0x48]
add esp, 0x2c
mov esi, dword [esp + 0x2c]
add eax, 0x28
sub dword [esp + 0x24], 1
mov dword [esp + 0x1c], eax
jne 0x563c1f
mov edx, dword [esp + 0x28]
push edi
test dl, 1
je 0x563ca4
mov ecx, dword [esp + 0x44]
imul eax, edx, 0x14
push dword [eax + ecx - 0xc]
push ebp
call fcn.00562913
add esp, 0xc
jmp 0x563cb1
push 0
push 0x4b
push ebx
call fcn.0057b76b
add esp, 0x10
mov eax, dword [esp + 0x10]
test eax, eax
je 0x563cc5
push eax
push dword [esp + 0x38]
call fcn.0056485a
pop ecx
pop ecx
push ebx
call fcn.0055740e
push dword [esp + 0x24]
push ebx
call fcn.00584970
jmp 0x563824
mov dword [esp + 0x10], esi
je case.0x563431.110
cmp esi, 0x36
ja 0x563f26
mov edx, esi
mov dword [esp + 0x10], edx
je 0x563d57
cmp esi, 0x30
ja 0x563e26
je 0x563e15
mov dword [esp + 0x10], esi
mov ecx, esi
mov dword [esp + 0x10], ecx
sub esi, 0x13
je case.0x563431.114
sub esi, 1
je case.0x563431.138
sub esi, 0x10
je 0x563d82
sub esi, 7
je case.0x563431.110
sub esi, 1
je case.0x563431.110
sub esi, 1
jne case.0x563431.112
xor eax, eax
mov dword [esp + 0x1c], 0x80
cmp ecx, 0x2d
sete al
lea edx, [eax + 0x34]
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0xc]
push eax
mov dword [esp + 0x24], eax
call fcn.00565b08
xor esi, esi
inc esi
pop ecx
cmp eax, esi
jle 0x56405f
push dword [esp + 0x1c]
push edx
push edi
push ebx
push ebp
call fcn.0053b623
jmp 0x5640e9
push edi
push dword [ebx + 0xc]
push ebp
call fcn.00562913
push 0
push dword [ebx + 8]
call fcn.0055826c
movsx eax, al
push eax
push edi
push 0x58
push dword [esp + 0x34]
call fcn.0057b76b
add esp, 0x24
jmp 0x56350f
mov eax, dword [ebp]
cmp byte [eax + 0x57], 0
jne 0x5635c9
cmp ecx, 0x8a
jne 0x563de8
test dword [ebx + 4], 0x1000
je 0x563de8
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
xor eax, eax
inc eax
cmp ecx, eax
je 0x563de8
push eax
push ecx
push ebp
call fcn.005784bd
jmp 0x563824
push ebx
push ebp
call fcn.0055defa
pop ecx
pop ecx
jmp 0x563e71
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.00564221
push edi
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.0057b76b
jmp 0x564032
push 0
push 0
push edi
push ebx
push ebp
call fcn.0053fdd6
jmp 0x56350c
mov eax, esi
mov dword [esp + 0x10], esi
mov edx, esi
mov dword [esp + 0x10], edx
sub eax, 0x31
je 0x563ec6
sub eax, 1
je 0x563e7c
sub eax, 1
je 0x563e7c
sub eax, 1
je 0x563d57
sub eax, 1
je 0x563d57
mov ebx, dword [esp + 0xb8]
push ebx
push 0
push 0x4b
push dword [esp + 0x20]
call fcn.0057b76b
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
push edi
push 1
push 0x47
push dword [esp + 0x20]
call fcn.0057b76b
lea eax, [esp + 0x28]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.00564221
mov ebx, dword [esp + 0x30]
push eax
push esi
push ebx
call fcn.0057b752
push edi
push 0
push 0x47
push ebx
mov esi, eax
call fcn.0057b76b
push esi
push ebx
call fcn.0058273c
mov ecx, dword [ebx + 0x6c]
add esp, 0x40
mov dword [eax + 8], ecx
jmp 0x564140
mov esi, dword [ebp + 0x38]
push dword [esp + 0xb8]
dec esi
push 0
push 0x4b
push dword [esp + 0x20]
lea edi, [esi - 1]
mov dword [ebp + 0x38], edi
call fcn.0057b76b
push edi
push esi
push ebx
push ebp
call fcn.00562d0f
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x34]
push ebx
push 1
push 0x47
push ebp
call fcn.0057b76b
push esi
push ebp
call fcn.00584970
push 0
push ebx
push 0x56
push ebp
call fcn.0057b76b
add esp, 0x48
push edi
push ebp
call fcn.00584970
pop ecx
pop ecx
jmp 0x563e6f
mov dword [esp + 0x10], esi
cmp esi, 0x67
ja 0x5640ee
je case.0x563431.110
mov dword [esp + 0x10], esi
mov edx, esi
mov dword [esp + 0x10], edx
sub esi, 0x37
je 0x563d57
sub esi, 1
je 0x563d57
sub esi, 1
je 0x563d57
sub esi, 0xe
je 0x563fdc
sub esi, 6
je 0x563f76
sub esi, 0x19
je case.0x563431.110
jmp case.0x563431.112
movzx eax, word [ebx + 0x20]
mov ecx, dword [ebx + 0x2c]
push eax
push ecx
mov dword [esp + 0x28], ecx
movsx esi, ax
call fcn.005786ff
movsx ecx, ax
mov eax, dword [esp + 0x28]
inc ecx
push edi
movsx eax, word [eax + 0x22]
inc eax
imul eax, dword [ebx + 0x1c]
mov ebx, dword [esp + 0x20]
add eax, ecx
push eax
push 0x9d
push ebx
call fcn.0057b76b
add esp, 0x18
test esi, esi
js 0x564140
mov eax, dword [esp + 0x20]
add esi, esi
mov eax, dword [eax + 4]
cmp byte [eax + esi*8 + 8], 0x45
jne 0x564140
push edi
push 0x57
push ebx
call fcn.0057b752
jmp 0x563824
xor ecx, ecx
cmp dword [ebp + 0x84], ecx
jne 0x563ffd
cmp byte [ebp + 0x12], cl
jne 0x563ffd
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.00561f37
pop ecx
pop ecx
jmp 0x5635c9
xor edx, edx
inc edx
cmp byte [ebx + 1], 2
jne 0x564018
mov eax, dword [ebp + 0x80]
mov ecx, ebp
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], dl
xor ecx, ecx
mov al, byte [ebx + 1]
push ecx
cmp al, 4
jne 0x56403a
push dword [ebx + 8]
push ecx
push 4
push ecx
push 0x46
push dword [esp + 0x2c]
call fcn.0057b7e0
add esp, 0x1c
jmp 0x564140
cmp dword [ebp + 0x84], ecx
push ecx
push dword [ebx + 8]
movsx eax, al
push eax
mov eax, 0x713
cmovne edx, eax
push edx
push ebp
call fcn.0056a03a
add esp, 0x18
jmp 0x564140
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x24]
push ebp
call fcn.00564221
mov dword [esp + 0x30], eax
lea eax, [esp + 0x44]
push eax
push dword [ebx + 0x10]
push ebp
call fcn.00564221
push edi
push esi
mov esi, dword [esp + 0x34]
push 0x47
push esi
mov dword [esp + 0x5c], eax
call fcn.0057b76b
mov eax, dword [ebx + 4]
shr eax, 0xa
and eax, 1
push eax
push dword [esp + 0x48]
mov eax, dword [esi + 0x6c]
add eax, 2
push eax
push dword [esp + 0x68]
push dword [esp + 0x5c]
push dword [esp + 0x4c]
push dword [ebx + 0x10]
push dword [esp + 0x64]
push ebp
call fcn.0053a612
add esp, 0x4c
cmp dword [esp + 0x1c], 0x80
jne 0x5640d8
push edi
push 0
push 0x47
push esi
jmp 0x563483
push dword [esp + 0x34]
push edi
push dword [esp + 0x2c]
push 0x5c
push esi
call fcn.0057b786
add esp, 0x14
jmp 0x564140
mov dword [esp + 0x10], esi
sub esi, 0x68
je case.0x563431.110
sub esi, 1
je case.0x563431.110
sub esi, 1
je case.0x563431.110
sub esi, 1
je case.0x563431.110
sub esi, 1
jne case.0x563431.112
lea eax, [esp + 0x18]
push eax
push dword [ebx + 0xc]
push ebp
call fcn.00564221
mov esi, eax
lea eax, [esp + 0x44]
push eax
push dword [ebx + 0x10]
push ebp
call fcn.00564221
push edi
push esi
push eax
push dword [esp + 0x34]
push dword [esp + 0x3c]
call fcn.0057b786
add esp, 0x2c
push dword [esp + 0x18]
push ebp
call fcn.00573e04
mov eax, dword [esp + 0x40]
pop ecx
pop ecx
test eax, eax
je 0x56350f
mov cl, byte [ebp + 0x13]
cmp cl, 8
jae 0x56350f
movzx ecx, cl
mov dword [ebp + ecx*4 + 0xa4], eax
inc byte [ebp + 0x13]
jmp 0x56350f