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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x140
mov dword [ebp - 0x124], edx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb0], eax
mov esi, dword [ebp + 8]
mov edi, dword [ecx]
mov dword [ebp - 0xd4], ecx
cmp dword [ecx + 0x24], eax
mov dword [ebp - 0xf8], edi
jne 0x1004e034
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x12c], 0
test esi, esi
je 0x1004c8d6
test byte [esi + 5], 2
je 0x1004c8d8
cmp dword [esi + 0x34], 0
jne 0x1004c8d8
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x12c], eax
mov dword [esi + 0x1c], 0
mov ecx, edi
mov edx, esi
push 1
call fcn.100170d0
add esp, 4
xor esi, esi
mov dword [ebp - 0x114], esi
mov edi, dword [ebp - 0x124]
mov eax, dword [edi + 8]
test eax, eax
jne 0x1004ce9e
lea esi, [edi + 0xc]
mov ecx, dword [ebp - 0xd4]
xor edx, edx
push dword [esi]
push dword [edi + 0x10]
call fcn.10038860
add esp, 8
mov ebx, eax
mov edx, dword [edi + 0x18]
test edx, edx
mov esi, edi
jne 0x1004ce7a
mov dword [esi + 0x18], ebx
test ebx, ebx
mov edi, dword [ebp - 0xf8]
je 0x1004e00f
inc dword [ebx + 0x18]
lea eax, [esi + 8]
mov dword [ebp - 0x108], eax
test byte [esi + 0x30], 2
jne 0x1004e048
mov ecx, dword [ebx + 0x3c]
mov eax, dword [edi + 0x10]
test ecx, ecx
je 0x1004e062
lea edx, [eax + 0xc]
xor edi, edi
dec edi
inc edi
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x1004c951
mov dword [ebp - 0xec], edi
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x164]
test ecx, ecx
mov dword [ebp - 0xdc], ebx
jne 0x1004e06c
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x140], eax
cmp dword [ebx + 0x38], 0
mov edi, dword [ebp - 0x114]
jne 0x1004c9b8
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x1004c9aa
cmp dword [eax + 0x30], 0
jne 0x1004c9b8
mov dword [ebp - 0xd0], 0
xor eax, eax
jmp 0x1004c9e2
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x9f], 0
jne 0x1004c9aa
lea eax, [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push eax
push 0
push 0x7f
call fcn.1004f5c0
add esp, 0xc
mov dword [ebp - 0x138], eax
mov al, byte [ebx + 0x2b]
mov byte [ebp - 0x101], al
cmp al, 1
je 0x1004df47
cmp word [ebx + 0x22], 0
jle 0x1004df47
mov esi, dword [ebp - 0xd4]
mov ecx, esi
mov edx, ebx
push dword [ebp - 0xd0]
call fcn.1004ed10
add esp, 4
test eax, eax
jne 0x1004e00f
mov eax, dword [esi + 8]
test eax, eax
mov edx, dword [ebp - 0xec]
je 0x1004ce4e
cmp byte [esi + 0x12], 0
jne 0x1004ca42
or byte [eax + 0x98], 0x10
mov dword [ebp - 0xe0], eax
mov eax, edi
or eax, dword [ebp - 0x138]
setne bl
mov edi, dword [esi + 0x78]
test edi, edi
cmove edi, esi
mov eax, dword [edi + 0x58]
xor esi, esi
inc esi
mov dword [ebp - 0x130], esi
mov ecx, edx
shl esi, cl
bt eax, edx
jb 0x1004ca7e
or eax, esi
mov dword [edi + 0x58], eax
cmp edx, 1
je 0x1004d55c
or dword [edi + 0x54], esi
or byte [edi + 0x14], bl
cmp dword [ebp + 0xc], 0
mov edi, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0x114]
jne 0x1004caa7
test ebx, ebx
je 0x1004caa7
cmp dword [ebp - 0x138], 0
je 0x1004e7dc
mov esi, edi
mov edi, dword [ebp - 0xd4]
mov ecx, edi
mov ebx, dword [ebp - 0xdc]
push ebx
call fcn.1004ef40
add esp, 4
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
movsx ecx, word [ebx + 0x22]
add ecx, eax
inc ecx
mov dword [edi + 0x2c], ecx
cmp byte [ebx + 0x2b], 1
mov dword [ebp - 0x134], edx
mov dword [ebp - 0xe4], edx
je 0x1004e0f5
movzx eax, word [ebx + 0x1c]
test eax, 0x440
sete al
mov dword [ebp - 0xfc], eax
xor eax, eax
dec eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0xc]
test eax, eax
mov edi, esi
je 0x1004ccd2
mov byte [eax + 4], 1
mov esi, dword [eax]
test esi, esi
jle 0x1004ccd2
lea eax, [esi + 3]
and eax, 0xfffffffc
lea ecx, [esi - 1]
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmm1, xmmword [0x101af270]
xor ecx, ecx
movdqa xmm2, xmmword [0x101af280]
pxor xmm0, xmm2
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x101af2d0]
movdqa xmm5, xmm1
pxor xmm5, xmm2
pcmpgtd xmm5, xmm0
movd edx, xmm5
not edx
test dl, 1
je 0x1004cb78
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0xc], 0xffffffff
pxor xmm5, xmm3
pextrw edx, xmm5, 2
test dl, 1
je 0x1004cb91
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0x14], 0xffffffff
pextrw edx, xmm5, 4
test dl, 1
je 0x1004cba6
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0x1c], 0xffffffff
pextrw edx, xmm5, 6
test dl, 1
je 0x1004cbbb
mov edx, dword [ebp + 0xc]
mov dword [edx + ecx*8 + 0x24], 0xffffffff
add ecx, 4
paddd xmm1, xmm4
cmp eax, ecx
jne 0x1004cb56
movzx ecx, word [ebx + 0x22]
xor eax, eax
dec eax
mov dword [ebp - 0xf4], eax
xor edx, edx
mov dword [ebp - 0x120], esi
movsx eax, cx
mov dword [ebp - 0x110], eax
test ax, ax
mov dword [ebp - 0xf0], edx
jle 0x1004df61
mov word [ebp - 0x118], cx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*8 + 8]
mov dword [ebp - 0xd8], eax
xor esi, esi
mov edi, esi
shl edi, 4
mov eax, dword [ebp - 0x100]
mov ebx, dword [eax + edi]
xor ecx, ecx
mov eax, dword [ebp - 0xd8]
movzx edx, byte [eax + ecx]
movzx eax, byte [ebx + ecx]
cmp dl, al
jne 0x1004cc3b
test edx, edx
je 0x1004cc57
inc ecx
jmp 0x1004cc22
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [eax + 0x101af7e8]
je 0x1004cc38
inc esi
cmp esi, dword [ebp - 0x110]
jne 0x1004cc12
jmp 0x1004df8a
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xf0]
mov dword [eax + edx*8 + 0xc], esi
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
test byte [eax + edi + 0xe], 0x60
jne 0x1004dff9
movsx eax, word [ebx + 0x20]
cmp esi, eax
mov eax, dword [ebp - 0xf4]
cmove eax, edx
mov dword [ebp - 0xf4], eax
cmp edx, esi
mov eax, dword [ebp - 0xfc]
movzx eax, al
mov ecx, 0
cmovne eax, ecx
movzx ecx, word [ebx + 0x22]
movsx edi, cx
mov ebx, dword [ebp - 0xf8]
cmp esi, edi
jge 0x1004df76
mov dword [ebp - 0xfc], eax
mov esi, dword [ebp - 0x120]
mov edi, ebx
inc edx
cmp edx, esi
mov ebx, dword [ebp - 0xdc]
jne 0x1004cbdb
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x114], 0
jne 0x1004d979
mov esi, edi
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x68], xmm0
movdqu xmmword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x128], 0
mov dword [ebp - 0xf0], 0
mov edi, dword [ebp - 0x12c]
test edi, edi
je 0x1004cd3d
mov eax, dword [edi]
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0x78]
mov edx, edi
call fcn.10030e90
test eax, eax
jne 0x1004e30d
xor eax, eax
dec eax
mov dword [ebp - 0xe8], eax
mov al, 1
mov dword [ebp - 0x110], eax
mov edi, esi
cmp dword [ebp + 0xc], 0
jne 0x1004cd92
cmp dword [ebp - 0xf0], 0
jle 0x1004cd92
movsx edx, word [ebx + 0x20]
mov eax, dword [ebx + 0x1c]
mov ecx, edx
mov dword [ebp - 0xf4], edx
test edx, edx
jns 0x1004e729
xor edx, edx
movsx ecx, word [ebx + 0x22]
test al, 0x62
jne 0x1004e782
sub ecx, edx
cmp dword [ebp - 0xf0], ecx
jne 0x1004e7b7
cmp dword [ebp + 0xc], 0
je 0x1004cda9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp dword [ebp - 0xf0], eax
jne 0x1004e82e
xor eax, eax
test byte [edi + 0x24], 1
mov esi, 0
jne 0x1004e10d
cmp byte [ebp - 0x101], 2
mov dword [ebp - 0x120], esi
je 0x1004cf41
sub esp, 0x18
lea eax, [ebp - 0xb0]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xac]
mov dword [esp + 0x10], eax
movdqa xmm0, xmmword [0x101af320]
movdqu xmmword [esp], xmm0
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
call fcn.1004f080
add esp, 0x18
mov dword [ebp - 0xd8], eax
lea edx, [eax*4 + 8]
movzx eax, word [edi + 0x12c]
cmp edx, eax
ja 0x1004cebc
cmp edx, 0x80
ja 0x1004cee2
mov eax, dword [edi + 0x150]
test eax, eax
je 0x1004ced4
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x150], eax
inc dword [edi + 0x138]
mov edi, ecx
jmp 0x1004cf1a
cmp dword [esi + 0x78], 0
jne 0x1004ce60
mov eax, dword [esi]
test byte [eax + 0x50], 8
jne 0x1004ce60
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.1002f500
test eax, eax
mov edx, dword [ebp - 0xec]
jne 0x1004ca35
jmp 0x1004e00f
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
cmp dword [ecx + 0x208], 0
jne 0x1004ce94
dec dword [edx + 0x18]
jne 0x1004c916
call fcn.1001dfd0
jmp 0x1004c916
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
lea esi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, esi
je 0x1004c8f2
jmp 0x1004ceac
cmp dword [edi + 0x128], 0
je 0x1004dd2c
cmp byte [edi + 0x57], 0
je 0x1004cf04
jmp 0x1004e00f
mov eax, dword [edi + 0x14c]
test eax, eax
jne 0x1004dc9b
mov eax, dword [edi + 0x148]
test eax, eax
jne 0x1004d957
mov eax, dword [edi + 0x144]
test eax, eax
jne 0x1004dd1d
inc dword [edi + 0x140]
mov ecx, edi
push 0
call fcn.10137840
add esp, 4
mov edi, eax
test eax, eax
je 0x1004e00f
cmp dword [ebp - 0xd8], 0
jg 0x1004d3b6
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebx + 0x2c]
xor ecx, ecx
inc eax
mov dword [ebx + 0x2c], eax
mov dword [edi + ecx*4], eax
mov eax, edi
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xfc], eax
cmp dword [ebp + 0x14], 0
jne 0x1004d6c5
cmp byte [ebp - 0x110], 0
je 0x1004db82
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
cmp dword [ebp - 0x114], 0
jne 0x1004e325
cmp word [ebx + 0x22], 0
jle 0x1004d120
xor esi, esi
mov dword [ebp - 0xec], 0
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0xd8], edx
movsx eax, word [ebx + 0x20]
cmp esi, eax
je 0x1004d4b5
mov ecx, dword [ebx + 4]
mov edx, esi
shl edx, 4
movzx eax, word [ecx + edx + 0xe]
test al, 0x62
jne 0x1004dea1
cmp dword [ebp + 0xc], 0
je 0x1004d014
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
test edi, edi
jle 0x1004cfe6
xor eax, eax
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + eax*8 + 0xc], esi
je 0x1004d090
inc eax
cmp edi, eax
jne 0x1004cfd4
movzx eax, word [ecx + edx + 0xc]
xor edx, edx
test eax, eax
jne 0x1004d0f1
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
push edi
call fcn.1004ee10
mov edx, edi
add esp, 4
jmp 0x1004d07d
cmp dword [ebp - 0xf0], 0
je 0x1004debd
mov eax, esi
sub eax, dword [ebp - 0xec]
cmp byte [ebp - 0x110], 0
je 0x1004d4f9
mov dword [ebp - 0x100], esi
cmp dword [ebp - 0x114], 0
jne 0x1004defa
mov esi, ebx
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x12c]
mov edi, dword [ecx + eax*4 + 8]
mov ecx, dword [ebp - 0xd4]
mov edx, edi
mov ebx, dword [ebp - 0xd8]
push ebx
call fcn.100337c0
add esp, 4
cmp eax, ebx
jne 0x1004d098
mov edx, ebx
mov ebx, esi
mov esi, dword [ebp - 0x100]
inc esi
inc edx
movsx eax, word [ebx + 0x22]
cmp esi, eax
jl 0x1004cf9c
jmp 0x1004d120
mov ebx, dword [ebp - 0xdc]
jmp 0x1004d029
xor edx, edx
test byte [edi + 6], 0x40
sete dl
or edx, 0x50
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], ebx
jle 0x1004dcaa
lea edi, [ebx + 1]
mov dword [ecx + 0x6c], edi
mov edi, dword [ecx + 0x68]
lea ecx, [ebx + ebx*4]
mov byte [edi + ecx*4], dl
mov word [edi + ecx*4 + 2], 0
mov dword [edi + ecx*4 + 4], eax
mov edx, dword [ebp - 0xd8]
mov dword [edi + ecx*4 + 8], edx
xor eax, eax
mov dword [edi + ecx*4 + 0xc], eax
mov dword [edi + ecx*4 + 0x10], eax
mov byte [edi + ecx*4 + 1], 0
mov ebx, dword [ebp - 0xdc]
jmp 0x1004d077
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx + 0x2b], 0
jne 0x1004cffb
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x1004cffb
cmp dword [ecx], eax
jl 0x1004cffb
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
jmp 0x1004cffb
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x100], ecx
dec ecx
mov dword [ebp - 0xd8], ecx
mov dword [eax + 0x38], ecx
test byte [ebp - 0xd0], 1
jne 0x1004e17b
cmp byte [ebp - 0x101], 2
mov esi, dword [ebp - 0x114]
je 0x1004d2b2
cmp byte [ebx + 0x2b], 1
je 0x1004e1ce
cmp dword [ebp - 0xf4], 0
jns 0x1004d56e
cmp byte [ebx + 0x2b], 1
je 0x1004d3f2
and dword [ebp - 0x140], 0x80
jne 0x1004d3f2
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x1004dc79
lea edx, [esi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4], 0x7f
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0x11c]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
test eax, eax
jg 0x1004e1f0
test byte [ebx + 0x1c], 0x60
jne 0x1004e216
cmp byte [ebx + 0x2b], 1
mov edx, ebx
je 0x1004e230
xor esi, esi
lea eax, [ebp - 0x78]
mov dword [eax], esi
mov ecx, dword [ebp + 0x10]
movzx ebx, cl
mov edi, dword [ebp - 0xf4]
not edi
shr edi, 0x1f
mov ecx, dword [ebp - 0xd4]
push dword [ebp + 0x14]
push esi
push eax
push dword [ebp - 0xd8]
push ebx
push edi
push esi
push dword [ebp - 0x134]
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
push dword [ebp - 0xfc]
call fcn.1004ffc0
add esp, 0x2c
mov edi, dword [ebp - 0xf8]
test byte [edi + 0x21], 0x40
je 0x1004d268
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
push esi
push esi
push dword [ebp - 0x134]
push esi
call fcn.1004f8b0
add esp, 0x10
cmp dword [ebp - 0x78], 0
mov esi, dword [ebp - 0x114]
jne 0x1004d545
xor eax, eax
inc eax
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push eax
push dword [ebp - 0x130]
push 0
push dword [ebp - 0xfc]
push dword [ebp - 0x134]
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
call fcn.1004f320
add esp, 0x1c
cmp dword [ebp - 0x120], 0
jne 0x1004e2cd
mov edx, dword [ebp - 0x138]
test edx, edx
jne 0x1004d47e
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x100]
neg edx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x1004d3a8
mov eax, edx
mov edx, ebx
push eax
call fcn.10032440
add esp, 4
cmp byte [ebp - 0x110], 0
mov eax, dword [ebp - 0xfc]
je 0x1004dbd3
test esi, esi
jne 0x1004e392
mov esi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x12], 0
jne 0x1004d334
cmp dword [ecx + 0x7c], 0
jne 0x1004d334
cmp dword [ecx + 0x74], 0
jne 0x1004e862
test esi, esi
jne 0x1004e2ef
mov ebx, eax
mov edi, dword [ebp - 0xf8]
mov ecx, edi
mov edx, dword [ebp - 0x124]
call fcn.100172a0
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x1004d362
mov ecx, edi
call fcn.10017250
mov esi, dword [ebp - 0x114]
mov edx, dword [ebp + 0x14]
test edx, edx
jne 0x1004d6b9
test esi, esi
jne 0x1004d966
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x1004d444
test ebx, ebx
je 0x1004d393
mov edx, ebx
mov ecx, edi
call fcn.1014c8d0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edx*4], eax
jmp 0x1004d2f7
mov ecx, ebx
add ecx, 8
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebx + 0x2c]
xor edx, edx
mov ecx, dword [ecx]
inc eax
mov dword [ebx + 0x2c], eax
mov esi, edi
mov dword [edi + edx*4], eax
movzx eax, word [ecx + 0x34]
add eax, dword [ebx + 0x2c]
mov dword [ebx + 0x2c], eax
add ecx, 0x14
inc edx
cmp dword [ebp - 0xd8], edx
jne 0x1004d3c6
mov ecx, dword [ebp - 0xd8]
jmp 0x1004cf32
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1004dcc3
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x4b
xor esi, esi
mov dword [ecx + eax*4 + 4], esi
mov edx, dword [ebp - 0xe4]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ebp - 0x130], 0
mov dword [ecx + eax*4 + 0x10], esi
mov eax, dword [ebp - 0x11c]
jmp 0x1004d1d5
mov eax, dword [eax]
test eax, eax
jle 0x1004d469
xor esi, esi
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + esi*8 + 8]
test edx, edx
je 0x1004d464
mov ecx, dword [ebp - 0xf8]
call fcn.1014d210
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x1004d44c
mov edi, dword [ebp - 0xf8]
mov ecx, edi
mov edx, dword [ebp + 0xc]
call fcn.1014c8d0
jmp 0x1004d386
movsx eax, word [ebx + 0x22]
not eax
mov ebx, dword [ebp - 0xe4]
add ebx, eax
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp + 0x10]
push ebx
push dword [ebp - 0xdc]
push 2
push 0
push 0x7f
call fcn.10056660
add esp, 0x1c
jmp 0x1004d2cd
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1004dce9
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x4c
mov edi, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 4], edi
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov edx, edi
jmp 0x1004d07d
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edi
jle 0x1004dd08
lea edx, [edi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0x5e
mov edi, dword [ebp - 0xe8]
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0xd8]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov edx, eax
jmp 0x1004d07d
xor eax, eax
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 0xe0], 0
sete al
jmp 0x1004d27b
mov ecx, edi
call fcn.10042310
mov edx, dword [ebp - 0xec]
jmp 0x1004ca7e
cmp byte [ebp - 0x110], 0
je 0x1004eaef
test esi, esi
mov ecx, dword [ebp - 0x12c]
jne 0x1004d5c6
mov eax, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*4 + 8]
cmp byte [edi], 0x79
je 0x1004eb16
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 8], 0
je 0x1004d5c6
mov ecx, dword [ebp - 0xd4]
mov edx, edi
mov esi, dword [ebp - 0xe4]
push esi
call fcn.100337c0
add esp, 4
cmp eax, esi
jne 0x1004de30
cmp byte [ebx + 0x2b], 1
mov esi, dword [ebp - 0xe0]
mov edi, dword [esi + 0x6c]
je 0x1004eb48
cmp dword [esi + 0x70], edi
jle 0x1004dd52
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4], 0x33
mov edx, dword [ebp - 0xe4]
mov dword [eax + ecx*4 + 4], edx
xor edx, edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp - 0xac]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x1004dd72
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x7f
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0x11c]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1004eb68
lea ecx, [edi + edi*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1004dd37
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xd
mov edx, dword [ebp - 0xe4]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ebp - 0x130], 0
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x1004d439
mov ecx, edi
call fcn.1004f840
jmp 0x1004d373
movzx eax, byte [ebx + 0x2b]
cmp eax, 2
je 0x1004ebaf
cmp eax, 1
je 0x1004ebc7
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x1004d6fc
mov ecx, dword [eax]
test ecx, ecx
jle 0x1004d6fc
add eax, 0x14
test byte [eax], 0x20
jne 0x1004eb72
add eax, 0x14
dec ecx
jne 0x1004d6ed
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x124]
mov dword [ecx + 0x34], eax
lea esi, [ebp - 0xa8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x124]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xac]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 0x2c], eax
cmp dword [ecx], 0
je 0x1004d947
pxor xmm0, xmm0
movdqu xmmword [ebp - 0xa0], xmm0
xor eax, eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x144], ecx
mov edx, dword [ecx]
test edx, edx
je 0x1004d941
mov dword [ebp - 0xec], ecx
mov ecx, esi
call fcn.10030e90
test eax, eax
jne 0x1004eacc
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
mov ecx, esi
call fcn.10030db0
test eax, eax
jne 0x1004eacc
mov ecx, dword [ebp - 0x124]
mov eax, dword [ecx + 0x18]
mov esi, dword [ecx + 0x34]
mov edx, dword [ebp - 0xec]
mov ecx, dword [edx]
mov dword [ebp - 0x10c], ecx
test byte [eax + 0x1c], 0x80
je 0x1004d92d
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x78], xmm0
movdqu xmmword [ebp - 0x48], xmm0
movdqu xmmword [ebp - 0x28], xmm0
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
movdqu xmmword [ebp - 0x38], xmm0
movdqu xmmword [ebp - 0x58], xmm0
movdqu xmmword [ebp - 0x68], xmm0
mov byte [ebp - 0x78], 0x71
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x6c], ecx
mov byte [ebp - 0x44], 0xa7
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x28], esi
mov esi, dword [eax + 8]
test esi, esi
je 0x1004d902
mov eax, dword [ebp - 0x10c]
add eax, 8
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0xd8], esi
cmp byte [esi + 0x36], 0
je 0x1004ea6b
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd8]
movzx eax, word [eax + 0x32]
mov dword [ebp - 0x100], ecx
cmp ecx, eax
jne 0x1004ea6b
mov edi, dword [ebp - 0xd8]
mov esi, dword [edi + 0x24]
test esi, esi
jne 0x1004ea2d
test ax, ax
je 0x1004d8f9
xor ebx, ebx
mov eax, dword [edi + 0x20]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 4]
cmp word [eax + ebx*2], 0xfffe
je 0x1004ea10
lea eax, [ebp - 0x44]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 4]
movzx eax, word [eax + ebx*2]
mov word [ebp - 0x24], ax
lea esi, [ebp - 0x78]
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x148], ecx
mov edi, dword [ebp - 0x14c]
mov edx, dword [edi]
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0x108]
push esi
call fcn.10031230
add esp, 8
cmp eax, 1
jle 0x1004d8ea
add edi, 0x14
dec dword [ebp - 0x148]
jne 0x1004d8be
jmp 0x1004ea6b
inc ebx
cmp ebx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xd8]
jne 0x1004d881
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x1c], edi
cmp dword [edx + 0x1c], 0
mov ebx, dword [ebp - 0xdc]
je 0x1004ea87
mov edx, dword [edx + 0x10]
inc dword [ebp - 0x13c]
test edx, edx
mov ecx, edx
lea esi, [ebp - 0xa8]
jne 0x1004d783
jmp 0x1004d941
mov ecx, dword [ebp - 0x10c]
cmp dword [ecx], 1
jne 0x1004d7de
jmp 0x1004eca6
mov ecx, dword [ebp - 0x144]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x1004cf51
jmp 0x1004d714
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x148], eax
jmp 0x1004ce41
mov ecx, edi
mov edx, esi
push 1
call fcn.100170d0
add esp, 4
jmp 0x1004d37b
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x6c]
lea eax, [edx + 1]
mov dword [ebp - 0xd8], eax
lea eax, [edx + edx*4]
cmp dword [ecx + 0x70], edx
mov dword [ebp - 0x100], eax
jle 0x1004dd93
mov edi, dword [ebp - 0xd8]
mov dword [ecx + 0x6c], edi
mov ecx, dword [ecx + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], esi
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edi
mov dword [ecx + eax*4 + 0x10], edx
xor eax, eax
cmp byte [ebp - 0xfc], 0
mov ecx, dword [ebp - 0x118]
cmove ecx, eax
lea eax, [ebp - 0xcc]
mov byte [eax], 0xd
mov dword [ebp - 0xd8], esi
mov dword [eax + 4], esi
pxor xmm0, xmm0
movdqu xmmword [eax + 8], xmm0
mov dword [eax + 0xc], ecx
movsx ecx, word [ebx + 0x22]
mov dword [eax + 0x10], ecx
mov edi, dword [ebp - 0xd4]
mov ecx, edi
mov edx, dword [ebp - 0x114]
push eax
call fcn.10027cd0
add esp, 4
test eax, eax
jne 0x1004e00f
cmp dword [edi + 0x24], 0
mov eax, 0
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0x100]
jne 0x1004d33c
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1004ddae
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x44
mov edx, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [edi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], 0
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1004ebd3
shl esi, 2
add esi, dword [edi + 0x68]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0x138], 0
jne 0x1004e452
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1004ec1c
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x2b], 1
mov dword [ebp - 0xd8], 0
je 0x1004ec3c
mov dl, 1
mov dword [ebp - 0x110], edx
cmp ecx, 2
jl 0x1004e3de
mov edx, dword [eax]
mov bl, byte [edx + 0x57]
xor esi, esi
inc esi
test bl, bl
jne 0x1004e3ef
lea edi, [esi + esi*4]
shl edi, 2
add edi, dword [eax + 0x68]
movzx edx, byte [edi]
cmp edx, 0x70
je 0x1004db4a
cmp edx, 0xad
je 0x1004e443
inc esi
cmp esi, ecx
jne 0x1004db1b
jmp 0x1004e3de
mov edx, dword [ebp - 0xec]
cmp dword [edi + 0xc], edx
jne 0x1004db40
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xdc]
cmp edi, dword [edx + 0x14]
je 0x1004e452
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 8]
test edx, edx
je 0x1004db40
cmp edi, dword [edx + 0x2c]
je 0x1004e452
mov edx, dword [edx + 0x14]
jmp 0x1004db70
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1004ddcc
mov ecx, eax
inc eax
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x108], ecx
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
mov edx, dword [ebp - 0xe8]
mov dword [eax + ecx*4 + 4], edx
xor edx, edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0x10c], eax
jmp 0x1004cf7f
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x1004ddf0
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x27
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x10c]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov esi, dword [ebp - 0x120]
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1004ebdd
mov ecx, dword [ebp - 0x108]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x1004de12
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7a
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0xfc]
jmp 0x1004d318
mov edx, 0x7f
mov esi, dword [ebp - 0x11c]
push esi
push dword [ebp - 0xe4]
push eax
call fcn.10016c40
mov eax, esi
add esp, 0xc
jmp 0x1004d1d5
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x14c], eax
jmp 0x1004ce41
push 0
mov edi, dword [ebp - 0xd8]
push edi
push eax
call fcn.10016c40
mov edx, edi
add esp, 0xc
jmp 0x1004d0e9
xor eax, eax
mov edx, 0x4b
push eax
push dword [ebp - 0xe4]
mov dword [ebp - 0x130], 0
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1004d439
xor eax, eax
mov edx, 0x4c
push eax
push eax
mov edi, dword [ebp - 0xd8]
push edi
call fcn.10016c40
mov edx, edi
add esp, 0xc
jmp 0x1004d07d
mov edx, 0x5e
mov edi, dword [ebp - 0xd8]
push edi
push eax
push dword [ebp - 0xe8]
jmp 0x1004dcf9
mov ecx, eax
mov eax, dword [eax]
mov dword [edi + 0x144], eax
jmp 0x1004ce41
inc dword [edi + 0x13c]
jmp 0x1004cf04
xor eax, eax
mov edx, 0xd
push eax
mov dword [ebp - 0x130], 0
push eax
push dword [ebp - 0xe4]
jmp 0x1004dcdc
xor eax, eax
mov ecx, esi
mov edx, 0x33
push eax
push eax
push dword [ebp - 0xe4]
call fcn.10016c40
add esp, 0xc
mov edi, eax
jmp 0x1004d60d
mov ecx, esi
mov edx, 0x7f
push dword [ebp - 0x11c]
push dword [ebp - 0xe4]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1004d652
mov edx, 0xb
push dword [ebp - 0xd8]
push 0
push esi
call fcn.10016c40
add esp, 0xc
jmp 0x1004d9cf
xor eax, eax
mov ecx, edi
mov edx, 0x44
push eax
push eax
push dword [ebp - 0xd8]
call fcn.10016c40
add esp, 0xc
jmp 0x1004da83
xor eax, eax
mov ecx, esi
mov edx, 0x24
push eax
push eax
push dword [ebp - 0xe8]
call fcn.10016c40
add esp, 0xc
mov dword [ebp - 0x108], eax
jmp 0x1004dbc5
mov ecx, ebx
mov edx, 0x27
push 0
push dword [ebp - 0x10c]
push dword [ebp - 0xe8]
call fcn.10016c40
add esp, 0xc
jmp 0x1004dc10
xor eax, eax
mov ecx, ebx
mov edx, 0x7a
push eax
push eax
push dword [ebp - 0xe8]
call fcn.10016c40
add esp, 0xc
jmp 0x1004dc6e
xor edx, edx
test byte [edi + 6], 0x40
sete dl
or edx, 0x50
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 8]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x1004de8b
lea ebx, [esi + 1]
mov dword [ecx + 0x6c], ebx
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x68]
lea esi, [esi + esi*4]
mov byte [ecx + esi*4], dl
mov word [ecx + esi*4 + 2], 0
mov dword [ecx + esi*4 + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [ecx + esi*4 + 8], eax
xor eax, eax
mov dword [ecx + esi*4 + 0xc], eax
mov dword [ecx + esi*4 + 0x10], eax
mov byte [ecx + esi*4 + 1], 0
jmp 0x1004d5c6
push 0
push dword [ebp - 0xe4]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1004d5c6
inc dword [ebp - 0xec]
test al, 0x20
jne 0x1004df19
test al, 0x40
jne 0x1004e016
cmp dword [ebp + 0xc], 0
jne 0x1004cfc9
movzx eax, word [ecx + edx + 0xc]
xor edx, edx
test eax, eax
je 0x1004ded8
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x2b], 0
je 0x1004e3f9
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
push edi
call fcn.1004ee10
mov edx, edi
add esp, 4
mov ebx, dword [ebp - 0xdc]
jmp 0x1004d07d
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x118]
jne 0x1004df22
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x1004d077
mov edx, dword [ebp - 0xd8]
dec edx
jmp 0x1004deef
add eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xe0]
mov edx, 0x51
push 0
mov edi, dword [ebp - 0xd8]
push edi
push eax
call fcn.1002fb80
jmp 0x1004dcb9
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
call fcn.10171270
test eax, eax
je 0x1004ca04
jmp 0x1004e00f
mov ebx, edi
xor esi, esi
mov eax, dword [ebp - 0xfc]
mov edi, dword [ebp - 0x110]
jmp 0x1004ccad
mov word [ebp - 0x118], cx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*8 + 8]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
call fcn.10161510
mov dword [ebp - 0xfc], 0
test eax, eax
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0xf0]
movzx ecx, word [ebp - 0x118]
je 0x1004dfd3
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xf4], edx
and eax, 0x80
je 0x1004ccc3
push dword [ebp - 0xd8]
push dword [ebp - 0x108]
push str.table__S_has_no_column_named__s
mov esi, dword [ebp - 0xd4]
push esi
call fcn.100463a0
add esp, 0x10
mov byte [esi + 0x11], 1
jmp 0x1004e00f
push dword [eax + edi]
push str.cannot_INSERT_into_generated_column___s_
push dword [ebp - 0xd4]
call fcn.100463a0
add esp, 0xc
xor eax, eax
jmp 0x1004d33c
test byte [ebp - 0xd0], 1
jne 0x1004e41e
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x1004d07d
xor ebx, ebx
mov ecx, edi
mov edx, dword [ebp - 0x124]
call fcn.100172a0
jmp 0x1004d368
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x108]
call fcn.10171180
test eax, eax
jne 0x1004e00f
jmp 0x1004c93d
mov edi, 0xffff8000
jmp 0x1004c95b
cmp byte [edx + 0xb1], 0
jne 0x1004c97d
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0xd8], 0
jne 0x1004c97d
mov esi, dword [ebp - 0xec]
shl esi, 4
mov esi, dword [eax + esi]
mov edi, dword [ebx]
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax + 0x100]
mov eax, dword [edx + 0x168]
mov dword [ebp - 0xd8], eax
call dword [section..00cfg]
push ebx
push esi
push 0
push edi
push 0x12
push dword [ebp - 0xd8]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1004ead7
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [ebp - 0xd4]
push edi
call fcn.100463a0
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x1004e00f
add eax, 2
inc ecx
mov edx, dword [ebp - 0xd4]
mov dword [edx + 0x2c], ecx
mov dword [ebp - 0xe4], eax
jmp 0x1004caec
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x12], 0
mov eax, 0
jne 0x1004cdba
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x7c], 0
mov eax, 0
jne 0x1004cdba
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x9d], 0
mov eax, 0
jne 0x1004cdba
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0x47
push eax
push esi
push eax
call fcn.1002fb80
xor eax, eax
add esp, 0xc
jmp 0x1004cdba
movsx edx, word [ebx + 0x22]
inc edx
mov ecx, dword [ebp - 0xd4]
call fcn.10052fb0
mov edi, eax
cmp dword [ebp - 0xf4], 0
js 0x1004e84d
cmp byte [ebp - 0x110], 0
je 0x1004e874
mov eax, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + eax*4 + 8]
mov ecx, dword [ebp - 0xd4]
push edi
call fcn.10059020
add esp, 4
jmp 0x1004e894
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0x4b
push eax
push dword [ebp - 0x134]
push eax
call fcn.1002fb80
add esp, 0xc
jmp 0x1004d163
mov esi, eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 8]
mov edx, 0x9f
push 0
push dword [ebp - 0xe4]
push esi
call fcn.1002fb80
add esp, 0xc
jmp 0x1004d1dd
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x118]
push ebx
call fcn.101796e0
add esp, 4
jmp 0x1004d1e7
mov eax, dword [edx + 0x34]
xor esi, esi
test eax, eax
jne 0x1004e814
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xdc]
mov edx, ebx
call fcn.10178cd0
movsx eax, word [ebx + 0x22]
add eax, 2
mov ebx, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 7
push dword [ebp - 0x134]
push eax
push 1
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffff5
push esi
call fcn.1003a120
add esp, 8
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x1004e2aa
mov edx, dword [ebp + 0x10]
cmp edx, 0xb
mov ecx, 2
cmovne ecx, edx
mov edx, dword [ebp - 0xe0]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x15], 1
mov esi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0xdc]
jmp 0x1004d2b2
mov ecx, dword [ebp - 0xe0]
mov edx, 0x56
push 0
push 1
push dword [ebp - 0x120]
call fcn.1002fb80
add esp, 0xc
jmp 0x1004d2bf
mov ecx, dword [ebp - 0xe0]
mov edx, esi
push str.rows_inserted
mov esi, eax
call fcn.10178d40
mov eax, esi
add esp, 4
jmp 0x1004d33c
mov ecx, esi
mov edx, dword [ebp - 0x124]
call fcn.100172a0
xor ebx, ebx
mov edx, edi
mov edi, esi
jmp 0x1004d35b
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0xc
push eax
push eax
push dword [ebp - 0xc8]
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0xf4], 0
js 0x1004e37b
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x128]
add eax, ecx
mov ecx, dword [ebp - 0xe0]
mov edx, 0x50
push 0
push dword [ebp - 0xe4]
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
mov ebx, dword [ebp - 0xdc]
jmp 0x1004cf7f
xor eax, eax
mov ecx, ebx
mov edx, 9
push eax
push dword [ebp - 0x10c]
push eax
call fcn.1002fb80
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x1004e3d0
mov ecx, dword [ebp - 0x108]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0xe0]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xfc]
jmp 0x1004d312
mov edi, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xdc]
jmp 0x1004cd50
mov edi, 0x101f2320
jmp 0x1004db2c
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x1004ded8
cmp dword [ecx], eax
jl 0x1004ded8
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
jmp 0x1004ded8
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0x4c
push eax
push eax
mov edi, dword [ebp - 0xd8]
push edi
call fcn.1002fb80
mov edx, edi
add esp, 0xc
jmp 0x1004deef
mov edx, dword [ebp - 0xd8]
cmp dword [edi + 0x10], edx
jne 0x1004db40
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xe8], eax
inc eax
mov dword [edx + 0x28], eax
mov al, byte [edx + 0x13]
test al, al
jne 0x1004ebe7
mov esi, dword [edx + 0x2c]
inc esi
mov dword [ebp - 0xd8], esi
inc esi
mov dword [edx + 0x2c], esi
mov edi, dword [ebp - 0xe0]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1004e66f
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x76
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xf0]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0xc8]
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jle 0x1004e691
lea ecx, [edx + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
mov ebx, edx
lea edx, [edx + edx*4]
mov dword [ecx + edx*4], 0xc
mov dword [ecx + edx*4 + 4], eax
xor eax, eax
mov dword [ecx + edx*4 + 8], eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1004e6ac
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x61
mov edx, dword [ebp - 0x128]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xf0]
mov dword [ecx + eax*4 + 8], edx
mov edx, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1004e6d2
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7f
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1004e6ef
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x80
mov edx, dword [ebp - 0xe8]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xd8]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1004e710
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 9
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], ebx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1004ec12
lea ecx, [ebx + ebx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
cmp dword [ebp - 0xd8], 0
mov edi, dword [ebp - 0xf8]
je 0x1004e639
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1004e639
mov ecx, eax
inc cl
mov edx, dword [ebp - 0xd4]
mov byte [edx + 0x13], cl
mov ecx, dword [ebp - 0xd8]
mov dword [edx + eax*4 + 0xa0], ecx
test esi, esi
mov ebx, dword [ebp - 0xdc]
je 0x1004e660
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 0x13]
cmp eax, 7
ja 0x1004e660
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0xa0], esi
mov dword [ebp - 0x110], 0
jmp 0x1004cd50
mov ecx, edi
mov edx, 0x76
push 0
push dword [ebp - 0xf0]
push dword [ebp - 0xe8]
call fcn.10016c40
add esp, 0xc
jmp 0x1004e4c1
xor ebx, ebx
mov ecx, edi
mov edx, 0xc
push ebx
push ebx
push eax
call fcn.10016c40
add esp, 0xc
mov ebx, eax
jmp 0x1004e4fa
mov ecx, edi
mov edx, 0x61
push dword [ebp - 0xd8]
push dword [ebp - 0xf0]
push dword [ebp - 0x128]
call fcn.10016c40
add esp, 0xc
jmp 0x1004e53f
mov ecx, edi
mov edx, 0x7f
push 0
push esi
push dword [ebp - 0xe8]
call fcn.10016c40
add esp, 0xc
jmp 0x1004e576
mov ecx, edi
mov edx, 0x80
push esi
push dword [ebp - 0xd8]
push dword [ebp - 0xe8]
call fcn.10016c40
add esp, 0xc
jmp 0x1004e5b5
xor eax, eax
mov ecx, edi
mov edx, 9
push eax
push ebx
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1004e5e6
test al, 0x60
je 0x1004e9f8
cmp word [ebp - 0xf4], 0
je 0x1004e9f8
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 4]
mov esi, dword [ebp - 0xf4]
lea ecx, [esi + 1]
shl esi, 4
add edx, esi
add edx, 0xfffffffe
mov edi, dword [ebp - 0xf8]
mov bl, byte [edx]
and bl, 0x60
cmp bl, 1
mov ebx, dword [ebp - 0xdc]
adc dword [ebp - 0xf4], 0xffffffff
dec ecx
add edx, 0xfffffff0
cmp ecx, 1
jg 0x1004e75f
jmp 0x1004cd76
test cx, cx
jle 0x1004cd84
mov eax, dword [ebx + 4]
add eax, 0xe
xor edx, edx
mov esi, ecx
mov edi, dword [ebp - 0xf8]
mov bl, byte [eax]
and bl, 0x62
cmp bl, 1
mov ebx, dword [ebp - 0xdc]
sbb edx, 0xffffffff
add eax, 0x10
dec esi
jne 0x1004e79b
jmp 0x1004cd84
push dword [ebp - 0xf0]
push ecx
push dword [ebp - 0x108]
push str.table__S_has__d_columns_but__d_values_were_supplied
push dword [ebp - 0xd4]
call fcn.100463a0
add esp, 0x14
jmp 0x1004e00f
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
push dword [ebp - 0xec]
push dword [ebp + 0x10]
push ebx
call fcn.101799e0
mov edx, dword [ebp - 0xec]
add esp, 0xc
xor esi, esi
test eax, eax
mov eax, 0
jne 0x1004d318
jmp 0x1004caa7
mov ecx, dword [ebp - 0xf8]
cmp dword [eax], ecx
je 0x1004ea09
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x1004e81a
jmp 0x1004e23d
push eax
push dword [ebp - 0xf0]
push 0x101c9e49
push dword [ebp - 0xd4]
call fcn.100463a0
add esp, 0x10
jmp 0x1004e00f
mov ecx, dword [ebp - 0xe0]
mov edx, 0x47
push 0
push edi
push 0xffffffffffffffff
jmp 0x1004e8fd
mov edi, esi
mov esi, eax
call fcn.10178db0
mov eax, esi
mov esi, edi
jmp 0x1004d334
mov ecx, dword [ebp - 0xe0]
mov edx, 0x5e
push edi
push dword [ebp - 0xf4]
push dword [ebp - 0xe8]
call fcn.1002fb80
add esp, 0xc
xor esi, esi
mov ebx, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 0x33
push esi
push esi
push edi
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov ecx, ebx
mov edx, 0x47
push esi
push edi
push 0xffffffffffffffff
call fcn.1002fb80
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x1004e8ec
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0xe0]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xe0]
mov edx, 0xd
push esi
push esi
push edi
call fcn.1002fb80
add esp, 0xc
mov esi, dword [ebp - 0xdc]
movsx eax, word [esi + 0x24]
dec eax
lea ebx, [edi + 1]
mov ecx, dword [ebp - 0xe0]
mov edx, 0x50
push eax
push ebx
push dword [ebp - 0x118]
call fcn.1002fb80
add esp, 0xc
test byte [esi + 0x1c], 0x60
jne 0x1004eb94
cmp byte [ebp - 0x101], 2
je 0x1004e956
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
push ebx
call fcn.10052360
add esp, 4
mov esi, dword [ebp - 0xdc]
movsx eax, word [esi + 0x22]
not eax
add eax, edi
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x138]
push dword [ebp - 0xd8]
push dword [ebp + 0x10]
push eax
push esi
push 1
push 0
push 0x7f
call fcn.10056660
add esp, 0x1c
movsx eax, word [esi + 0x22]
test eax, eax
je 0x1004e9c0
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0x1c], eax
mov ebx, dword [ebp - 0xdc]
jg 0x1004d146
inc eax
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [eax], edi
mov ebx, dword [ebp - 0xdc]
jmp 0x1004d146
test edi, edi
mov ebx, dword [ebp - 0xdc]
je 0x1004d146
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1004d146
mov ecx, eax
inc cl
mov edx, dword [ebp - 0xd4]
mov byte [edx + 0x13], cl
lea eax, [edx + eax*4]
add eax, 0xa0
jmp 0x1004e9b3
mov edi, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xdc]
jmp 0x1004cd76
mov esi, eax
jmp 0x1004e23d
mov eax, dword [edi + 0x28]
lea ecx, [ebx + ebx*4]
mov ecx, dword [eax + ecx*4 + 8]
mov esi, ecx
cmp byte [ecx], 0x71
je 0x1004d8ac
mov dword [ebp - 0x6c], esi
jmp 0x1004d8a9
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
test edx, edx
je 0x1004ea6b
mov ecx, dword [ebp - 0xd4]
push dword [ebp - 0x108]
push esi
call fcn.10031230
add esp, 8
test eax, eax
jne 0x1004ea6b
mov edi, dword [ebp - 0xd8]
movzx eax, word [edi + 0x32]
movzx ecx, ax
mov dword [ebp - 0x100], ecx
jmp 0x1004d87a
mov esi, dword [ebp - 0xd8]
mov esi, dword [esi + 0x14]
test esi, esi
mov edx, dword [ebp - 0xec]
jne 0x1004d839
jmp 0x1004d902
cmp dword [ebp - 0x13c], 0
je 0x1004ec77
mov ecx, dword [ebp - 0x13c]
inc ecx
lea eax, [ebp - 0x88]
push ecx
push 0x101dfa60
push eax
push 0x10
call sym.nss3.dll_sqlite3_snprintf
add esp, 0x10
lea eax, [ebp - 0x88]
push eax
push str._sON_CONFLICT_clause_does_not_match_any_PRIMARY_KEY_or_UNIQUE_constraint
push dword [ebp - 0xd4]
call fcn.100463a0
add esp, 0xc
mov eax, dword [ebp - 0xfc]
jmp 0x1004d33c
test eax, 0xfffffffd
je 0x1004ec93
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x1004e0dd
mov ecx, dword [ebp - 0xe0]
mov edx, 0x5e
push dword [ebp - 0xe4]
push dword [ebp - 0xf4]
push dword [ebp - 0xe8]
call fcn.1002fb80
jmp 0x1004de99
cmp byte [ebx + 0x2b], 1
je 0x1004d59b
mov ecx, dword [ebp - 0xe0]
mov edx, 0x7f
mov esi, dword [ebp - 0x11c]
push esi
push dword [ebp - 0xe4]
push dword [ebp - 0xac]
call fcn.1002fb80
jmp 0x1004dc91
add edi, 2
mov ecx, esi
mov edx, 0x32
push 0
push edi
push dword [ebp - 0xe4]
call fcn.1002fb80
add esp, 0xc
jmp 0x1004d66d
mov ecx, 0x101f2320
jmp 0x1004d66a
mov al, byte [eax - 4]
cmp al, 3
mov ecx, str.FIRST
mov edx, str.LAST
cmove edx, ecx
test al, al
cmove edx, ecx
push edx
push str.unsupported_use_of_NULLS__s
jmp 0x1004eabe
mov ecx, dword [ebp - 0xd4]
mov edx, ebx
push dword [ebp - 0xdc]
call fcn.101796e0
add esp, 4
jmp 0x1004e938
push str.cannot_UPSERT_a_view
push dword [ebp - 0xd4]
call fcn.100463a0
add esp, 8
jmp 0x1004eacc
push dword [ebx]
push str.UPSERT_not_implemented_for_virtual_table___s_
jmp 0x1004eabe
mov esi, 0x101f2320
jmp 0x1004daa9
mov ecx, 0x101f2320
jmp 0x1004dc34
mov ecx, eax
dec cl
mov byte [edx + 0x13], cl
movzx ecx, cl
mov ecx, dword [edx + ecx*4 + 0xa0]
mov dword [ebp - 0xd8], ecx
jne 0x1004ecf4
mov edx, dword [ebp - 0xd4]
mov esi, dword [edx + 0x2c]
jmp 0x1004e47a
mov ecx, 0x101f2320
jmp 0x1004e5fe
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x78], 0
je 0x1004ecc8
mov ecx, dword [ebp - 0xd4]
call fcn.1002f500
jmp 0x1004dadb
mov esi, dword [edx + 0x34]
mov dword [ebp - 0xd8], 0
test esi, esi
je 0x1004db02
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx]
cmp dword [esi], edx
je 0x1004ece9
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x1004ec59
mov dword [ebp - 0xd8], 0
jmp 0x1004db02
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x10], 0
jne 0x1004ea94
mov byte [ebp - 0x88], 0
jmp 0x1004eab2
test eax, eax
mov ebx, dword [ebp - 0xdc]
je 0x1004c97d
jmp 0x1004e00f
mov ecx, dword [ebp - 0x10c]
mov ecx, dword [ecx + 8]
cmp byte [ecx], 0xa7
jne 0x1004d7de
cmp word [ecx + 0x20], 0xffff
jne 0x1004d7de
jmp 0x1004d912
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
test byte [eax + 0x50], 8
jne 0x1004ec2c
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x17], 1
jmp 0x1004ec2c
mov dword [ebp - 0xd8], esi
jmp 0x1004db02
add al, 0xfe
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0xa0]
jmp 0x1004e47e