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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa0
push esi
mov esi, ecx
mov dword [esp + 0x1c], edx
push edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], 0
mov edi, dword [esi + 8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
test edi, edi
je 0x10089450
nop
mov ecx, 0x72
test edx, edx
je 0x10087fec
movzx ecx, byte [edx]
lea eax, [ecx - 0x13]
mov dword [esp + 0x14], ecx
cmp eax, 0x9a
ja case.0x10088005.21
movzx eax, byte [eax + 0x1008981c]
jmp dword [eax*4 + 0x100897a4]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x20], edx
jmp 0x10087fe0
mov ecx, dword [edx + 0x28]
movsx eax, word [edx + 0x22]
cmp byte [ecx], 0
lea eax, [eax + eax*2]
jne 0x10088031
mov ecx, dword [ecx + 0x1c]
mov eax, dword [ecx + eax*8 + 0x10]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [ecx + 1], 0
je case.0x10088005.162
mov edx, dword [ecx + 0x1c]
mov esi, dword [ecx + 8]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + eax*8 + 0xc]
cmp dword [edi + 0x70], ecx
jg 0x10088066
push dword [ebp + 8]
mov ecx, edi
push edx
push esi
mov edx, 0x5a
call fcn.1006dd00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test byte [edx + 4], 8
mov ecx, dword [edx + 0x1c]
je 0x100881b1
push dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov ecx, esi
call fcn.10087fa0
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], edx
movsx ecx, word [eax + 0x20]
test ecx, ecx
js 0x100880d5
mov eax, dword [eax + 0x2c]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0xd]
jmp 0x100880d7
mov al, 0x44
movsx eax, al
mov dword [esp + 0x10], eax
cmp eax, 0x41
je 0x100881a9
mov esi, dword [ebp + 8]
cmp edx, esi
je 0x1008813c
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1008810b
push 0
push esi
push edx
mov edx, 0x4f
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
jmp 0x10088136
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4f
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, esi
mov dword [esp + 0xc], esi
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x70], esi
jg 0x1008815c
push 0
push 1
push edx
mov edx, 0x5b
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
mov esi, eax
jmp 0x1008818b
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, esi
push 0xffffffffffffffff
mov ecx, edi
lea eax, [eax*2 + 0x101abbcc]
push eax
call fcn.1006e770
mov edx, dword [esp + 0x14]
add esp, 8
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test ecx, ecx
jns 0x100881c9
mov ecx, dword [esi + 0x34]
test ecx, ecx
jns 0x100881c8
movsx eax, word [edx + 0x20]
sub eax, ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
dec ecx
mov al, byte [edx + 0x26]
push dword [ebp + 8]
mov byte [esp + 0x2b], al
movsx eax, word [edx + 0x20]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, edi
call fcn.10087c20
mov cl, byte [esp + 0x33]
add esp, 0xc
test cl, cl
je 0x10089798
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x10089798
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov ecx, esi
push edi
push 0
call fcn.10087a60
add esp, 8
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, edx
call fcn.10084dc0
mov ecx, dword [edi + 0x6c]
mov edx, eax
cmp dword [edi + 0x70], ecx
jg 0x1008825b
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x46
call fcn.1006dd00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], edx
jmp 0x1008835f
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10089798
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10088287
sub edx, esi
and edx, 0x3fffffff
push 1
push edx
lea edx, [esp + 0x40]
call fcn.1004fd60
jmp 0x10088796
mov esi, dword [edi + 0x6c]
mov eax, dword [edx + 8]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], esi
jg 0x100882d0
push 0
push dword [ebp + 8]
mov edx, 0x6e
mov ecx, edi
push 0
call fcn.1006dd00
add esp, 0xc
mov esi, eax
jmp 0x10088302
mov edx, dword [ebp + 8]
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x6e
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
push 0
push dword [esp + 0x10]
mov edx, esi
mov ecx, edi
call fcn.1006e770
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10088344
push 0
push dword [ebp + 8]
mov edx, 0x49
mov ecx, edi
push 0
call fcn.1006dd00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x49
mov dword [eax + ecx*4 + 4], 0
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [edx + 8]
add edx, 2
jne 0x1008838b
xor esi, esi
jmp 0x1008839f
mov esi, edx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10088390
sub esi, ecx
and esi, 0x3fffffff
mov ecx, dword [edi]
dec esi
push esi
call fcn.10050b00
mov dword [esp + 0x10], eax
add esp, 4
mov eax, esi
mov esi, dword [edi + 0x6c]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
cmp dword [edi + 0x70], esi
jg 0x100883d9
push 0
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x4b
call fcn.1006dd00
add esp, 0xc
mov esi, eax
jmp 0x10088407
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
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
push 0xfffffffffffffff9
push dword [esp + 0x10]
mov edx, esi
mov ecx, edi
call fcn.1006e770
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsx eax, word [edx + 0x20]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x1008844d
push 0
push dword [ebp + 8]
mov edx, 0x4c
mov ecx, edi
push eax
call fcn.1006dd00
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x10088483
mov esi, dword [esp + 0xc]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x4c
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx + 8]
cmp byte [eax + 1], 0
je 0x10089798
mov esi, dword [esi + 0xd8]
test esi, esi
jne 0x1008849e
xor edx, edx
jmp 0x100884cd
movsx ecx, word [edx + 0x20]
mov eax, 2
mov edx, dword [esi + 4]
mov dword [esp + 0xc], ecx
nop
mov edi, dword [esp + 0xc]
lea ecx, [esi + eax*4]
cmp dword [ecx], edi
mov edi, dword [esp + 0x34]
je 0x100884ca
add eax, dword [ecx + 4]
cmp eax, edx
jl 0x100884b0
xor edx, edx
jmp 0x100884cd
lea edx, [ecx + 8]
mov dword [esi], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x51], 0
je 0x100884f0
push edx
or edx, 0xffffffff
call fcn.1006e520
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xff
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov ecx, esi
call fcn.10087fa0
mov esi, dword [ebp + 8]
mov edx, eax
add esp, 4
mov dword [esp + 0xc], edx
cmp edx, esi
je 0x1008857d
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1008854e
push 0
push esi
push edx
mov edx, 0x4f
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
jmp 0x10088579
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x4f
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [eax + 8]
call fcn.10093470
mov ecx, dword [edi + 0x6c]
movsx edx, al
cmp dword [edi + 0x70], ecx
jg 0x100885b3
push 0
push edx
push esi
mov edx, 0x55
mov ecx, edi
call fcn.1006dd00
mov eax, dword [esp + 0x18]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x55
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xc]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [esp + 0xc], 0x80
cmp ecx, 0x2d
sete al
lea ecx, [eax + 0x34]
mov dword [esp + 0x14], ecx
mov edi, dword [edx + 0xc]
mov dword [esp + 0x18], edi
mov al, byte [edi]
cmp al, 0xa8
jne 0x1008860f
mov al, byte [edi + 0x26]
cmp al, 0xa9
jne 0x10088618
lea eax, [edi + 0x14]
jmp 0x1008861f
cmp al, 0x83
jne 0x10088641
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
jle 0x10088641
push dword [esp + 0xc]
push ecx
push dword [ebp + 8]
mov ecx, esi
call fcn.10082ef0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1c]
mov edx, edi
push eax
mov ecx, esi
call fcn.10089980
mov edi, dword [esp + 0x24]
add esp, 4
mov ecx, dword [esp + 0x28]
mov esi, eax
lea eax, [esp + 0x10]
mov edx, dword [edi + 0x10]
push eax
call fcn.10089980
mov ecx, dword [esp + 0x10]
add esp, 4
mov edx, dword [esp + 0x14]
or ecx, 0x20
push ecx
push dword [ebp + 8]
push eax
push esi
mov esi, dword [esp + 0x38]
mov ecx, esi
push edx
push dword [edi + 0x10]
mov edx, dword [esp + 0x30]
call fcn.10082c50
add esp, 0x18
jmp 0x10088ae6
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.10089980
add esp, 4
mov dword [esp + 0xc], eax
lea eax, [esp + 0x10]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x10]
call fcn.10089980
mov ecx, dword [edi + 0x6c]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x100886ec
push dword [ebp + 8]
mov edx, dword [esp + 0x10]
mov ecx, edi
push edx
mov edx, dword [esp + 0x1c]
push eax
call fcn.1006dd00
add esp, 0xc
jmp 0x10088ae6
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x10088ae6
mov eax, dword [edx + 0xc]
mov cl, byte [eax]
cmp cl, 0x93
jne 0x10088753
mov edi, dword [ebp + 8]
mov edx, eax
push edi
push 1
mov ecx, esi
call fcn.10087a60
add esp, 8
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp cl, 0x91
jne 0x100887bd
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10089798
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10088768
sub edx, esi
and edx, 0x3fffffff
push 1
push edx
lea edx, [esp + 0x40]
call fcn.1004fd60
movsd xmm0, qword [esp + 0x40]
xorps xmm0, xmmword [0x101cf710]
movsd qword [esp + 0x40], xmm0
add esp, 8
lea eax, [esp + 0x38]
mov edx, 0x91
push 0xfffffffffffffff3
push eax
push ecx
push dword [ebp + 8]
push ecx
mov ecx, edi
call fcn.1006df40
mov eax, dword [ebp + 8]
add esp, 0x14
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1c]
mov byte [esp + 0x74], 0x93
push eax
lea edx, [esp + 0x78]
mov dword [esp + 0x7c], 0x4400
mov ecx, esi
mov dword [esp + 0x80], 0
call fcn.10089980
add esp, 4
mov dword [esp + 0xc], eax
lea eax, [esp + 0x10]
mov ecx, esi
push eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
call fcn.10089980
mov ecx, dword [edi + 0x6c]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x1008882b
push dword [ebp + 8]
mov edx, dword [esp + 0x10]
mov ecx, edi
push edx
push eax
mov edx, 0x65
call fcn.1006dd00
add esp, 0xc
jmp 0x10088ae6
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4], 0x65
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10088ae6
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.10089980
mov ecx, dword [edi + 0x6c]
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc], eax
cmp dword [edi + 0x70], ecx
jg 0x10088899
push 0
push dword [ebp + 8]
mov ecx, edi
push eax
call fcn.1006dd00
add esp, 0xc
jmp 0x10088ae6
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
jmp 0x10088ae6
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.10089980
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, dword [edx + 0x10]
call fcn.10084dc0
mov ecx, eax
xor eax, eax
cmp byte [edx + 0x26], 0x2d
mov edx, dword [esp + 0xc]
sete al
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x34], ecx
sete al
mov dword [esp + 0x18], eax
cmp dword [edi + 0x70], ecx
jg 0x10088940
push eax
push dword [ebp + 8]
mov ecx, edi
push edx
mov edx, 0x58
call fcn.1006dd00
add esp, 0xc
mov ecx, eax
jmp 0x10088972
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], 0x58
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x34]
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x10088ae6
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x2c]
xor edx, dword [esp + 0x28]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x10088ae6
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100889be
push 0
push dword [ebp + 8]
mov edx, 0x46
mov ecx, edi
push 1
call fcn.1006dd00
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x100889f4
mov esi, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.10089980
mov ecx, dword [edi + 0x6c]
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], ecx
cmp dword [edi + 0x70], ecx
jg 0x10088a2f
push 0
push 0
push eax
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x10088a6a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x18]
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
mov byte [eax + ecx*4 + 1], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10088a8a
push 0
push dword [ebp + 8]
mov edx, 0x46
mov ecx, edi
push 0
call fcn.1006dd00
add esp, 0xc
jmp 0x10088abc
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x46
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 eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x10088ace
mov eax, 0x101ea7fc
jmp 0x10088ae3
mov ecx, dword [esp + 0xc]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x10088b02
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x10088b02
movzx eax, al
mov dword [esi + eax*4 + 0x94], ecx
inc byte [esi + 0x13]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10089798
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x10089798
movzx eax, al
mov dword [esi + eax*4 + 0x94], ecx
inc byte [esi + 0x13]
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x28]
test eax, eax
jne 0x10088b50
push dword [edx + 8]
push str.misuse_of_aggregate:__s__
push esi
call fcn.1004fb10
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsx ecx, word [edx + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test dword [edx + 4], 0x1000000
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov al, byte [eax + 0x4e]
mov byte [esp + 0x1c], al
je 0x10088b95
mov eax, dword [edx + 0x2c]
mov eax, dword [eax + 0x34]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x17], 0
je 0x10088bde
lea ecx, [esp + 0x40]
mov byte [esp + 0x54], 2
mov dword [esp + 0x44], fcn.10084e80
mov dword [esp + 0x48], 0x10084cf0
mov dword [esp + 0x58], 0
call fcn.10080080
cmp byte [esp + 0x54], 0
mov edx, dword [esp + 0x20]
je 0x10088bde
push 0xffffffffffffffff
mov ecx, esi
call fcn.100898c0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test dword [edx + 4], 0x4000
je 0x10088c96
mov dword [esp + 0x30], 0
xor eax, eax
mov ecx, dword [edx + 8]
mov edx, ecx
push 0
push dword [esp + 0x20]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x38], eax
call fcn.1009a190
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10089040
cmp dword [eax + 0x14], 0
jne 0x10089040
mov eax, dword [eax + 4]
test eax, 0x200
je 0x10088d2a
dec dword [esi + 0x38]
mov ecx, esi
mov eax, dword [esi + 0x38]
push dword [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 4]
call fcn.10089a70
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, 1
jle 0x10088d01
mov ecx, dword [esp + 0x30]
add ecx, 0x1c
dec eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10088cac
push 0
push dword [esp + 0x14]
mov edx, 0x33
mov ecx, edi
push dword [ebp + 8]
call fcn.1006dd00
add esp, 0xc
jmp 0x10088cde
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x10088bf3
mov eax, dword [ecx]
jmp 0x10088bf5
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0xc]
mov ecx, esi
push dword [ebp + 8]
mov edx, dword [edx]
call fcn.10089a70
add dword [esp + 0x10], 0x18
add esp, 4
sub dword [esp + 0x18], 1
jne 0x10088c74
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x10]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1008978f
push edx
mov edx, edi
call fcn.1006e160
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test eax, 0x400
je 0x10088d4b
mov eax, dword [esp + 0x30]
mov ecx, esi
push dword [ebp + 8]
mov edx, dword [eax + 4]
call fcn.10087fa0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x14], eax
test ecx, ecx
jle 0x10088df5
mov edx, dword [esp + 0x30]
add edx, 4
xor edi, edi
mov dword [esp + 0x10], edx
nop word [eax + eax]
cmp eax, 0x20
jge 0x10088daf
mov edx, dword [edx]
mov byte [esp + 0x54], 1
mov dword [esp + 0x44], fcn.10084e80
mov dword [esp + 0x48], 0x10084cf0
mov dword [esp + 0x58], 0
test edx, edx
je 0x10088dac
lea ecx, [esp + 0x40]
call fcn.10080080
cmp byte [esp + 0x54], 0
mov eax, dword [esp + 0x14]
je 0x10088daf
bts edi, eax
mov ecx, dword [esp + 0x1c]
test byte [ecx + 4], 0x20
je 0x10088dd5
cmp dword [esp + 0x18], 0
jne 0x10088dd5
mov edx, dword [esp + 0x10]
mov ecx, esi
mov edx, dword [edx]
call fcn.100829c0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
mov ecx, dword [esp + 0x2c]
add edx, 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
cmp eax, ecx
jl 0x10088d70
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
test edx, edx
je 0x10088ea0
cmp dword [esp + 0x10], 0
jne 0x10088e44
cmp ecx, 1
jne 0x10088e2d
mov al, byte [esi + 0x13]
test al, al
jne 0x10088e1c
inc dword [esi + 0x2c]
mov edx, dword [esi + 0x2c]
jmp 0x10088e4f
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov edx, dword [esi + eax*4 + 0x94]
jmp 0x10088e4f
mov edx, dword [esi + 0x20]
mov dword [esp + 0x14], edx
cmp ecx, dword [esi + 0x1c]
jg 0x10088e44
sub dword [esi + 0x1c], ecx
lea eax, [edx + ecx]
mov dword [esi + 0x20], eax
jmp 0x10088e53
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [esi + 0x2c], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x30]
test cl, 0xc0
je 0x10088e89
mov edx, dword [eax + 4]
mov dl, byte [edx]
mov byte [esp + 0x27], dl
cmp dl, 0xa2
mov edx, dword [esp + 0x14]
je 0x10088e7c
cmp byte [esp + 0x27], 0xa4
jne 0x10088e89
mov edi, dword [eax + 4]
and cl, 0xc0
mov byte [edi + 0x26], cl
mov edi, dword [esp + 0x34]
push 3
push 0
push edx
mov edx, eax
mov ecx, esi
call fcn.10089b50
mov edx, dword [esp + 0x3c]
add esp, 0xc
jmp 0x10088ea8
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jl 0x10088ed5
mov eax, dword [esp + 0x20]
test byte [eax + 4], 0x80
je 0x10088ed5
push dword [edx + 0x1c]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.100c1d20
add esp, 8
mov dword [esp + 0x1c], eax
jmp 0x10088ee2
test ecx, ecx
jle 0x10088ede
push dword [edx + 4]
jmp 0x10088ebe
mov eax, dword [esp + 0x1c]
test byte [eax + 4], 0x20
je 0x10088f5e
cmp dword [esp + 0x18], 0
jne 0x10088efa
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x10088f1b
push 0
push 0
push 0
mov edx, 0x52
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
mov edx, eax
jmp 0x10088f4e
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x52
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
push 0xfffffffffffffffe
push dword [esp + 0x1c]
mov ecx, edi
call fcn.1006e770
add esp, 8
mov eax, dword [esi + 0x34]
mov ecx, dword [edi + 0x6c]
neg eax
mov dword [esp + 0xc], ecx
sbb eax, eax
add eax, 0x3f
mov dword [esp + 0x38], eax
cmp dword [edi + 0x70], ecx
jg 0x10088f92
push dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov ecx, edi
push edx
push dword [esp + 0x18]
mov edx, eax
call fcn.1006dd00
add esp, 0xc
jmp 0x10088fd4
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esp + 0xc]
push 0xfffffffffffffff8
push dword [esp + 0x20]
mov edx, eax
mov ecx, edi
call fcn.1006e770
mov ecx, dword [edi + 0x6c]
add esp, 8
test ecx, ecx
jle 0x10088fff
mov eax, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
movzx edx, al
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10089798
cmp dword [esp + 0x10], 0
jne 0x10089798
cmp eax, 1
jne 0x10089024
mov ecx, dword [esp + 0x14]
jmp 0x10088b06
cmp eax, dword [esi + 0x1c]
jle 0x10089798
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [esp + 0x38]
push str.unknown_function:__s__
push esi
call fcn.1004fb10
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 0x83
jne 0x10089089
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, 1
je 0x10089089
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push esi
call fcn.1004fb10
mov eax, dword [ebp + 8]
add esp, 0x10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.10086720
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx + 0xc]
cmp dword [ecx + 0x1c], 0
jne 0x100890b5
mov edx, ecx
mov ecx, esi
call fcn.10086720
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0xc]
mov dword [ecx + 0x1c], eax
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 0x1c]
test edi, edi
je 0x100890fd
mov al, byte [ecx]
cmp al, 0xa8
jne 0x100890c5
mov al, byte [ecx + 0x26]
cmp al, 0xa9
jne 0x100890d0
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x100890e2
cmp al, 0x83
jne 0x100890dd
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x100890e2
mov eax, 1
cmp edi, eax
je 0x100890fd
push eax
push edi
push str._d_columns_assigned__d_values
push esi
call fcn.1004fb10
mov edx, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [edx + 0xc]
movsx eax, word [edx + 0x20]
add eax, dword [ecx + 0x1c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
dec eax
mov dword [esp + 0xc], eax
dec eax
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x70], ecx
jg 0x1008913e
push 0
push dword [ebp + 8]
mov edx, 0x49
mov ecx, edi
push 0
call fcn.1006dd00
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x10089174
mov esi, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x49
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x10]
mov ecx, esi
push dword [esp + 0x10]
call fcn.10086c20
mov ecx, dword [edi + 0x6c]
add esp, 8
mov esi, dword [ebp + 8]
cmp dword [edi + 0x70], ecx
jg 0x100891a7
push 0
push esi
push 1
mov edx, 0x46
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
jmp 0x100891d6
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0xc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100891f4
push edx
mov edx, edi
call fcn.1006e160
add esp, 4
jmp 0x100891fd
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1008921e
push 0
push 0
push esi
mov edx, 0x53
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
jmp 0x10088d01
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x53
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10088d01
mov edi, dword [ebp + 8]
mov ecx, esi
push 0
push 0
push edi
call fcn.10089d40
add esp, 0xc
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x2c]
mov dword [esp + 0xc], eax
movsx ecx, word [eax + 0x2a]
movsx eax, word [edx + 0x20]
inc ecx
imul ecx, dword [edx + 0x1c]
inc ecx
add eax, ecx
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x38], eax
cmp dword [edi + 0x70], ecx
jg 0x100892ab
mov esi, dword [ebp + 8]
mov edx, 0x95
push 0
push esi
push eax
mov ecx, edi
call fcn.1006dd00
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x100892dd
mov esi, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [ebp + 8]
mov dword [eax + ecx*4], 0x95
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, word [edx + 0x20]
test ax, ax
js 0x10089798
movsx ecx, ax
mov eax, dword [esp + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x10089798
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10089326
push 0
push 0
push esi
mov edx, 0x54
mov ecx, edi
call fcn.1006dd00
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
jmp 0x10088366
push str.row_value_misused
push esi
call fcn.1004fb10
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x38], eax
mov dword [esp + 0xc], ecx
cmp dword [edi + 0x70], ecx
jg 0x10089392
push 0
push 0
push eax
mov edx, 0x15
mov ecx, edi
call fcn.1006dd00
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x100893c9
mov esi, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x15
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov ecx, esi
call fcn.10087fa0
mov ecx, dword [edi]
add esp, 4
mov esi, dword [edi + 0x6c]
mov edx, dword [esp + 0xc]
mov dword [ebp + 8], eax
cmp byte [ecx + 0x51], 0
je 0x100893f2
mov eax, 0x101ea7fc
jmp 0x10089403
test edx, edx
lea eax, [esi - 1]
cmovns eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], esi
test edx, edx
jns 0x1008940e
mov edx, dword [edi + 0x6c]
dec edx
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x10089427
mov eax, dword [ebp + 8]
mov ecx, 0x101ea7fc
mov dword [ecx + 0xc], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp + 8]
mov dword [ecx + 0xc], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x78], 0
jne 0x10089458
push str.RAISE___may_only_be_used_within_a_trigger_program
push esi
call fcn.1004fb10
add esp, 8
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov al, byte [edx + 1]
cmp al, 2
jne 0x10089470
mov eax, dword [esi + 0x74]
mov ecx, esi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [edx + 1]
mov ecx, dword [edx + 8]
mov dword [esp + 0x38], ecx
cmp al, 4
jne 0x10089503
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x100894b7
push 0
push 4
push 0
mov edx, 0x45
mov ecx, edi
call fcn.1006dd00
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0
push dword [esp + 0x3c]
call fcn.1006e770
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
push 0
push dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, edi
call fcn.1006e770
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
push 0
push ecx
movsx eax, al
mov edx, 0x713
push eax
mov ecx, esi
call fcn.10099090
mov eax, dword [ebp + 8]
add esp, 0x10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x14]
mov dword [esp + 0x30], eax
lea ecx, [eax + 4]
mov eax, dword [eax]
dec dword [esi + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x10089613
push 0x34
lea eax, [esp + 0x78]
push 0
push eax
call fcn.10150b00
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [ecx + 4]
test eax, 0x4000
je 0x10089577
mov eax, 0xc
jmp 0x10089586
and eax, 0x2000
neg eax
sbb eax, eax
and eax, 0xffffffe8
add eax, 0x34
push eax
push ecx
lea eax, [esp + 0x7c]
push eax
call fcn.1014ffa0
add esp, 0xc
lea eax, [esp + 0x1c]
lea edx, [esp + 0x74]
mov ecx, esi
push eax
call fcn.10087e90
add esp, 4
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x74]
mov edx, dword [ecx + 4]
test edx, 0x41000
je 0x100895d2
test edx, 0x40000
je 0x100895cb
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 4]
jmp 0x100895ce
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x100895b0
mov al, byte [ecx]
and dword [ecx + 4], 0xffffefff
mov byte [ecx + 0x26], al
mov eax, dword [esp + 0x38]
push 0x34
mov dword [ecx + 0x1c], eax
lea eax, [esp + 0x44]
push 0
push eax
mov byte [ecx], 0xa8
call fcn.10150b00
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x80]
add esp, 0xc
mov byte [esp + 0x40], 0x35
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x40]
jmp 0x10089615
xor edx, edx
mov eax, dword [esp + 0x2c]
dec eax
test eax, eax
jle 0x10089706
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x34], eax
nop word [eax + 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 + 0x38], edx
mov dword [esp + 0x48], eax
call fcn.1008a3c0
mov edx, dword [esp + 0x1c]
mov ecx, esi
push dword [ebp + 8]
mov edx, dword [edx + 0x18]
call fcn.10089a70
mov ecx, dword [edi + 0x6c]
add esp, 0x14
cmp dword [edi + 0x70], ecx
jg 0x10089692
push 0
push dword [esp + 0x1c]
mov edx, 0xb
mov ecx, edi
push 0
call fcn.1006dd00
add esp, 0xc
jmp 0x100896c5
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
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 [edi + 0xc]
mov edx, dword [esp + 0x38]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100896e3
push edx
mov edx, edi
call fcn.1006e160
add esp, 4
jmp 0x100896ec
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
add ecx, 0x30
sub dword [esp + 0x34], 1
mov dword [esp + 0xc], ecx
jne 0x10089630
mov eax, dword [esp + 0x2c]
test al, 1
je 0x10089728
push dword [ebp + 8]
lea edx, [eax + eax*2]
mov ecx, esi
mov eax, dword [esp + 0x34]
mov edx, dword [eax + edx*8 - 0x14]
call fcn.10089a70
add esp, 4
jmp 0x1008977a
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x10089748
push 0
push dword [ebp + 8]
mov edx, 0x49
mov ecx, edi
push 0
call fcn.1006dd00
add esp, 0xc
jmp 0x1008977a
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x49
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 [edi + 0xc]
mov edx, dword [esp + 0x18]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
js 0x10088d16
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret