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

Disassembly:
sub esp, 0x9c
push ebx
mov ebx, dword [esp + 0xac]
xor edx, edx
push ebp
mov ebp, dword [esp + 0xac]
push esi
push edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], edx
mov esi, dword [edi + 8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x1c], ebp
test ebp, ebp
je case.0x101445d7.113
movzx ecx, byte [ebp]
mov dword [esp + 0x10], ecx
cmp ecx, 0x6c
jbe 0x10144e80
lea eax, [ecx - 0x6d]
mov dword [esp + 0x10], ecx
cmp eax, 0x45
ja case.0x101445d7.113
movzx eax, byte [eax + 0x101452fb]
jmp dword [eax*4 + 0x1014529f]
mov ebp, dword [ebp + 0xc]
jmp 0x101445a3
movsx eax, word [ebp + 0x22]
mov ecx, dword [ebp + 0x28]
imul eax, eax, 0x14
add eax, dword [ecx + 0x1c]
mov dword [esp + 0x1c], eax
cmp byte [ecx], dl
jne 0x10144600
mov eax, dword [eax + 0xc]
jmp 0x10144fce
cmp byte [ecx + 1], dl
je case.0x101445d7.164
mov edi, dword [eax]
movsx eax, word [eax + 0x12]
push ebx
push eax
push dword [ecx + 8]
push 0x59
push esi
call fcn.1014ecdb
mov eax, dword [esp + 0x30]
add esp, 0x14
movzx eax, word [eax + 0x10]
test ax, ax
js 0x10144fcc
cwde
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
cmp byte [ecx + eax + 0xd], 0x45
jne 0x10144fcc
push ebx
push 0x53
push esi
call fcn.101596ba
jmp 0x1014480c
test byte [ebp + 4], 8
mov ecx, dword [ebp + 0x1c]
je 0x101446aa
push ebx
push dword [ebp + 0xc]
push edi
call fcn.1014456b
add esp, 0xc
mov edi, eax
cmp dword [ebp + 0x2c], 0
je 0x1014467b
movsx eax, word [ebp + 0x20]
push eax
push dword [ebp + 0x2c]
call fcn.101567de
pop ecx
pop ecx
jmp 0x1014467e
mov al, byte [ebp + 1]
movsx eax, al
cmp eax, 0x41
jle 0x101446a3
push 0xffffffffffffffff
lea eax, [eax*2 + 0x102802cc]
push eax
push 0
push 1
push edi
push 0x5a
push esi
lfence
call fcn.1014ecdb
add esp, 0x1c
mov eax, edi
jmp 0x10144fce
test ecx, ecx
jns 0x10144771
mov eax, dword [edi + 0x34]
test eax, eax
jns 0x1014476e
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x1c], ecx
movzx ecx, word [ebp + 0x20]
movsx edx, cx
test edx, edx
jns 0x101446d6
not eax
jmp 0x10144fce
mov eax, dword [esp + 0x1c]
imul ebp, edx, 0x14
push ecx
push eax
add ebp, dword [eax + 4]
call fcn.10156821
pop ecx
pop ecx
movsx ecx, ax
sub ecx, dword [edi + 0x34]
movzx eax, word [ebp + 0x10]
mov dword [esp + 0x1c], ecx
test al, 0x60
je 0x1014474d
mov edx, 0x100
test edx, eax
je 0x1014471c
push dword [ebp]
push str.generated_column_loop_on___s_
push edi
call fcn.10143429
add esp, 0xc
xor eax, eax
jmp 0x10144fce
or eax, edx
mov word [ebp + 0x10], ax
movzx edx, ax
test al, al
jns 0x1014473c
push ecx
push ebp
push edi
call fcn.10143d99
movzx edx, word [ebp + 0x10]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
and edx, 0xfe7f
mov word [ebp + 0x10], dx
mov eax, ecx
jmp 0x10144fce
cmp byte [ebp + 0xd], 0x45
jne 0x10144746
push ebx
push ecx
push 0x4e
push esi
call fcn.101596d3
push ebx
push 0x53
push esi
call fcn.101596ba
add esp, 0x1c
jmp 0x10144fcc
lea ecx, [eax - 1]
mov al, byte [ebp + 2]
push ebx
mov byte [esp + 0x1b], al
movsx eax, word [ebp + 0x20]
push eax
push ecx
push dword [ebp + 0x2c]
push esi
call fcn.1014ecdb
add esp, 0x14
cmp byte [esp + 0x17], 0
je 0x101447ae
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.1015fcbe
pop ecx
pop ecx
mov ecx, eax
cmp byte [ecx], 0x59
jne 0x101447ae
movzx eax, byte [esp + 0x17]
mov word [ecx + 2], ax
cmp dword [ebp + 0x2c], 0
jne 0x10144fcc
cmp byte [ebp + 1], 0x45
jmp 0x10144638
push ebx
push edx
push ebp
push edi
call fcn.10125348
jmp 0x10144fc9
push ebp
call fcn.10146832
xor ecx, ecx
push ebx
mov eax, dword [eax + 8]
cmp byte [eax + 4], cl
sete cl
push ecx
push 0x45
push esi
call fcn.101596d3
add esp, 0x14
jmp 0x10144fcc
push ebx
push edx
push dword [ebp + 8]
push esi
call fcn.1012545f
jmp 0x10144fc9
push dword [ebp + 8]
push ebx
push esi
call fcn.101603ef
add esp, 0xc
jmp 0x10144fcc
mov esi, dword [ebp + 8]
add esi, 2
push esi
call fcn.1015666b
mov ebp, dword [esp + 0x24]
lea edi, [eax - 1]
push edi
push esi
push dword [ebp]
call fcn.1014a5ee
push 0xfffffffffffffff9
push eax
mov eax, edi
cdq
push 0
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4a
push ebp
call fcn.1014ecdb
add esp, 0x2c
jmp 0x10144fcc
movsx eax, word [ebp + 0x20]
push ebx
push eax
push 0x4b
push esi
call fcn.101596d3
mov eax, dword [ebp + 8]
add esp, 0x10
cmp byte [eax + 1], 0
je 0x10144fcc
movsx eax, word [ebp + 0x20]
mov esi, dword [edi + 0xdc]
push eax
push esi
call fcn.101593d6
and dword [esi], 0
push 0xffffffffffffffff
push eax
push dword [esp + 0x30]
call fcn.1014ecdb
jmp 0x101447ea
mov eax, dword [ebp + 0x1c]
jmp 0x10144fce
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
cmp cl, 0x98
jne 0x101448ad
push ebx
push 1
push eax
jmp 0x101447c4
cmp cl, 0x96
jne 0x101448bd
push ebx
push 1
push dword [eax + 8]
jmp 0x101447f7
lea eax, [esp + 0x18]
mov byte [esp + 0x78], 0x98
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x80], 0x4400
push eax
push edi
mov dword [esp + 0x8c], edx
call fcn.1014ecdb
mov esi, eax
lea eax, [esp + 0x48]
push eax
push dword [ebp + 0xc]
push edi
call fcn.1014ecdb
push ebx
push esi
push eax
push 0x6a
jmp 0x1014525c
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0xc]
push edi
call fcn.1014ecdb
push dword [ebp + 0x10]
mov esi, eax
call fcn.10146832
xor ecx, ecx
cmp byte [ebp + 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 ebx
push esi
push 0x57
push dword [esp + 0x44]
call fcn.1014ecdb
add esp, 0x28
jmp 0x10145268
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x10144972
movzx ecx, word [ebp + 0x22]
test cx, cx
js 0x10144972
movsx ecx, cx
cmp ecx, dword [eax + 0x2c]
jge 0x10144972
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
jmp 0x10144fce
push dword [ebp + 8]
push str.misuse_of_aggregate:__s__
push edi
call fcn.10143429
add esp, 0xc
jmp 0x10145268
test dword [ebp + 4], 0x1000000
mov eax, dword [edi]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], edx
mov al, byte [eax + 0x4e]
mov byte [esp + 0x10], al
je 0x101449b1
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax + 0x38]
jmp 0x10144fce
cmp byte [edi + 0x17], dl
je 0x101449d4
push ebp
call fcn.10146251
pop ecx
test eax, eax
je 0x101449d2
push 0xffffffffffffffff
push ebp
push edi
call fcn.1014446c
add esp, 0xc
jmp 0x10144fce
xor edx, edx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x38], eax
test eax, eax
je 0x101449e7
mov eax, dword [eax]
mov dword [esp + 0x28], eax
jmp 0x101449ed
mov eax, edx
mov dword [esp + 0x28], edx
mov ecx, dword [ebp + 8]
push edx
push dword [esp + 0x14]
mov dword [esp + 0x48], ecx
push eax
push ecx
push dword [esp + 0x44]
call fcn.1014698c
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
je 0x10144c05
cmp dword [eax + 0x14], 0
jne 0x10144c05
test dword [eax + 4], 0x400000
je 0x10144a3d
mov edx, dword [esp + 0x38]
push ebx
push dword [eax + 8]
push edx
push edi
call fcn.101297b5
add esp, 0x10
jmp 0x10144fce
test dword [eax + 4], 0x280000
je 0x10144a55
push eax
push ebp
push edi
call fcn.101459f5
mov eax, dword [esp + 0x1c]
add esp, 0xc
and dword [esp + 0x18], 0
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x10144ad9
mov edx, dword [esp + 0x38]
add edx, 4
mov dword [esp + 0x3c], edx
xor edx, edx
mov esi, dword [esp + 0x3c]
mov ebx, edx
mov ebp, edx
cmp edx, 0x20
jae 0x10144a97
push dword [esi]
call fcn.10146240
mov edx, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x14]
pop ecx
mov ecx, dword [esp + 0x28]
je 0x10144a97
bts ebx, edx
test byte [eax + 4], 0x20
je 0x10144ab9
test ebp, ebp
jne 0x10144ab9
push dword [esi]
push edi
call fcn.10145432
mov edx, dword [esp + 0x20]
mov ebp, eax
mov eax, dword [esp + 0x18]
pop ecx
pop ecx
mov ecx, dword [esp + 0x28]
inc edx
add esi, 0x14
mov dword [esp + 0x18], edx
cmp edx, ecx
jl 0x10144a77
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x10144b5b
cmp dword [esp + 0x30], 0
je 0x10144b01
mov eax, dword [edi + 0x2c]
lea ebx, [eax + 1]
add eax, ecx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x2c], eax
jmp 0x10144b14
push ecx
push edi
call fcn.10149ba4
mov edx, dword [esp + 0x40]
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x10]
test byte [eax + 4], 0xc0
je 0x10144b46
mov ebx, dword [edx + 4]
mov bl, byte [ebx]
mov byte [esp + 0x17], bl
cmp bl, 0xa4
mov ebx, dword [esp + 0x24]
je 0x10144b37
cmp byte [esp + 0x17], 0xa6
jne 0x10144b46
mov esi, dword [edx + 4]
mov al, byte [eax + 4]
and al, 0xc0
mov byte [esi + 2], al
mov esi, dword [esp + 0x20]
push 3
push 0
push ecx
push edx
push edi
call fcn.10143c27
mov edx, dword [esp + 0x4c]
add esp, 0x14
jmp 0x10144b60
and dword [esp + 0x18], 0
mov eax, dword [esp + 0x28]
cmp eax, 2
jl 0x10144b8c
test byte [ebp + 4], 0x80
je 0x10144b90
lfence
push dword [edx + 0x18]
push eax
push dword [esp + 0x18]
push dword [esp + 0x40]
call fcn.10163230
add esp, 0x10
mov dword [esp + 0x10], eax
jmp 0x10144b9c
test eax, eax
jle 0x10144b98
lfence
push dword [edx + 4]
jmp 0x10144b75
mov eax, dword [esp + 0x10]
test byte [eax + 4], 0x20
je 0x10144bc4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10144bb1
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 8]
push 0xfffffffffffffffe
push eax
xor eax, eax
push eax
push eax
push eax
push 0x51
push esi
call fcn.1014ecdb
add esp, 0x1c
movzx eax, byte [ebp + 2]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x18]
push eax
push dword [esp + 0x14]
push esi
push ebx
push ebp
push dword [esp + 0x44]
push edi
call fcn.1014ecdb
add esp, 0x1c
test esi, esi
je 0x10144fcc
cmp dword [esp + 0x30], 0
jne 0x10144fcc
push esi
push ebp
push edi
call fcn.1014ecdb
jmp 0x1014480c
push dword [esp + 0x40]
push str.unknown_function:__s__
jmp 0x1014497a
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x1c], edx
jne 0x10144c2f
push esi
push edi
call fcn.1013fd2f
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], ecx
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x10144c54
push esi
call fcn.101468a1
pop ecx
cmp edx, eax
je 0x10144c54
push eax
push edx
push str._d_columns_assigned__d_values
push edi
call fcn.10143429
mov esi, dword [ebp + 0xc]
add esp, 0x10
movsx eax, word [ebp + 0x20]
add eax, dword [esi + 0x1c]
jmp 0x10144fce
push str.row_value_misused
push edi
call fcn.10143429
pop ecx
pop ecx
jmp 0x10145268
push dword [ebp + 0x1c]
mov bl, byte [edi + 0x17]
push 0x15
push esi
call fcn.101596ba
mov esi, eax
mov byte [edi + 0x17], 0
mov eax, dword [esp + 0x30]
push eax
push dword [ebp + 0xc]
push edi
call fcn.1014456b
mov byte [edi + 0x17], bl
mov ebx, dword [esp + 0x38]
push esi
push ebx
mov dword [esp + 0x44], eax
call fcn.1015fcbe
mov ecx, dword [ebx + 0x6c]
push esi
push ebx
mov dword [eax + 8], ecx
call fcn.1015fcbe
mov ebx, dword [esp + 0x4c]
add esp, 0x28
mov dword [eax + 0xc], ebx
jmp 0x10145268
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi]
mov dword [esp + 0x28], ecx
add ecx, 4
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], eax
mov ecx, dword [ecx]
dec dword [edi + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x10144d6c
push edx
push ecx
push eax
call fcn.101458f3
mov ebp, eax
add esp, 0xc
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], ebp
cmp byte [eax + 0x51], 0
je 0x10144d2c
test ebp, ebp
je 0x10145268
push ebp
push eax
call fcn.10145850
jmp 0x10144c6b
lea eax, [esp + 0x18]
push eax
push ebp
push edi
call fcn.101298f7
push eax
push ebp
call fcn.1012a63b
push 0x34
lea eax, [esp + 0x5c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x64]
add esp, 0x20
mov byte [esp + 0x44], 0x35
and dword [esp + 0x18], 0
mov dword [esp + 0x50], ebp
mov dword [esp + 0x2c], edx
jmp 0x10144d6e
mov ebp, edx
mov eax, dword [esp + 0x38]
dec eax
test eax, eax
jle 0x10144e2f
dec eax
shr eax, 1
inc eax
mov ebp, eax
mov eax, dword [esp + 0x10]
test ecx, ecx
je 0x10144ddf
mov esi, dword [edi + 0x38]
mov eax, dword [eax]
dec esi
push 0x10
push esi
push edx
push edi
mov dword [esp + 0x64], eax
mov dword [edi + 0x38], esi
call fcn.10145a70
mov ecx, dword [esp + 0x20]
push ebx
push dword [ecx + 0x14]
push edi
call fcn.1014ecdb
push dword [esp + 0x4c]
push dword [esp + 0x40]
call fcn.1015fce3
push esi
mov esi, dword [esp + 0x48]
push esi
call fcn.10161d60
mov eax, dword [esp + 0x3c]
add esp, 0x2c
mov edx, dword [esp + 0x2c]
add eax, 0x28
mov dword [esp + 0x10], eax
sub ebp, 1
jne 0x10144d89
jmp 0x10144e2b
mov esi, dword [edi + 0x38]
mov eax, dword [eax]
dec esi
push 0x10
push esi
push eax
push edi
mov dword [edi + 0x38], esi
call fcn.10145a70
mov ecx, dword [esp + 0x20]
push ebx
push dword [ecx + 0x14]
push edi
call fcn.1014ecdb
push dword [esp + 0x4c]
push dword [esp + 0x40]
call fcn.1015fce3
push esi
mov esi, dword [esp + 0x48]
push esi
call fcn.10161d60
mov eax, dword [esp + 0x3c]
add esp, 0x2c
add eax, 0x28
mov dword [esp + 0x10], eax
sub ebp, 1
jne 0x10144ddf
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
push ebx
test al, 1
je 0x10144e4e
mov ecx, dword [esp + 0x2c]
imul eax, eax, 0x14
push dword [eax + ecx - 0x10]
push edi
call fcn.1014ecdb
add esp, 0xc
jmp 0x10144e5b
push 0
push 0x48
push esi
call fcn.101596d3
add esp, 0x10
test ebp, ebp
je 0x10144e6b
push ebp
push dword [esp + 0x28]
call fcn.10145850
pop ecx
pop ecx
push esi
call fcn.1013a102
push dword [esp + 0x34]
push esi
call fcn.10161d60
jmp 0x10144980
je case.0x101445d7.109
cmp ecx, 0x36
ja 0x10145084
je 0x101451a4
cmp ecx, 0x30
ja 0x10144f9a
je 0x10144f8b
mov eax, ecx
sub eax, 0x13
je case.0x101445d7.112
sub eax, 1
je case.0x101445d7.136
sub eax, 0x10
je 0x10144ef1
sub eax, 7
je case.0x101445d7.109
sub eax, 1
je case.0x101445d7.109
sub eax, 1
jne case.0x101445d7.113
xor eax, eax
mov edx, 0x80
cmp ecx, 0x2d
mov dword [esp + 0x2c], edx
sete al
lea esi, [eax + 0x34]
mov dword [esp + 0x10], esi
jmp 0x101451a8
push ebx
push dword [ebp + 0xc]
push edi
call fcn.1014456b
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x10144f13
push ebx
push edi
push 0x4e
push esi
call fcn.101596d3
add esp, 0x10
mov edi, ebx
push 0
push dword [ebp + 8]
call fcn.1014ecdb
movsx eax, al
push eax
push ebx
push 0x54
push esi
call fcn.101596d3
add esp, 0x18
jmp 0x101446a3
mov eax, dword [edi]
cmp byte [eax + 0x51], dl
jne 0x10144715
cmp ecx, 0x88
jne 0x10144f61
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
xor eax, eax
inc eax
cmp ecx, eax
je 0x10144f61
push eax
push ecx
push edi
call fcn.101566d8
jmp 0x10144980
push ebp
push edi
call fcn.1013fd2f
pop ecx
pop ecx
jmp 0x10144fce
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0xc]
push edi
call fcn.1014ecdb
push ebx
push eax
push dword [esp + 0x24]
push esi
call fcn.101596d3
jmp 0x1014517a
push edx
push edx
push ebx
push ebp
push edi
call fcn.1012968b
jmp 0x101447ea
sub ecx, 0x31
je 0x10145023
sub ecx, 1
je 0x10144fd9
sub ecx, 1
je 0x10144fd9
sub ecx, 1
je 0x101451a4
sub ecx, 1
je 0x101451a4
push ebx
push edx
push 0x48
push esi
call fcn.101596d3
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
push ebx
push 1
push 0x45
push esi
call fcn.101596d3
lea eax, [esp + 0x28]
push eax
push dword [ebp + 0xc]
push edi
call fcn.1014ecdb
push eax
push dword [esp + 0x30]
push esi
call fcn.101596ba
mov ebp, dword [esp + 0x48]
mov esi, eax
push ebx
push 0
push 0x45
push ebp
call fcn.101596d3
push esi
push ebp
call fcn.1015fcbe
mov ecx, dword [ebp + 0x6c]
add esp, 0x40
mov dword [eax + 8], ecx
jmp 0x10145268
mov esi, dword [edi + 0x38]
mov eax, dword [esp + 0x24]
dec esi
mov ebx, dword [esp + 0xb0]
push eax
push edx
push 0x48
push dword [esp + 0x2c]
lea edi, [esi - 1]
mov dword [ebx + 0x38], edi
call fcn.101596d3
push edi
push esi
push ebp
push ebx
call fcn.10143f20
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
push ebx
push 1
push 0x45
push ebp
call fcn.101596d3
push esi
push ebp
call fcn.10161d60
push 0
push ebx
push 0x52
push ebp
call fcn.101596d3
add esp, 0x48
push edi
push ebp
call fcn.10161d60
pop ecx
pop ecx
jmp 0x10144fcc
cmp ecx, 0x66
ja 0x1014521a
je case.0x101445d7.109
sub ecx, 0x37
je 0x101451a4
sub ecx, 1
je 0x101451a4
sub ecx, 1
je 0x101451a4
sub ecx, 0xe
je 0x10145131
sub ecx, 6
je 0x101450c6
sub ecx, 0x18
je case.0x101445d7.109
jmp case.0x101445d7.113
movzx eax, word [ebp + 0x20]
mov ecx, dword [ebp + 0x2c]
push eax
movsx edx, ax
push ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], edx
call fcn.10156821
movsx ecx, ax
mov eax, dword [esp + 0x24]
inc ecx
push ebx
movsx eax, word [eax + 0x2a]
inc eax
imul eax, dword [ebp + 0x1c]
add eax, ecx
push eax
push 0x95
push esi
call fcn.101596d3
mov eax, dword [esp + 0x58]
add esp, 0x18
test eax, eax
js 0x10145268
imul ecx, eax, 0x14
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
cmp byte [ecx + eax + 0xd], 0x45
jne 0x10145268
push ebx
push 0x53
push esi
call fcn.101596ba
jmp 0x10144980
cmp dword [edi + 0x78], edx
jne 0x1014514d
cmp byte [edi + 0x12], dl
jne 0x1014514d
push str.RAISE___may_only_be_used_within_a_trigger_program
push edi
call fcn.10143429
pop ecx
pop ecx
jmp 0x10144715
mov al, byte [ebp + 1]
xor ecx, ecx
inc ecx
cmp al, 2
jne 0x10145166
cmp dword [edi + 0x74], edx
mov eax, edi
cmovne eax, dword [edi + 0x74]
mov byte [eax + 0x15], cl
mov al, byte [ebp + 1]
push edx
cmp al, 4
jne 0x10145182
push dword [ebp + 8]
push edx
push 4
push edx
push 0x44
push esi
call fcn.1014ecdb
add esp, 0x1c
jmp 0x10145268
cmp dword [edi + 0x78], edx
push edx
push dword [ebp + 8]
movsx eax, al
push eax
mov eax, 0x713
cmovne ecx, eax
push ecx
push edi
call fcn.1014ecdb
add esp, 0x18
jmp 0x10145268
mov esi, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
push eax
mov dword [esp + 0x20], eax
call fcn.101468a1
pop ecx
cmp eax, 1
jle 0x101451cd
push edx
push esi
push ebx
push ebp
push edi
call fcn.1012594e
add esp, 0x14
jmp 0x10145268
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x20]
lfence
push edi
call fcn.1014ecdb
mov esi, eax
lea eax, [esp + 0x48]
push eax
push dword [ebp + 0x10]
push edi
call fcn.1014ecdb
mov ecx, dword [ebp + 4]
shr ecx, 9
and ecx, 1
push ecx
mov ecx, dword [esp + 0x48]
or ecx, 0x20
push ecx
push ebx
push eax
push esi
push dword [esp + 0x3c]
push dword [ebp + 0x10]
push dword [esp + 0x50]
push edi
call fcn.1014ecdb
add esp, 0x3c
jmp 0x10145268
sub ecx, 0x67
je case.0x101445d7.109
sub ecx, 1
je case.0x101445d7.109
sub ecx, 1
je case.0x101445d7.109
sub ecx, 1
je case.0x101445d7.109
sub ecx, 1
jne case.0x101445d7.113
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0xc]
push edi
call fcn.1014ecdb
mov esi, eax
lea eax, [esp + 0x48]
push eax
push dword [ebp + 0x10]
push edi
call fcn.1014ecdb
push ebx
push esi
push eax
push dword [esp + 0x34]
push dword [esp + 0x48]
call fcn.1014ecdb
add esp, 0x2c
push dword [esp + 0x18]
push edi
call fcn.10152995
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x10144fcc
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x10144fcc
movzx eax, al
mov dword [edi + eax*4 + 0x98], ecx
inc byte [edi + 0x13]
jmp 0x10144fcc