Function at 0x10070f90
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x101215a0]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
xor eax, eax
lea ebx, [esi + 0x88]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edi
mov byte [esp + 0x64], cl
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], ebx
call fcn.10039d80
cmp dword [esi + 0x64], 7
je 0x100715a6
xor eax, eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x2c], eax
mov edx, dword [edi + 0xd8]
mov dword [edi + 0x1a0], eax
test edx, edx
jne 0x10076405
mov eax, dword [esi + 0x60]
mov dword [esp + 0x48], eax
cmp byte [edi + 0x1e], 0
jne 0x100715a6
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x100]
mov dword [esp + 0x58], edi
test eax, eax
je 0x10071079
mov edx, dword [ecx + 0x108]
cmp edx, dword [esp + 0x70]
jne 0x10071075
mov ecx, dword [ecx + 0x104]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x10076258
mov dword [esp + 0x70], eax
inc dword [esp + 0x70]
movzx edx, byte [edi]
mov dl, byte [edx + 0x100f3ac0]
test dl, 2
je 0x100710d0
mov eax, dword [edi + 8]
mov ecx, esi
mov edx, dword [ecx + 0x58]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [esp + 0x54], esi
call fcn.1003b400
mov eax, 1
mov word [esi + 0x1c], ax
mov dword [esi + 0x18], 0
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x54]
movzx eax, byte [edi]
mov ecx, dword [esp + 0x50]
dec eax
cmp eax, 0x90
ja case.0x100710c9.10
jmp dword [eax*4 + 0x10076440]
test dl, 4
je 0x1007111a
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x50], ecx
test dl, 8
je 0x10071106
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
mov dword [esp + 0x60], ecx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x54], eax
jmp 0x100710b2
test dl, 0x10
je 0x100710b2
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 0x5c], edx
jmp 0x100710b2
test dl, 8
je 0x10071131
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x60], edx
jmp 0x100710b2
mov ebx, dword [esp + 0x54]
test dl, 0x10
je 0x100710b6
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x5c], edx
jmp 0x100710b6
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0xd8]
test ecx, ecx
jne 0x10076405
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x48]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
jmp case.0x100710c9.10
mov ecx, dword [ecx]
mov dword [esp + 0x48], ecx
jmp case.0x100710c9.10
mov eax, dword [ecx]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x48]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x48], ecx
jmp case.0x100710c9.10
mov edx, dword [esp + 0x5c]
test byte [edx + 0x1c], 1
je case.0x100710c9.10
cmp dword [edi + 4], 0
jne 0x10076265
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x10076265
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x40]
dec dword [esi + 0xe0]
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0x74]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.1003b880
cmp dword [edi + 8], 4
mov dword [esp + 0x48], eax
jne case.0x100710c9.10
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x48], ecx
jmp case.0x100710c9.10
mov edx, 4
mov word [ebx + 0x1c], dx
mov eax, dword [edi + 4]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x100710c9.10
mov eax, 4
mov word [ebx + 0x1c], ax
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov dword [ebx], ecx
mov edx, dword [edi + 4]
mov dword [ebx + 4], edx
jmp case.0x100710c9.10
mov eax, 8
mov word [ebx + 0x1c], ax
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [ebx + 8]
jmp case.0x100710c9.10
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
mov dword [esp + 0x68], ecx
call fcn.100362e0
cmp byte [esp + 0x64], 1
mov dword [edi + 4], eax
je 0x100713d6
test ecx, ecx
jne 0x100712ea
test byte [ebx + 0x1c], 0x40
je 0x100712bc
mov edi, dword [ebx]
call fcn.10060f10
mov edi, dword [esp + 0x58]
test byte [ebx + 0x1c], 0x20
je 0x100712cd
mov edi, dword [ebx]
call fcn.10038ac0
mov edi, dword [esp + 0x58]
mov dx, word [ebx + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [ebx + 0x1c], dx
mov byte [ebx + 0x1e], 5
jmp 0x10071378
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x100712fa
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x58], ecx
jmp 0x10071302
mov dword [esp + 0x58], 0x3b9aca00
mov eax, dword [esp + 0x58]
xor esi, esi
test eax, eax
jl 0x1007131b
mov ecx, dword [esp + 0x68]
cmp byte [esi + ecx], 0
je 0x1007131b
inc esi
cmp esi, eax
jle 0x10071310
xor edx, edx
mov dword [esp + 0x44], 0x202
push ebx
cmp edx, fcn.10036110
jne 0x1007133c
call fcn.1003b470
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x24], eax
jmp 0x1007134d
call fcn.1003b470
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], 0xa02
mov cx, word [esp + 0x48]
add esp, 4
cmp esi, dword [esp + 0x58]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], cx
mov byte [ebx + 0x1f], 1
mov byte [ebx + 0x1e], 3
jg 0x10071cc2
movzx ecx, byte [esp + 0x64]
mov eax, ebx
mov dword [esp + 0x44], 0
call fcn.10050860
test eax, eax
jne 0x100715a6
mov dx, word [ebx + 0x1c]
mov dword [ebx + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
mov word [ebx + 0x1c], dx
cmp byte [edi + 1], 0xff
jne 0x100713c6
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.10036110
add esp, 8
mov byte [edi + 1], 0xff
mov ecx, dword [ebx + 0x14]
mov dword [edi + 0x10], ecx
mov edx, dword [ebx + 0x18]
mov dword [edi + 4], edx
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
cmp eax, dword [ecx + 0x48]
jg 0x10071cc2
mov edx, 0xa02
mov word [ebx + 0x1c], dx
mov eax, dword [edi + 0x10]
mov dl, byte [esp + 0x64]
mov dword [ebx + 0x14], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 0x18], ecx
mov byte [ebx + 0x1f], dl
jmp case.0x100710c9.10
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 4]
push 0
push eax
xor eax, eax
mov edx, ebx
call fcn.10061090
mov cl, byte [esp + 0x6c]
mov byte [ebx + 0x1f], cl
jmp 0x1007623d
mov eax, dword [edi + 4]
dec eax
mov dword [esp + 0x90], eax
mov esi, dword [edi + 8]
mov dword [esp + 0x94], esi
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x100714d0
mov edi, dword [esp + 0x4c]
jmp 0x1007145e
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
dec ecx
mov dword [esp + 0x98], ecx
mov ecx, dword [edi + 0x48]
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
inc eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x90], eax
call fcn.1003b5c0
test eax, eax
jne 0x10071cc2
mov eax, dword [edi + 0x58]
lea edx, [esi + esi*4]
lea ebx, [eax + edx*8]
inc esi
mov dword [esp + 0x94], esi
mov esi, ebx
mov dword [esp + 0x54], ebx
call fcn.1003b400
mov ecx, 1
mov word [ebx + 0x1c], cx
mov edx, dword [esp + 0x9c]
push 0x800
push edx
call fcn.1003b5f0
mov ecx, dword [esp + 0xa0]
add esp, 8
test ecx, ecx
jg 0x10071450
dec ecx
mov dword [esp + 0x98], ecx
jmp case.0x100710c9.10
mov eax, dword [edi + 0xc]
mov esi, dword [esi + 0x58]
mov dword [esp + 0x94], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x98], ecx
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [esi + ecx*8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov dword [esp + 0x9c], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
test eax, eax
je 0x10071559
dec eax
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x90], eax
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.1003b640
mov ecx, dword [esp + 0x90]
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x94]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x10071516
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
dec eax
mov dword [esp + 0x94], eax
jmp case.0x100710c9.10
mov edi, dword [edi + 8]
mov eax, dword [esi + 0x58]
mov ecx, dword [esp + 0x50]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
push 0x1000
push ecx
mov dword [esp + 0x5c], ebx
call fcn.1003b5f0
mov edx, 0x1000
add esp, 8
test word [ebx + 0x1c], dx
je case.0x100710c9.10
mov eax, ebx
call fcn.10049480
test eax, eax
je case.0x100710c9.10
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x4c]
push 0x100f2a68
add esi, 0x68
mov byte [eax + 0x1e], 1
call fcn.1004eea0
mov dword [esp + 0x48], 7
jmp 0x10071cdf
mov edi, dword [edi + 8]
mov ecx, dword [esi + 0x58]
mov edx, dword [esp + 0x50]
lea eax, [edi + edi*4]
lea ebx, [ecx + eax*8]
push 0x1000
push edx
mov dword [esp + 0x5c], ebx
call fcn.1003b5f0
jmp 0x1007623d
push 0
mov ecx, esi
call fcn.10050c70
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jne case.0x100710c9.10
push 1
push esi
call fcn.10050ba0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne case.0x100710c9.10
mov edx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
add edx, 2
or edx, 1
mov dword [esi + 0x5c], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esi + 0x2c], eax
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x94], eax
cmp dword [edi + 8], eax
jle 0x1007168e
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x90]
lea eax, [eax + edx*8]
call fcn.100434a0
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
call fcn.1003c480
mov eax, dword [esp + 0x94]
inc eax
mov dword [esp + 0x94], eax
cmp eax, dword [edi + 8]
jl 0x1007164f
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x1e], 0
jne 0x100715a6
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
inc ecx
mov dword [edx + 0x60], ecx
mov edi, 0x64
jmp 0x10071d0b
movzx eax, word [ecx + 0x1c]
mov ecx, dword [esp + 0x60]
mov dl, byte [ecx + 0x1c]
or dl, al
test dl, 1
je 0x100716d2
push ebx
call fcn.10060fd0
add esp, 4
jmp case.0x100710c9.10
test eax, 0x4000
je 0x100716ea
mov eax, dword [esp + 0x50]
call fcn.10043440
test eax, eax
jne 0x100715a6
mov eax, dword [esp + 0x60]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x10071706
call fcn.10043440
test eax, eax
jne 0x100715a6
mov edx, dword [esp + 0x50]
test byte [edx + 0x1c], 0x12
jne 0x10071724
movzx esi, byte [esp + 0x64]
mov eax, edx
call fcn.10050880
test eax, eax
jne 0x100715a6
mov ecx, dword [esp + 0x60]
test byte [ecx + 0x1c], 0x12
jne 0x10071746
movzx esi, byte [esp + 0x64]
mov eax, ecx
call fcn.10050880
test eax, eax
jne 0x100715a6
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x18]
add eax, dword [ecx + 0x18]
mov ebx, dword [esp + 0x54]
cdq
mov ecx, edx
mov edx, dword [esp + 0x40]
mov esi, eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x10071cc2
jl 0x10071781
cmp esi, eax
ja 0x10071cc2
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp ebx, dword [esp + 0x60]
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x90]
sete dl
add eax, 2
push edx
call fcn.10043310
add esp, 4
test eax, eax
jne 0x100715a6
mov esi, dword [esp + 0x60]
cmp ebx, esi
je 0x100717d5
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov edx, dword [ebx + 0x14]
push eax
push ecx
push edx
call fcn.100ae5b0
add esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x14]
add eax, dword [esi + 0x18]
push ecx
push edx
push eax
call fcn.100ae5b0
mov edx, dword [esp + 0x9c]
mov ecx, dword [ebx + 0x14]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x9c]
mov eax, dword [ebx + 0x14]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x70]
mov edx, 0x200
add esp, 0xc
or word [ebx + 0x1c], dx
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], cl
jmp case.0x100710c9.10
mov edi, dword [esp + 0x50]
call fcn.10050e00
mov edi, dword [esp + 0x60]
call fcn.10050e00
mov esi, dword [esp + 0x50]
movzx edx, word [edi + 0x1c]
movzx eax, word [esi + 0x1c]
or edx, eax
mov dword [esp + 0x90], edx
test dl, 1
jne 0x10071ace
mov cl, byte [edi + 0x1c]
and cl, byte [esi + 0x1c]
test cl, 4
je 0x1007198e
mov ecx, dword [esi]
mov dword [esp + 0x98], ecx
mov edx, dword [esi + 4]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x9c], edx
mov eax, dword [edi]
mov dword [esp + 0xa0], eax
mov edi, dword [edi + 4]
mov dword [esp + 0xa4], edi
movzx esi, byte [esi]
add esi, 0xffffffaa
cmp esi, 3
ja case.default.0x100718a4
jmp dword [esi*4 + 0x10076684]
add eax, ecx
mov ecx, dword [esp + 0x54]
adc edi, edx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], eax
mov dword [ecx], eax
mov edx, dword [esp + 0xa4]
jmp 0x100722fc
sub eax, ecx
mov ecx, dword [esp + 0x54]
sbb edi, edx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], eax
mov dword [ecx], eax
mov edx, dword [esp + 0xa4]
jmp 0x100722fc
push edx
push ecx
push edi
push eax
call fcn.100af340
jmp 0x1007196e
mov esi, ecx
or esi, edx
je 0x10071ace
mov esi, ecx
and esi, edx
cmp esi, 0xffffffff
jne 0x10071932
test eax, eax
jne 0x10071932
cmp edi, 0x80000000
jne 0x10071932
mov ecx, 1
xor edx, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
push edx
push ecx
push edi
push eax
call fcn.100af130
jmp 0x1007196e
mov esi, ecx
or esi, edx
je 0x10071ace
mov esi, ecx
and esi, edx
cmp esi, 0xffffffff
jne 0x10071965
mov ecx, 1
xor edx, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
push edx
push ecx
push edi
push eax
call fcn.100af1e0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], eax
mov dword [ecx], eax
mov edx, dword [esp + 0xa4]
jmp 0x100722fc
call fcn.100509c0
fstp qword [esp + 0xa8]
mov esi, edi
call fcn.100509c0
fst qword [esp + 0xb0]
mov eax, dword [esp + 0x58]
movzx eax, byte [eax]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x100719b7
jmp dword [eax*4 + 0x10076694]
fadd qword [esp + 0xa8]
jmp 0x10071a75
fsub qword [esp + 0xa8]
jmp 0x10071a75
fmul qword [esp + 0xa8]
jmp 0x10071a75
fldz
fld qword [esp + 0xa8]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10071aca
fdivp st(1)
jmp 0x10071a75
fld qword [esp + 0xa8]
call fcn.100af0b6
mov esi, eax
mov edi, edx
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
call fcn.100af0b6
mov ecx, esi
or ecx, edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
je 0x10071ace
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x10071a57
mov esi, 1
xor edi, edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
push edi
push esi
push edx
push eax
call fcn.100af1e0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
fild qword [esp + 0x80]
sub esp, 8
fst qword [esp + 0xb8]
fstp qword [esp]
call fcn.100362a0
add esp, 8
test eax, eax
jne 0x10071ace
mov eax, dword [esp + 0x54]
fld qword [esp + 0xb0]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xbf08
and cx, dx
or cx, 8
mov word [eax + 0x1c], cx
test byte [esp + 0x90], 8
jne case.0x100710c9.10
mov esi, eax
call fcn.1003b530
jmp case.0x100710c9.10
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x54]
push edx
call fcn.10060fd0
add esp, 4
jmp case.0x100710c9.10
movzx ecx, byte [edi + 3]
mov eax, dword [esi + 0x24]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + edx*8]
xor eax, eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], eax
test ecx, ecx
jle 0x10071b52
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xd8]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x94]
call fcn.1003c480
mov eax, dword [esp + 0x90]
add dword [esp + 0x94], 0x28
inc eax
cmp eax, dword [esp + 0xdc]
mov dword [esp + 0x90], eax
jl 0x10071b15
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x10071b6d
xor ecx, ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
jmp 0x10071b7f
mov dword [esp + 0x9c], eax
mov ecx, dword [eax]
mov dword [esp + 0x98], ecx
xor ecx, ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x58]
lea esi, [eax + edx*8]
mov eax, dword [esp + 0x40]
mov edx, 1
mov dword [esp + 0xb0], eax
mov ebx, esi
lea eax, [esp + 0xa0]
mov dword [esp + 0x54], esi
mov word [esp + 0xbc], dx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ecx
call fcn.1003b640
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x98]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0xbc], cx
mov dword [esp + 0xcc], 0
test byte [eax + 3], 8
je 0x10071c01
mov edx, dword [edi - 4]
mov dword [esp + 0xd0], edx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
push ecx
push edx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0xa0]
push ecx
call edx
mov eax, dword [esp + 0x4c]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x100762c0
mov ebx, dword [esp + 0x9c]
test ebx, ebx
je 0x10071c54
mov ecx, dword [edi + 4]
push ecx
call fcn.1003b920
mov edx, dword [esp + 0xa0]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp dword [esp + 0xcc], 0
je 0x10071c94
mov bl, 1
lea edi, [esp + 0xa0]
call fcn.10050b10
mov esi, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x44]
push 0x100f267c
add esi, 0x68
call fcn.1004eea0
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0x5c]
add esp, 8
mov dword [esp + 0x44], eax
movzx ecx, byte [esp + 0x64]
lea eax, [esp + 0xa0]
call fcn.10050860
lea ebx, [esp + 0xa0]
mov eax, esi
call fcn.1003b640
mov ecx, esi
call fcn.1003b5c0
test eax, eax
je case.0x100710c9.10
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
push str.string_or_blob_too_big
add esi, 0x68
call fcn.1004eea0
mov dword [esp + 0x48], 0x12
add esp, 4
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
push eax
mov dword [eax + 0x64], esi
call fcn.10060810
add esp, 4
cmp esi, 0xc0a
jne 0x10071d06
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0x1e], 1
mov edi, 1
mov ebx, dword [esp + 0x7c]
call fcn.10039dd0
mov ecx, dword [esp + 0x13c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100ad0a1
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x60]
mov al, byte [edx + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
je 0x10071d47
push ebx
call fcn.10060fd0
add esp, 4
jmp case.0x100710c9.10
mov esi, dword [esp + 0x60]
call fcn.10050930
mov esi, dword [esp + 0x50]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
call fcn.10050930
mov ecx, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
movzx eax, byte [edi]
sub eax, 0x52
je 0x10071dd1
sub eax, 1
je 0x10071dc1
mov edx, dword [esp + 0x94]
sub eax, 1
mov eax, dword [esp + 0x90]
je 0x10071dac
call fcn.100af660
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x10071ddf
call fcn.100af460
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x10071ddf
or dword [esp + 0x90], ecx
or dword [esp + 0x94], edx
jmp 0x10071ddf
and dword [esp + 0x90], ecx
and dword [esp + 0x94], edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov edx, dword [esp + 0x94]
mov cx, word [eax + 0x1c]
mov dword [eax + 4], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x100710c9.10
mov esi, dword [esp + 0x50]
mov eax, esi
call fcn.10050a30
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x100710c9.10
mov edi, dword [esp + 0x50]
call fcn.10050e00
mov esi, edi
test byte [esi + 0x1c], 8
je 0x10071e3e
call fcn.1003b530
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x10071e5f
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
je 0x100762d5
dec eax
mov dword [esp + 0x48], eax
jmp case.0x100710c9.10
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 4
je case.0x100710c9.10
mov eax, dword [esp + 0x50]
call fcn.10050a60
jmp case.0x100710c9.10
movzx edx, word [ecx + 0x1c]
test dl, 1
jne case.0x100710c9.10
mov eax, edx
shr eax, 3
and eax, 2
or eax, edx
mov word [ecx + 0x1c], ax
test al, 2
jne 0x10071ebd
test al, 0xc
je 0x10071ebd
movzx esi, byte [esp + 0x64]
mov eax, dword [esp + 0x50]
call fcn.10050880
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov edx, 0xfff3
and word [ecx + 0x1c], dx
movzx eax, word [ecx + 0x1c]
test eax, 0x4000
je 0x10071eee
mov eax, esi
call fcn.10043440
mov dword [esp + 0x44], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp case.0x100710c9.10
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov dword [esp + 0x44], 0
jmp case.0x100710c9.10
movzx eax, word [ecx + 0x1c]
test al, 1
jne case.0x100710c9.10
test al, 0x10
jne 0x10071f47
test al, 2
jne 0x10071f2e
test al, 0xc
je 0x10071f2e
movzx esi, byte [esp + 0x64]
mov eax, dword [esp + 0x50]
call fcn.10050880
mov ecx, dword [esp + 0x50]
mov dx, word [ecx + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [ecx + 0x1c], dx
jmp case.0x100710c9.10
and eax, 0xff10
mov word [ecx + 0x1c], ax
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 0xd
jne case.0x100710c9.10
mov eax, dword [esp + 0x50]
call fcn.10050a90
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 1
jne case.0x100710c9.10
mov eax, dword [esp + 0x50]
call fcn.10050a30
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 1
jne case.0x100710c9.10
mov eax, dword [esp + 0x50]
call fcn.10050a60
jmp case.0x100710c9.10
movzx eax, word [ecx + 0x1c]
mov edx, dword [esp + 0x5c]
movzx edx, word [edx + 0x1c]
mov cl, al
or cl, dl
test cl, 1
je 0x1007200f
mov cl, byte [edi + 3]
test cl, cl
jns 0x10071fca
and al, dl
test al, 1
mov eax, 0
sete al
jmp 0x1007208f
test cl, 0x10
je 0x10071ff9
mov edi, dword [edi + 8]
mov eax, dword [esi + 0x58]
lea edx, [edi + edi*4]
mov cx, word [eax + edx*8 + 0x1c]
lea eax, [eax + edx*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x54], eax
mov word [eax + 0x1c], cx
jmp case.0x100710c9.10
test cl, 8
je case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov al, byte [edi + 3]
and al, 0x67
mov byte [esp + 0x94], al
je 0x10072051
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
push esi
call fcn.10050ee0
mov al, byte [esp + 0x98]
mov ecx, dword [esp + 0x60]
push esi
call fcn.10050ee0
mov eax, dword [esp + 0x48]
add esp, 8
cmp byte [eax + 0x1e], 0
jne 0x100715a6
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x10072067
mov eax, ebx
call fcn.10043440
mov ecx, dword [esp + 0x5c]
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x10072081
mov eax, ecx
call fcn.10043440
mov ecx, dword [esp + 0x5c]
mov eax, dword [edi + 0x10]
push eax
mov eax, ebx
call fcn.10059d20
add esp, 4
mov dword [esp + 0x90], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x100720a1
jmp dword [ecx*4 + 0x100766a4]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x100720e4
xor edx, edx
test eax, eax
setne dl
jmp 0x100720e2
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x100720e4
xor edx, edx
test eax, eax
setle dl
jmp 0x100720e2
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x100720e4
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x90], eax
test byte [edi + 3], 0x10
je 0x100723f3
mov edi, dword [edi + 8]
mov ecx, dword [esi + 0x58]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x90]
cdq
mov dword [esp + 0x54], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x100710c9.10
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x74], ecx
jmp case.0x100710c9.10
mov edx, dword [edi + 0xc]
mov dword [esp + 0x90], edx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xa0], ecx
mov eax, dword [edi + 4]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x94], eax
test edx, edx
jle 0x1007221d
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x4c]
jmp 0x10072187
mov ecx, dword [esp + 0xa0]
test ebx, ebx
je 0x10072190
mov edx, dword [ebx + eax*4]
jmp 0x10072192
mov edx, eax
mov dword [esp + 0xa4], edx
mov esi, dword [ecx + eax*4 + 0xc]
mov dword [esp + 0xa8], esi
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov ecx, dword [edi + 0x58]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x9c]
add eax, edx
push esi
mov esi, dword [esp + 0x9c]
add edx, esi
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
lea eax, [ecx + eax*8]
lea ecx, [ecx + edx*8]
call fcn.10059d20
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x10072209
mov eax, dword [esp + 0x94]
inc eax
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
jl 0x10072180
mov dword [esp + 0x74], 0
jmp case.0x100710c9.10
cmp dword [esp + 0xac], 0
je 0x1007221d
mov eax, dword [esp + 0x6c]
neg eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], 0
jmp case.0x100710c9.10
mov eax, dword [esp + 0x6c]
test eax, eax
jge 0x1007223f
mov edi, dword [edi + 4]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
jne 0x1007224e
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov edi, dword [edi + 0xc]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 1
je 0x10072268
mov eax, 2
jmp 0x1007227e
mov esi, dword [esp + 0x50]
call fcn.10050930
or eax, edx
je 0x1007227c
mov eax, 1
jmp 0x1007227e
xor eax, eax
mov esi, dword [esp + 0x60]
mov dword [esp + 0x90], eax
test byte [esi + 0x1c], 1
je 0x10072296
mov edx, 2
jmp 0x100722af
call fcn.10050930
or eax, edx
mov eax, dword [esp + 0x90]
je 0x100722ad
mov edx, 1
jmp 0x100722af
xor edx, edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x94], edx
cmp byte [edi], 0x45
lea edx, [edx + eax*2]
jne 0x100722cc
movzx eax, byte [eax + edx + 0x100f3a8c]
jmp 0x100722d4
movzx eax, byte [eax + edx + 0x100f3b54]
mov dword [esp + 0x90], eax
cmp eax, 2
jne 0x100722f9
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.0x100710c9.10
cdq
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 1
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x58]
lea eax, [edi + edi*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x54], edi
je 0x1007233c
push edi
call fcn.10060fd0
add esp, 4
jmp case.0x100710c9.10
mov esi, dword [esp + 0x50]
call fcn.10050930
or eax, edx
jne 0x1007235d
mov eax, 1
cdq
push edx
push eax
mov esi, edi
call fcn.1003b590
jmp 0x1007623d
xor eax, eax
cdq
push edx
push eax
mov esi, edi
call fcn.1003b590
jmp 0x1007623d
test byte [ecx + 0x1c], 1
mov edi, dword [edi + 8]
mov edx, dword [esi + 0x58]
lea eax, [edi + edi*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x54], edi
je 0x10072392
push edi
call fcn.10060fd0
add esp, 4
jmp case.0x100710c9.10
mov esi, dword [esp + 0x50]
call fcn.10050930
not edx
not eax
push edx
push eax
mov esi, edi
call fcn.1003b590
jmp 0x1007623d
test byte [ecx + 0x1c], 1
je 0x100723b8
mov eax, dword [edi + 0xc]
jmp 0x100723ec
mov esi, dword [esp + 0x50]
call fcn.100509c0
fcomp qword [0x100ff9a0]
fnstsw ax
test ah, 0x44
jnp 0x100723d5
mov eax, 1
jmp 0x100723d7
xor eax, eax
mov dword [esp + 0x90], eax
cmp byte [edi], 0x1b
jne 0x100723f3
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x90], eax
test eax, eax
je case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 1
je case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
test byte [ecx + 0x1c], 1
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov dword [esp + 0xa0], edx
mov eax, dword [edi + 8]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
xor edx, edx
mov dword [esp + 0xa8], edx
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + ecx*8]
mov dword [esp + 0xcc], eax
mov cx, word [eax + 0x1c]
mov ebx, 0xbf01
and cx, bx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0xa0]
mov eax, dword [esi + 0x34]
mov dword [esp + 0xac], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa8], eax
mov ecx, dword [eax]
mov dword [esp + 0xb0], ecx
cmp ecx, edx
je 0x100725ef
mov esi, eax
call fcn.10060ac0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov eax, dword [esp + 0xa8]
cmp byte [eax + 0x14], 0
je 0x1007251e
mov dword [esp + 0x90], 0
jmp case.0x100710c9.10
mov edx, dword [eax + 0x44]
mov ecx, dword [esp + 0x4c]
cmp edx, dword [ecx + 0x5c]
jne 0x1007258d
mov edx, dword [eax + 0x48]
mov dword [esp + 0x90], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0xac], ecx
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
test ecx, ecx
je case.0x100710c9.10
mov edx, dword [esp + 0x40]
cmp ecx, dword [edx + 0x48]
ja 0x10071cc2
mov edx, dword [eax + 0x2c]
mov dword [esp + 0xbc], edx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xb4], ecx
mov ebx, dword [eax + 0x44]
cmp ebx, dword [esi + 0x5c]
jne 0x1007264f
mov eax, dword [eax + 0x50]
mov dword [esp + 0xb8], eax
jmp 0x10072966
cmp byte [eax + 0x17], 0
je 0x100725c8
mov eax, dword [esp + 0xb0]
lea edi, [esp + 0x98]
call fcn.1003af50
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x90], edx
jmp 0x1007253e
mov esi, dword [esp + 0xb0]
lea eax, [esp + 0x90]
push eax
call fcn.1003af80
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xac]
add esp, 4
jmp 0x1007253e
mov ecx, dword [eax + 0x24]
cmp ecx, edx
jle 0x10072643
mov ebx, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x118], ecx
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x90], ebx
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xac], ecx
test byte [edi + 3], 0x20
je 0x10072631
xor ecx, ecx
mov dword [eax + 0x44], ecx
mov eax, dword [esp + 0xa8]
jmp 0x10072542
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x44], ecx
mov eax, dword [esp + 0xa8]
jmp 0x10072542
mov dword [esp + 0x90], edx
jmp case.0x100710c9.10
lea ecx, [ecx + edx*4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x114], 0
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x90]
mov dword [ecx + 0x48], edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esi + 0x5c]
mov dword [ecx + 0x44], eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x10072699
mov dword [esp + 0xc8], ecx
jmp 0x10072714
mov edx, dword [esp + 0xa8]
cmp byte [edx + 0x17], 0
mov esi, dword [esp + 0xb0]
je 0x100726bc
lea eax, [esp + 0x114]
push eax
call fcn.1003b060
jmp 0x100726d2
xor eax, eax
cmp byte [esi + 0x43], 1
jne 0x100726d5
push 1
lea ebx, [esp + 0x118]
call fcn.1003afe0
add esp, 4
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc8], eax
cmp ecx, dword [esp + 0x114]
ja 0x100726ff
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov dword [edx + 0x54], eax
jmp 0x1007270d
mov eax, dword [esp + 0xa8]
mov dword [eax + 0x54], 0
mov ecx, dword [esp + 0xc8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1007272b
movzx eax, al
mov dword [esp + 0x100], eax
mov edx, 1
jmp 0x10072748
lea esi, [esp + 0x100]
call fcn.10036ef0
mov ecx, dword [esp + 0xc8]
movzx edx, al
mov eax, dword [esp + 0x100]
movzx edx, dl
mov dword [esp + 0x110], edx
cmp eax, 0x18003
jbe 0x10072766
mov dword [esp + 0x44], 0xb
jmp case.0x100710c9.10
mov esi, dword [esp + 0xbc]
lea edx, [esi + esi*4 + 3]
cmp edx, eax
mov dword [esp + 0xc0], edx
jle 0x10072785
mov edx, eax
mov dword [esp + 0xc0], edx
cmp dword [esp + 0xac], 0
jne 0x10072801
cmp dword [esp + 0x114], edx
jge 0x10072801
mov ecx, dword [esp + 0xa8]
xor eax, eax
mov word [esp + 0xec], ax
mov dword [esp + 0xe0], eax
movzx eax, byte [ecx + 0x17]
push eax
mov eax, dword [esp + 0xb4]
push edx
push 0
lea edi, [esp + 0xdc]
call fcn.100605f0
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne case.0x100710c9.10
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc8], ecx
add edx, ecx
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x110]
add edx, ecx
xor ecx, ecx
cmp esi, ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xc4], ecx
jle 0x100728ec
xor ebx, ebx
mov eax, dword [esp + 0xf8]
cmp eax, dword [esp + 0xfc]
jae 0x100728c6
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x108]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0xf8]
mov al, byte [ecx]
mov edx, dword [esp + 0xc4]
cmp al, 0x80
jae 0x10072884
movzx ecx, al
mov eax, dword [esp + 0xb4]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x10072896
mov eax, dword [esp + 0xb4]
lea esi, [eax + edx*4]
call fcn.10036ef0
movzx eax, al
mov edx, dword [esp + 0xb4]
movzx ecx, al
add dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xc4]
mov eax, dword [edx + ecx*4]
call fcn.1003ba40
add dword [esp + 0x108], eax
adc dword [esp + 0x10c], ebx
jmp 0x100728d7
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], ebx
mov ecx, dword [esp + 0xc4]
inc ecx
cmp ecx, dword [esp + 0xbc]
mov dword [esp + 0xc4], ecx
jl 0x1007283b
lea ecx, [esp + 0xd0]
push ecx
call fcn.1003b470
mov ebx, dword [esp + 0x100]
add esp, 4
mov edx, 1
mov word [esp + 0xec], dx
cmp dword [esp + 0xf8], ebx
ja 0x10072759
mov esi, dword [esp + 0x10c]
mov eax, dword [esp + 0x90]
xor ecx, ecx
cmp esi, ecx
ja 0x10072759
mov edx, dword [esp + 0x108]
jb 0x10072946
cmp edx, eax
ja 0x10072759
cmp dword [esp + 0xf8], ebx
jne 0x1007295f
cmp edx, eax
jne 0x10072759
cmp esi, ecx
jne 0x10072759
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xb8]
cmp dword [edx + eax*4], 0
je 0x10072a60
cmp dword [esp + 0xac], 0
je 0x100729bb
mov esi, dword [esp + 0xcc]
call fcn.1003b400
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xb8]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0xb4]
add ecx, dword [esp + 0xac]
mov eax, dword [edx + eax*4]
jmp 0x10072a44
mov eax, dword [ecx + eax*4]
call fcn.1003ba40
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xd0]
call fcn.1003b640
mov eax, dword [esp + 0xa8]
movzx ecx, byte [eax + 0x17]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0xb8]
push edx
lea edi, [esp + 0xdc]
call fcn.100605f0
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne case.0x100710c9.10
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xc8], ecx
mov eax, dword [eax + edx*4]
mov esi, dword [esp + 0xcc]
call fcn.1003bb00
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x64]
mov byte [eax + 0x1f], cl
jmp 0x10072a7e
cmp byte [edi + 1], 0xf8
jne 0x10072a7e
mov edx, dword [edi + 0x10]
mov ebx, dword [esp + 0xcc]
push 0x800
push edx
call fcn.1003b5f0
add esp, 8
cmp dword [esp + 0xf4], 0
je 0x10072aca
mov eax, dword [esp + 0xcc]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xcc]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xcc]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xcc]
call fcn.10049480
mov dword [esp + 0x44], eax
jmp case.0x100710c9.10
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + edx*8]
mov dword [esp + 0x94], eax
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8 - 0x28]
mov ecx, eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
cmp eax, edx
ja case.0x100710c9.10
jmp 0x10072b27
mov eax, dword [esp + 0x94]
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x10072b47
mov eax, ecx
call fcn.10043440
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x64]
push edx
mov edx, ecx
sub edx, eax
mov eax, 0x66666667
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x94]
mov al, byte [eax + edx]
call fcn.10050ee0
mov ecx, dword [esp + 0xa0]
add ecx, 0x28
add esp, 4
mov dword [esp + 0x9c], ecx
cmp ecx, dword [esp + 0x98]
jbe 0x10072b20
jmp case.0x100710c9.10
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xc4], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ebx, [eax + edx*8]
movzx edx, byte [esi + 0x6f]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xbc], ebx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov dword [esp + 0xc4], eax
lea eax, [ebx + ecx*8 - 0x28]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0x94], ebx
cmp ebx, eax
ja 0x10072d03
cmp dword [esp + 0xc8], 0
je 0x10072c58
mov eax, dword [esp + 0x64]
push eax
mov ecx, ebx
sub ecx, dword [esp + 0xc0]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0xcc]
mov al, byte [ecx + edx]
mov ecx, ebx
call fcn.10050ee0
mov ebx, dword [esp + 0x98]
add esp, 4
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x10072c77
cmp dword [ebx + 0x18], 0
jle 0x10072c77
mov eax, ebx
call fcn.10043440
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, ebx
call fcn.1003b970
mov dword [esp + 0xbc], eax
call fcn.1003ba40
mov dword [esp + 0xd8], eax
cdq
add dword [esp + 0x9c], eax
push 0
adc dword [esp + 0xa4], edx
mov edx, dword [esp + 0xc0]
push edx
call fcn.10036f70
add dword [esp + 0xac], eax
mov eax, 0x4000
add esp, 0xc
test word [ebx + 0x1c], ax
je 0x10072cd7
mov ecx, dword [ebx]
add dword [esp + 0xb0], ecx
jmp 0x10072cec
cmp dword [esp + 0xd4], 0
je 0x10072cec
mov dword [esp + 0xb0], 0
add ebx, 0x28
mov dword [esp + 0x94], ebx
cmp ebx, dword [esp + 0xc0]
jbe 0x10072c14
mov ebx, dword [esp + 0xa0]
mov eax, ebx
cdq
push edx
push eax
call fcn.10036f70
add ebx, eax
mov dword [esp + 0xbc], eax
mov eax, ebx
cdq
push edx
push eax
mov dword [esp + 0xb0], ebx
call fcn.10036f70
add esp, 0x10
cmp dword [esp + 0xb4], eax
jge 0x10072d42
inc ebx
mov dword [esp + 0xa0], ebx
mov eax, ebx
cdq
mov ebx, eax
mov eax, dword [esp + 0xb0]
mov ecx, edx
cdq
sub ebx, eax
sbb ecx, edx
add ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x40]
adc ecx, dword [esp + 0x9c]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ecx
mov eax, dword [edx + 0x48]
cdq
cmp ecx, edx
jg 0x10071cc2
jl 0x10072d8b
cmp ebx, eax
ja 0x10071cc2
mov edi, dword [edi + 0xc]
mov ecx, dword [esi + 0x58]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*8]
mov eax, ebx
push 0
mov ebx, edi
mov dword [esp + 0x58], edi
call fcn.10043310
add esp, 4
test eax, eax
jne 0x100715a6
mov eax, dword [esp + 0xa0]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x90], ecx
cmp eax, 0x80
jae 0x10072dd4
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x10072dd9
call fcn.10036d40
mov ecx, dword [esp + 0xbc]
movzx esi, al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xd0], esi
mov dword [esp + 0x94], ecx
cmp ecx, eax
ja 0x10072e75
mov eax, dword [esp + 0xcc]
push eax
call fcn.1003b970
add esp, 4
mov dword [esp + 0xb8], eax
cmp eax, 0x80
jae 0x10072e31
mov edx, dword [esp + 0x90]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x10072e3f
mov ecx, dword [esp + 0x90]
add ecx, esi
call fcn.10036d40
mov ecx, dword [esp + 0x94]
mov esi, dword [esp + 0xd0]
movzx edx, al
mov eax, dword [esp + 0xc0]
add ecx, 0x28
add esi, edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x94], ecx
cmp ecx, eax
jbe 0x10072e00
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x94], ecx
cmp ecx, eax
ja 0x10072ecd
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x90]
sub eax, esi
push eax
mov eax, dword [esp + 0xd0]
lea ebx, [esi + edx]
call fcn.1003ba60
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0xd4]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xd0], esi
mov dword [esp + 0x94], ecx
cmp ecx, dword [esp + 0xc0]
jbe 0x10072e80
mov eax, dword [esp + 0xa8]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x10072efd
mov edx, 0x4410
mov dword [edi], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0x98], eax
cmp eax, ecx
je 0x10072f34
lea ecx, [esp + 0x90]
push ecx
call fcn.1005daa0
add esp, 4
mov dword [esp + 0x44], eax
jmp 0x10072f42
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov edx, 4
mov word [ebx + 0x1c], dx
mov eax, dword [esp + 0x90]
mov dword [ebx], eax
mov ecx, dword [esp + 0x94]
mov dword [ebx + 4], ecx
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov dword [esp + 0x90], eax
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x94], ebx
test eax, eax
jne 0x10073058
mov edx, dword [esp + 0x40]
cmp dword [edx + 0x90], eax
jle 0x10072fae
mov esi, dword [esp + 0x4c]
push str.cannot_open_savepoint___SQL_statements_in_progress
add esi, 0x68
mov eax, edx
call fcn.1004eea0
add esp, 4
mov dword [esp + 0x44], 5
jmp case.0x100710c9.10
mov ecx, ebx
call fcn.100362e0
lea ecx, [eax + 0x19]
mov esi, edx
mov dword [esp + 0x98], eax
call fcn.100414d0
mov dword [esp + 0x9c], eax
test eax, eax
je case.0x100710c9.10
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.100ae5b0
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x10073010
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1d4], 1
jmp 0x10073016
inc dword [esi + 0x1cc]
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x9c]
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x1c8], edx
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1dc]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0xc], edx
jmp case.0x100710c9.10
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xa8], 0
mov edi, dword [ecx + 0x1c8]
mov dword [esp + 0xa0], edi
test edi, edi
je 0x100730a2
jmp 0x10073080
mov ecx, dword [edi]
mov edx, ebx
call fcn.10036400
test eax, eax
je 0x100730c5
inc dword [esp + 0xa8]
mov edi, dword [edi + 0x10]
mov dword [esp + 0xa0], edi
test edi, edi
jne 0x10073080
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
push ebx
push str.no_such_savepoint:__s
add esi, 0x68
call fcn.1004eea0
mov dword [esp + 0x4c], 1
jmp 0x1007623d
mov ebx, dword [esp + 0x40]
cmp dword [ebx + 0x90], 0
jg 0x100732b9
mov eax, dword [esp + 0x90]
cmp eax, 2
jne 0x100730ef
cmp dword [ebx + 0x8c], 1
jg 0x100732c3
cmp dword [edi + 0x10], 0
jne 0x100731ee
cmp byte [ebx + 0x1d4], 0
je 0x100731ee
mov dword [esp + 0x68], 1
cmp eax, 1
jne 0x100731f6
push eax
mov ecx, esi
call fcn.10050c70
mov edi, eax
add esp, 4
test edi, edi
jne 0x10071d0b
push esi
mov byte [ebx + 0x1c], 1
call fcn.10060810
add esp, 4
cmp eax, 5
je 0x100762e2
mov byte [ebx + 0x1d4], 0
mov edx, dword [esi + 0x64]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x44], edx
mov esi, ebx
cmp dword [esi + 0x1c8], edi
je 0x100731ac
jmp 0x10073170
mov eax, dword [esi + 0x1c8]
mov dword [esp + 0xa4], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1c8], eax
mov ecx, dword [esp + 0xa4]
push ecx
push esi
call fcn.10036110
dec dword [esi + 0x1cc]
mov edi, dword [esp + 0xa8]
add esp, 8
cmp dword [esi + 0x1c8], edi
jne 0x10073170
cmp dword [esp + 0x90], 1
jne 0x100732a2
mov edx, dword [edi + 0x10]
mov dword [esi + 0x1c8], edx
mov eax, dword [esp + 0xa0]
push eax
push esi
call fcn.10036110
add esp, 8
cmp dword [esp + 0x68], 0
jne case.0x100710c9.10
mov eax, dword [esp + 0x40]
dec dword [eax + 0x1cc]
jmp case.0x100710c9.10
mov dword [esp + 0x68], 0
mov ecx, dword [ebx + 0x1cc]
sub ecx, dword [esp + 0xa8]
xor eax, eax
dec ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
cmp dword [ebx + 4], eax
jle 0x1007326b
mov edx, ebx
jmp 0x10073227
mov ecx, dword [esp + 0xa8]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [esp + 0x94]
shl eax, 4
mov eax, dword [eax + edx + 4]
push ecx
call fcn.100507f0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov eax, dword [esp + 0xac]
inc eax
mov edx, ebx
mov dword [esp + 0xac], eax
cmp eax, dword [edx + 4]
jl 0x10073220
mov edi, dword [esp + 0xa0]
cmp dword [esp + 0x90], 2
jne 0x10073157
mov esi, ebx
test byte [esi + 0xc], 0x10
je 0x10073159
mov eax, esi
call fcn.1003bdd0
push 0
call fcn.10051fe0
mov edi, dword [esp + 0xa4]
add esp, 4
jmp 0x10073159
mov ecx, dword [edi + 8]
mov dword [esi + 0x1d8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1dc], edx
jmp case.0x100710c9.10
cmp dword [esp + 0x90], 2
jne 0x100732ca
mov eax, str.rollback
jmp 0x100732cf
mov eax, str.release
mov esi, dword [esp + 0x4c]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add esi, 0x68
mov eax, ebx
call fcn.1004eea0
mov dword [esp + 0x4c], 5
jmp 0x1007623d
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x90], eax
mov edi, dword [edi + 8]
mov dword [esp + 0x94], edi
test eax, eax
je 0x10073331
cmp byte [ecx + 0x1c], 0
jne 0x10073331
mov edx, 1
mov dword [esp + 0x98], edx
test edi, edi
je 0x10073353
cmp dword [ecx + 0x8c], edx
jle 0x1007333c
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x10073361
mov dword [esp + 0x98], 0
movzx ecx, byte [ecx + 0x1c]
cmp eax, ecx
jne 0x100762fa
test eax, eax
jne 0x1007337f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1007338d
cmp dword [ecx + 0x90], 0
jle 0x1007333c
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, dword [esp + 0x50]
add esi, 0x68
mov eax, ecx
call fcn.1004eea0
add esp, 4
mov dword [esp + 0x44], 5
jmp case.0x100710c9.10
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x1007338d
mov eax, str.cannot_commit___no_transaction_is_active
mov esi, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x44]
add esi, 0x68
call fcn.1004eea0
add esp, 4
mov dword [esp + 0x44], 1
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x90], eax
test eax, eax
je case.0x100710c9.10
mov edx, dword [edi + 8]
push edx
call fcn.10056c40
add esp, 4
mov dword [esp + 0x44], eax
cmp eax, 5
je 0x10076383
test eax, eax
jne 0x100763a9
cmp dword [edi + 8], eax
je case.0x100710c9.10
cmp byte [esi + 0x71], al
je case.0x100710c9.10
mov edi, dword [esp + 0x40]
cmp byte [edi + 0x1c], al
je 0x10073417
cmp dword [edi + 0x8c], 1
jle case.0x100710c9.10
cmp dword [esi + 0xd8], 0
jne 0x1007343a
inc dword [edi + 0x1d0]
mov eax, dword [edi + 0x1d0]
mov ecx, dword [edi + 0x1cc]
add ecx, eax
mov dword [esi + 0xd8], ecx
mov edx, dword [esi + 0xd8]
mov eax, dword [esp + 0x90]
push edx
call fcn.100490e0
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x1d8]
mov dword [esi + 0xd0], eax
mov ecx, dword [edi + 0x1dc]
add esp, 4
mov dword [esi + 0xd4], ecx
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x94], eax
mov edi, dword [edi + 0xc]
lea edx, [esp + 0x90]
mov dword [esp + 0x98], edi
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
push edi
call fcn.1003b240
mov eax, dword [esp + 0x98]
cdq
mov dword [ebx], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
add esp, 8
or ax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x1c], ax
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
shl edx, 4
add edx, dword [eax + 8]
mov eax, ebx
mov dword [esp + 0x90], edx
call fcn.10050a30
mov ecx, dword [ebx]
mov edx, dword [esp + 0x90]
mov ebx, dword [edi + 8]
mov eax, dword [edx + 4]
push ecx
call fcn.10049170
mov dword [esp + 0x48], eax
mov eax, dword [edi + 8]
add esp, 4
cmp eax, 1
jne 0x10073529
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x5c]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
or dword [eax + 0xc], 0x10
jmp 0x10073541
cmp eax, 2
jne 0x10073541
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x5c]
mov cl, byte [eax]
mov byte [edx + 0x48], cl
cmp dword [edi + 4], 1
jne case.0x100710c9.10
mov eax, dword [esp + 0x40]
call fcn.1003bdd0
mov byte [esi + 0x6e], 0
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x94], eax
test eax, eax
je 0x1007358d
lea edx, [esp + 0x90]
push edx
push 1
call fcn.1003b240
add esp, 8
jmp 0x10073598
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x90]
cmp eax, dword [edi + 8]
je case.0x100710c9.10
mov ecx, dword [esi + 0x68]
mov ebx, dword [esp + 0x40]
push ecx
push ebx
call fcn.10036110
push ebx
mov ebx, str.database_schema_has_changed
call fcn.10041640
mov dword [esi + 0x68], eax
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 8]
mov edx, edi
shl edx, 4
mov edx, dword [edx + ecx + 0xc]
mov eax, dword [edx]
add esp, 0xc
cmp eax, dword [esp + 0x90]
je 0x100735f2
mov ebx, dword [esp + 0x40]
push edi
call fcn.10051fe0
add esp, 4
mov eax, dword [esp + 0x40]
call fcn.1003bdd0
mov dword [esp + 0x44], 0x11
jmp case.0x100710c9.10
cmp byte [esi + 0x6e], 0
je 0x1007361b
mov dword [esp + 0x44], 4
jmp case.0x100710c9.10
mov ebx, dword [esp + 0x40]
xor ecx, ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x98], edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x9c], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0xac], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0xa4], ebx
cmp byte [edi], 0x27
jne 0x1007367a
mov dword [esp + 0xa0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [esi + 0x6f]
jae 0x10073685
mov byte [esi + 0x6f], al
jmp 0x10073685
mov dword [esp + 0xa0], 0
cmp byte [edi + 3], 0
je 0x100736b8
lea ecx, [edx + edx*4]
mov edx, dword [esi + 0x58]
lea ebx, [edx + ecx*8]
mov eax, ebx
mov dword [esp + 0x60], ebx
call fcn.10050a30
mov ebx, dword [ebx]
cmp ebx, 2
mov dword [esp + 0x98], ebx
jl 0x10076397
mov ecx, dword [esp + 0x90]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x100736e5
mov eax, dword [edi + 0x10]
mov ecx, dword [esi]
mov dword [esp + 0x94], eax
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x94]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x100736ec
cmp al, 0xf2
jne 0x100736f3
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x9c]
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x4c]
push 1
push edx
push ecx
push eax
call fcn.10060d50
add esp, 0x10
mov dword [esp + 0xa8], eax
test eax, eax
je 0x100715a6
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x9c]
push eax
push ecx
push edx
call fcn.1003ae80
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa4]
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [ecx + 0x28], edx
cmp eax, 0x10
jne 0x10073781
mov eax, dword [esp + 0xa8]
mov dword [eax], 0
mov dword [esp + 0x44], 0
cmp byte [edi + 1], 0xfa
mov edx, dword [esp + 0xa8]
setne cl
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0xa8]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x100710c9.10
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x4c]
push 1
push 0xffffffffffffffff
push edx
push eax
call fcn.10060d50
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x100715a6
mov edx, dword [esp + 0x40]
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0x90]
add ecx, 0x20
push ecx
push 0x1f4
push 1
mov eax, 0x41e
xor ecx, ecx
call fcn.1005b6f0
add esp, 0xc
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100738e6
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0x20]
push 1
call fcn.10056c40
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100738e6
cmp dword [edi + 0x10], eax
je 0x100738bc
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x78]
push 2
push eax
mov eax, dword [ecx + 0x20]
call fcn.10058ea0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1007389b
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
mov ecx, dword [edi + 0x10]
mov esi, dword [eax + 0x20]
push edx
mov edx, dword [esp + 0x7c]
push ecx
push 1
push edx
call fcn.1003ae80
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x28]
mov dl, byte [edx + 0x49]
add esp, 0x10
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x90]
mov byte [eax + 0x16], 0
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x100710c9.10
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov esi, dword [eax + 0x20]
push ecx
push 0
push 1
push 1
call fcn.1003ae80
mov edx, dword [esp + 0xa0]
add esp, 0x10
mov dword [esp + 0x44], eax
mov byte [edx + 0x16], 1
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x100710c9.10
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x4c]
push 0
push 0xffffffffffffffff
push edx
push eax
call fcn.10060d50
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x100715a6
mov byte [eax + 0x14], 1
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x90]
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x90]
mov byte [eax + 0x16], 1
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x17], 0
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov edi, esi
call fcn.100606e0
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x34]
mov dword [ecx + edx*4], 0
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x98], eax
cmp dword [eax], 0
je 0x10071165
movzx ecx, byte [edi]
mov dword [esp + 0x94], ecx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x98]
cmp byte [ecx + 0x16], 0
je 0x10073baa
mov edi, dword [esp + 0x5c]
call fcn.10050e00
mov esi, edi
call fcn.10050930
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0xc0], eax
mov byte [edx + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x10073b2d
test al, 8
jne 0x100739fb
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x48], eax
jmp case.0x100710c9.10
xor ebx, ebx
cmp dword [esp + 0xc0], ebx
jne 0x10073ad4
mov eax, 0x80000000
cmp dword [esp + 0xc4], eax
jne 0x10073ad4
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebx
fild qword [esp + 0x88]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x10073a4b
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x10073ad4
fldz
mov dword [esp + 0x90], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
mov eax, dword [esp + 0x94]
jne 0x10073a8a
cmp eax, 0x2e
je 0x10073a73
cmp eax, 0x2d
jne 0x10073ac3
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
lea ebx, [esp + 0x90]
call fcn.1005c370
jmp 0x10073aa9
cmp eax, 0x2b
je 0x10073a94
cmp eax, 0x2c
jne 0x10073ac3
mov edx, dword [esp + 0x98]
mov eax, dword [edx]
lea ebx, [esp + 0x90]
call fcn.1005c3a0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
cmp dword [esp + 0x90], 0
je case.0x100710c9.10
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x48], eax
jmp case.0x100710c9.10
mov eax, dword [esp + 0x94]
cmp eax, 0x2b
je 0x10073b0b
cmp eax, 0x2d
je 0x10073b0b
fild qword [esp + 0xc0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x10073b2f
mov eax, 0xffffffff
add dword [esp + 0xc0], eax
adc dword [esp + 0xc4], eax
jmp 0x10073b2f
fild qword [esp + 0xc0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x10073b2f
add dword [esp + 0xc0], 1
adc dword [esp + 0xc4], ebx
jmp 0x10073b2f
xor ebx, ebx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x9c]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.1005c3f0
add esp, 0x18
mov dword [esp + 0x44], eax
cmp eax, ebx
jne 0x100763a9
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x90], ebx
jne 0x10073c3c
mov eax, dword [esp + 0x98]
mov byte [eax + 0x11], 1
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x98]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0xc], eax
jmp 0x10073c3c
mov edx, dword [edi + 0x10]
mov dword [esp + 0xb8], edx
mov eax, dword [ecx + 0x28]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x94]
mov word [esp + 0xa4], dx
cmp eax, 0x2e
je 0x10073be3
cmp eax, 0x2c
je 0x10073be3
xor eax, eax
mov word [esp + 0xa6], ax
jmp 0x10073bf0
mov edx, 8
mov word [esp + 0xa6], dx
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x90]
push edx
push 0
push 0
mov dword [esp + 0xbc], eax
mov ecx, dword [ecx]
push 0
lea eax, [esp + 0xb0]
push eax
push ecx
call fcn.1005c3f0
add esp, 0x18
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov edx, dword [esp + 0x98]
mov byte [edx + 0x11], al
xor ebx, ebx
mov eax, dword [esp + 0x98]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x44], ebx
mov eax, dword [esp + 0x94]
cmp eax, 0x2d
je 0x10073cc5
cmp eax, 0x2e
je 0x10073cc5
mov ecx, dword [esp + 0x90]
cmp ecx, ebx
jg 0x10073c92
jne 0x10073c74
cmp eax, 0x2b
je 0x10073c92
mov edx, dword [esp + 0x98]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x90], ecx
jmp 0x10073d14
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
lea edx, [esp + 0x90]
push edx
push ecx
call fcn.1005ff50
add esp, 8
mov dword [esp + 0x44], eax
cmp eax, ebx
jne 0x100763a9
mov edx, dword [esp + 0x98]
mov byte [edx + 0x11], 0
jmp 0x10073d14
mov ecx, dword [esp + 0x90]
cmp ecx, ebx
jl 0x10073ce3
jne 0x10073cd7
cmp eax, 0x2e
je 0x10073ce3
mov dword [esp + 0x90], ebx
jmp case.0x100710c9.10
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx]
lea eax, [esp + 0x90]
push eax
push edx
call fcn.1005fdc0
add esp, 8
mov dword [esp + 0x44], eax
cmp eax, ebx
jne 0x100763a9
mov eax, dword [esp + 0x98]
mov byte [eax + 0x11], 0
cmp dword [esp + 0x90], ebx
je case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x90], eax
cmp dword [eax], 0
je case.0x100710c9.10
mov esi, dword [esp + 0x60]
mov byte [eax + 0x14], 0
call fcn.10050930
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x90]
mov dword [eax + 0x1c], edx
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x90]
mov byte [edx + 0x15], 1
jmp case.0x100710c9.10
mov edx, dword [esi + 0x34]
xor ecx, ecx
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x94], eax
cmp dword [eax], ecx
je 0x10073e71
mov edx, dword [esp + 0x5c]
mov ecx, 0x4000
mov esi, edx
test word [edx + 0x1c], cx
je 0x10073dc3
mov eax, esi
call fcn.10043440
mov eax, dword [esp + 0x94]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov eax, dword [eax + 0x28]
push ecx
push edx
push eax
mov edx, 0x97
lea eax, [esp + 0xac]
call fcn.10043df0
add esp, 0xc
mov dword [esp + 0x9c], eax
test eax, eax
je 0x100715a6
cmp byte [edi], 0x31
jne 0x10073e03
or word [eax + 6], 0x10
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x98]
push ecx
push 0
push 0
push 0
push eax
mov eax, dword [edx]
push eax
call fcn.1005c3f0
mov edi, dword [esp + 0xb4]
mov esi, eax
add esp, 0x18
mov dword [esp + 0x44], esi
call fcn.1003bd10
test esi, esi
jne case.0x100710c9.10
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x58]
xor ecx, ecx
cmp dword [esp + 0x98], ecx
sete cl
mov dword [esp + 0x90], ecx
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x94]
mov dword [eax + 0x44], esi
mov ecx, dword [esp + 0x90]
cmp byte [edi], 0x31
jne 0x10073e8b
test ecx, ecx
je case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
test ecx, ecx
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [edi + 0x10]
mov edx, dword [esi + 0x58]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [esi + 0x34]
mov dword [esp + 0xa0], eax
mov ecx, dword [edi + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x94], eax
xor ecx, ecx
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 0x94]
mov dword [eax + 0x44], ecx
mov esi, dword [esp + 0x94]
mov ecx, dword [esi]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x98], ecx
mov edx, dword [esi + 0x28]
mov dx, word [edx + 6]
xor eax, eax
xor ecx, ecx
mov word [esp + 0x9c], dx
mov word [esp + 0x90], ax
cmp cx, dx
jae 0x10073f30
lea esp, [esp]
movzx ecx, ax
lea ecx, [ecx + ecx*4]
test byte [ebx + ecx*8 + 0x1c], 1
jne 0x10073ffa
inc ax
mov word [esp + 0x90], ax
cmp ax, dx
jb 0x10073f10
cmp dword [esp + 0x98], 0
je case.0x100710c9.10
mov edx, dword [esi + 0x28]
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x5c]
inc eax
mov word [esp + 0xac], ax
mov ecx, 0x20
mov eax, esi
mov dword [esp + 0xa8], edx
mov word [esp + 0xae], cx
mov dword [esp + 0xb8], ebx
call fcn.10050a30
mov ecx, dword [esp + 0x94]
mov edx, dword [esi]
add ecx, 0x40
push ecx
push 0
mov dword [esp + 0xc8], edx
mov eax, dword [esi + 4]
push 0
push 0
lea edx, [esp + 0xb8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xa8]
push edx
push eax
call fcn.1005c3f0
add esp, 0x18
test byte [esp + 0xae], 0x20
mov dword [esp + 0x44], eax
jne 0x10071165
mov eax, dword [esp + 0xb0]
cmp eax, dword [esp + 0xc0]
jne 0x10073fe9
mov ecx, dword [esp + 0xb4]
cmp ecx, dword [esp + 0xc4]
je 0x10071165
mov dword [esi], eax
mov edx, dword [esp + 0xb4]
mov dword [esi + 4], edx
jmp case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x98], 0
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x90], ecx
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
test eax, eax
je 0x100740e4
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x98], 0
mov ecx, dword [esi]
lea ebx, [esp + 0x98]
push ebx
push 0
mov dword [esp + 0xa8], ecx
mov edx, dword [esi + 4]
push edx
push ecx
push 0
push eax
mov dword [esp + 0xbc], edx
call fcn.1005c3f0
mov edx, dword [esi]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xa8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0xa8]
add esp, 0x18
cmp dword [esp + 0x98], 0
sete al
mov byte [ecx + 0x11], al
mov edx, dword [esp + 0x90]
mov byte [edx + 0x14], 0
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x15], 0
mov eax, dword [esp + 0x98]
test eax, eax
je 0x100740d5
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
mov edx, dword [esp + 0x90]
mov dword [edx + 0x40], eax
jmp case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
mov dword [ecx + 0x40], 0
jmp case.0x100710c9.10
mov ecx, dword [esi + 0x34]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov dword [ebx], edx
mov eax, dword [eax + 0x34]
mov dword [ebx + 4], eax
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
mov ecx, 0xbf04
adc dword [eax + 0x34], 0
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 4
mov word [ebx + 0x1c], ax
jmp case.0x100710c9.10
mov ecx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov edx, dword [edi + 4]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x98], edx
cmp dword [edx], eax
je 0x10074462
mov dword [esp + 0xa0], eax
cmp byte [edx + 0x13], al
jne 0x10074341
mov ecx, dword [edx]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x90], eax
mov ecx, dword [ecx + 0x1c]
mov ebx, eax
or ebx, ecx
mov dword [esp + 0x94], ecx
jne 0x10074234
mov eax, dword [edx]
lea ebx, [esp + 0x9c]
call fcn.1005c3a0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
cmp dword [esp + 0x9c], eax
je 0x100741c1
mov eax, 1
xor ecx, ecx
jmp 0x10074226
mov edx, dword [esp + 0x98]
mov eax, dword [edx]
lea edi, [esp + 0x90]
call fcn.1003af50
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x90]
cmp eax, 0xffffffff
jne 0x10074218
cmp ecx, 0x7fffffff
jne 0x10074218
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
mov byte [eax + 0x13], 1
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
jmp 0x10074234
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
add eax, 1
adc ecx, 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
mov edx, dword [edi + 0xc]
test edx, edx
je 0x10074313
mov ecx, dword [esi + 0xdc]
test ecx, ecx
je 0x1007427e
mov dword [esp + 0xa8], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x10074270
jmp 0x10074260
mov ecx, eax
mov dword [esp + 0xa8], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x10074260
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
jmp 0x10074287
lea ecx, [edx + edx*4]
mov edx, dword [esi + 0x58]
lea eax, [edx + ecx*8]
mov dword [esp + 0xa4], eax
call fcn.10050a30
mov edx, dword [esp + 0xa4]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x100742b0
cmp ecx, 0x7fffffff
je 0x100763a1
mov esi, dword [esp + 0x98]
cmp byte [esi + 0x13], 0
jne 0x100763a1
mov esi, dword [esp + 0x94]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x100742eb
jl 0x100742dd
cmp dword [esp + 0x90], eax
jae 0x100742eb
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x90]
mov dword [edx], eax
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xa4]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
cmp ecx, 0x7fffffff
jg 0x1007432a
jl 0x10074322
cmp eax, 0xffffffff
jae 0x1007432a
add eax, 1
adc ecx, 0
jmp 0x1007432e
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0xa0]
mov esi, dword [eax]
call fcn.1003aed0
add esp, 8
mov ecx, dword [esp + 0x98]
cmp byte [ecx + 0x13], 0
je 0x1007443a
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0x30]
mov dword [esp + 0x90], edx
mov eax, dword [eax + 0x34]
xor ecx, ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0xa0], ecx
xor esi, esi
cmp ecx, esi
jne 0x100743a9
mov edx, dword [esp + 0x90]
mov eax, edx
and eax, 0xffffff
xor ecx, ecx
cmp eax, edx
jne 0x100743a9
cmp ecx, dword [esp + 0x94]
jne 0x100743a9
add edx, 1
adc dword [esp + 0x94], esi
mov dword [esp + 0x90], edx
jmp 0x100743d7
lea ecx, [esp + 0x90]
push ecx
push 8
call fcn.10041910
add esp, 8
cmp dword [esp + 0xa0], 5
jge 0x100743d7
and dword [esp + 0x90], 0xffffff
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x9c]
push edx
mov edx, dword [esp + 0x9c]
push esi
push eax
mov eax, dword [edx]
push ecx
push esi
push eax
call fcn.1005c3f0
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
inc ecx
add esp, 0x18
cmp ecx, 0x64
mov dword [esp + 0x44], eax
mov dword [esp + 0xa0], ecx
jge 0x1007442e
cmp eax, esi
jne 0x1007443a
cmp edx, esi
je 0x10074375
cmp eax, esi
jne 0x1007443a
cmp edx, esi
je 0x100763a1
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x54]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x98]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x98]
mov dword [eax + 0x44], 0
mov cx, word [ebx + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [ebx + 0x1c], cx
mov eax, dword [esp + 0x90]
mov dword [ebx], eax
mov ecx, dword [esp + 0x94]
mov dword [ebx + 4], ecx
jmp case.0x100710c9.10
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x58]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [esi + 0x34]
mov dword [esp + 0x90], ebx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0xa0], eax
cmp byte [edi], 0x36
mov eax, dword [edi + 0xc]
jne 0x100744db
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x94], ecx
mov eax, dword [ecx]
mov dword [esp + 0x98], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
jmp 0x100744ea
cdq
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
test byte [edi + 3], 1
je 0x100744f3
inc dword [esi + 0x74]
test byte [edi + 3], 2
je 0x10074511
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x30], eax
mov edx, dword [esp + 0x9c]
mov dword [ecx + 0x34], edx
mov ebx, dword [esp + 0x90]
xor eax, eax
test byte [ebx + 0x1c], 1
je 0x1007452d
mov dword [ebx + 0x14], eax
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x18], eax
mov ebx, dword [esp + 0x90]
test byte [edi + 3], 0x10
je 0x10074546
mov edx, dword [esp + 0xa0]
mov ecx, dword [edx + 0x40]
mov dword [esp + 0xa8], ecx
jmp 0x1007454d
mov dword [esp + 0xa8], eax
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x1007455a
mov eax, dword [ebx]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xa4], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.1003aed0
movzx eax, byte [edi + 3]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
push edx
and eax, 8
push eax
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push ecx
mov ecx, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0xb0]
push eax
mov eax, dword [esp + 0xbc]
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.10060100
mov edx, dword [esp + 0xcc]
mov byte [edx + 0x11], 0
mov ecx, dword [esp + 0xcc]
mov byte [ecx + 0x15], 0
mov edx, dword [esp + 0xcc]
add esp, 0x2c
mov dword [esp + 0x44], eax
mov dword [edx + 0x44], 0
test eax, eax
jne case.0x100710c9.10
mov eax, dword [esp + 0x40]
cmp dword [eax + 0xb8], 0
je case.0x100710c9.10
cmp dword [edi + 0x10], 0
je case.0x100710c9.10
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + 4]
mov ecx, eax
mov eax, dword [ecx + 8]
shl edx, 4
mov edx, dword [edx + eax]
mov dword [esp + 0xac], edx
mov esi, dword [edi + 0x10]
mov dword [esp + 0xb0], esi
mov al, byte [edi + 3]
mov edi, dword [esp + 0x9c]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x9c]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0xc4], eax
mov edx, dword [ecx + 0xb4]
push eax
mov eax, dword [ecx + 0xb8]
push edx
call eax
add esp, 0x18
jmp case.0x100710c9.10
mov edx, dword [esi + 0x34]
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x98], esi
cmp dword [ecx + 0xb8], eax
je 0x100746b7
cmp dword [edi + 0x10], eax
je 0x100746b7
mov edx, dword [esi + 8]
mov dword [esp + 0x90], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x94], eax
call fcn.10060ac0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov ecx, dword [esp + 0x98]
mov esi, dword [ecx]
push eax
push eax
call fcn.1003aed0
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
push eax
call fcn.10060310
mov ecx, dword [esp + 0xa4]
add esp, 0xc
mov dword [esp + 0x44], eax
mov dword [ecx + 0x44], 0
test eax, eax
jne 0x10074748
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x10074748
mov eax, dword [edi + 0x10]
test eax, eax
je 0x10074748
mov esi, dword [esp + 0x94]
push esi
mov esi, dword [esp + 0x94]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x100710c9.10
mov eax, dword [esp + 0x4c]
inc dword [eax + 0x74]
jmp case.0x100710c9.10
mov ecx, dword [esi + 0x74]
mov eax, dword [esp + 0x40]
add dword [eax + 0x40], ecx
mov dword [eax + 0x3c], ecx
mov dword [esi + 0x74], 0
jmp case.0x100710c9.10
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x58]
lea ebx, [edx + ecx*8]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x34]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x90], esi
mov eax, dword [esi]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x94], eax
call fcn.10060ac0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov ecx, dword [esp + 0x90]
cmp byte [ecx + 0x17], al
je 0x10074807
mov eax, dword [esp + 0x94]
lea edi, [esp + 0xa0]
call fcn.1003af50
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0xa4]
cdq
cmp ecx, edx
jg 0x10071cc2
mov ecx, dword [esp + 0xa0]
jl 0x100747fc
cmp ecx, eax
ja 0x10071cc2
mov eax, ecx
mov dword [esp + 0x98], eax
jmp 0x10074832
mov esi, dword [esp + 0x94]
lea edx, [esp + 0x98]
push edx
call fcn.1003af80
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x44]
add esp, 4
cmp eax, dword [ecx + 0x48]
ja 0x10071cc2
push 0
call fcn.10043310
add esp, 4
test eax, eax
jne 0x100715a6
mov esi, dword [esp + 0x54]
mov ax, word [esi + 0x1c]
mov edx, dword [esp + 0x98]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [esi + 0x18], edx
mov word [esi + 0x1c], ax
mov edx, dword [esp + 0x90]
cmp byte [edx + 0x17], 0
mov ecx, dword [esp + 0x94]
je 0x100748a0
mov eax, dword [esi + 0x14]
push 0
push eax
mov eax, dword [esp + 0xa0]
push eax
push ecx
xor eax, eax
call fcn.100575f0
mov dword [esp + 0x54], eax
add esp, 0x10
mov byte [esi + 0x1f], 1
jmp case.0x100710c9.10
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x98]
push edx
push eax
push 0
push ecx
call fcn.1005fd80
mov dword [esp + 0x54], eax
add esp, 0x10
mov byte [esi + 0x1f], 1
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x90], eax
cmp byte [eax + 0x14], 0
jne case.0x100710c9.10
cmp byte [eax + 0x15], 0
je 0x1007490a
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x9c], edx
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
jmp 0x10071df3
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x10074976
mov ecx, dword [ecx]
mov dword [esp + 0xa0], ecx
mov ecx, dword [ecx]
mov dword [esp + 0xa4], ecx
mov eax, dword [eax + 0x38]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x98]
push edx
push eax
call ecx
mov edx, dword [esi + 0x68]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.10036110
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 8]
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0xac]
add esp, 0x10
jmp 0x10071df3
mov esi, eax
call fcn.10060ac0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov eax, dword [esp + 0x90]
cmp byte [eax + 0x11], 0
je 0x100749be
mov edx, dword [eax + 8]
mov dword [esp + 0x98], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x54]
mov ecx, edx
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
jmp 0x10071df3
mov eax, dword [eax]
lea edi, [esp + 0x98]
call fcn.1003af50
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
jmp 0x10071df3
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x90], eax
mov byte [eax + 0x14], 1
mov edx, dword [esp + 0x90]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x90]
mov esi, dword [eax]
test esi, esi
je case.0x100710c9.10
call fcn.10039f00
jmp case.0x100710c9.10
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x90], ecx
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
test eax, eax
jne 0x10074a4d
mov dword [esp + 0x98], 1
jmp 0x10074a64
lea ebx, [esp + 0x98]
call fcn.1005c3a0
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x44], eax
mov al, byte [esp + 0x98]
mov byte [ecx + 0x14], al
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x15], 0
mov edx, dword [esp + 0x90]
mov byte [edx + 0x11], 0
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.0x100710c9.10
cmp dword [esp + 0x98], 0
je case.0x100710c9.10
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
inc dword [esi + 0xbc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x90], ecx
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
test eax, eax
je 0x10074b25
lea ebx, [esp + 0x98]
call fcn.1005c370
mov edx, dword [esp + 0x90]
mov dword [esp + 0x44], eax
xor eax, eax
cmp dword [esp + 0x98], eax
sete cl
mov byte [edx + 0x12], cl
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x15], al
mov edx, dword [esp + 0x90]
mov dword [edx + 0x44], eax
mov ecx, dword [esp + 0x90]
mov byte [ecx + 0x11], al
mov ecx, dword [esp + 0x90]
jmp 0x10074b30
mov dword [esp + 0x98], 1
mov dl, byte [esp + 0x98]
mov byte [ecx + 0x14], dl
cmp dword [esp + 0x98], 0
je case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0xd8]
test ecx, ecx
jne 0x10076405
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x90], eax
test eax, eax
je case.0x100710c9.10
mov ecx, dword [eax]
mov dword [esp + 0x94], ecx
test ecx, ecx
jne 0x10074b95
mov byte [eax + 0x14], 1
jmp case.0x100710c9.10
mov dword [esp + 0x98], 1
cmp byte [edi], 0x42
jne 0x10074bb5
lea edx, [esp + 0x98]
push edx
push ecx
call fcn.1005fdc0
jmp 0x10074bc3
lea eax, [esp + 0x98]
push eax
push ecx
call fcn.1005ff50
mov ecx, dword [esp + 0x98]
mov dl, byte [esp + 0xa0]
mov byte [ecx + 0x14], dl
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x98]
add esp, 8
mov dword [eax + 0x44], 0
cmp dword [esp + 0x98], 0
jne 0x10074c13
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x48], eax
mov al, byte [edi + 3]
test al, al
je 0x10074c13
movzx ecx, al
inc dword [esi + ecx*4 + 0xb4]
lea esi, [esi + ecx*4 + 0xb4]
mov edx, dword [esp + 0x90]
mov byte [edx + 0x11], 0
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x90], edx
mov ecx, dword [edx]
mov dword [esp + 0x94], ecx
test ecx, ecx
je case.0x100710c9.10
mov esi, dword [esp + 0x60]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x10074c74
mov eax, esi
call fcn.10043440
mov dword [esp + 0x44], eax
test eax, eax
jne case.0x100710c9.10
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x60]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x98], eax
mov esi, dword [esi + 0x14]
mov dword [esp + 0x9c], esi
test byte [edi + 3], 0x10
je 0x10074c97
mov edx, dword [edx + 0x40]
jmp 0x10074c99
xor edx, edx
push edx
mov edx, dword [edi + 0xc]
push edx
push 0
push 0
push 0x100fed19
cdq
push edx
push eax
push esi
push ecx
call fcn.10060100
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xb4]
add esp, 0x24
mov dword [eax + 0x44], 0
jmp case.0x100710c9.10
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x90], eax
mov ecx, dword [eax]
mov dword [esp + 0x94], ecx
test ecx, ecx
je case.0x100710c9.10
mov eax, dword [eax + 0x28]
mov dword [esp + 0xa0], eax
mov dx, word [edi + 0xc]
xor eax, eax
mov word [esp + 0xa4], dx
mov word [esp + 0xa6], ax
mov edi, dword [edi + 8]
mov eax, dword [esi + 0x58]
lea edx, [edi + edi*4]
lea edx, [eax + edx*8]
lea eax, [esp + 0x98]
push eax
push 0
push 0
mov dword [esp + 0xbc], edx
push 0
lea edx, [esp + 0xb0]
push edx
push ecx
call fcn.1005c3f0
add esp, 0x18
mov dword [esp + 0x44], eax
test eax, eax
jne 0x10074d63
cmp dword [esp + 0x98], eax
jne 0x10074d63
mov eax, dword [esp + 0x94]
push eax
call fcn.10060310
add esp, 4
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x44], 0
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x34]
mov esi, dword [eax + edx*4]
mov dword [esp + 0x94], esi
mov eax, dword [esi]
mov dword [esp + 0x90], eax
test eax, eax
je case.0x100710c9.10
call fcn.10060ac0
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov ecx, dword [esp + 0x94]
cmp byte [ecx + 0x14], al
jne case.0x100710c9.10
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x98]
push edx
call fcn.10060b60
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jne 0x100763a9
mov eax, dword [esp + 0x54]
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov edx, dword [esp + 0x9c]
mov dword [eax + 4], edx
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x90], eax
cmp dword [eax], 0
je case.0x100710c9.10
mov edx, dword [eax + 0x28]
mov dword [esp + 0x98], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x9c], cx
cmp byte [edi + 3], 0
je 0x10074e4f
mov edx, 0xc
mov word [esp + 0x9e], dx
jmp 0x10074e5c
mov ecx, 4
mov word [esp + 0x9e], cx
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x58]
lea edx, [ecx + edx*8]
lea ecx, [esp + 0x94]
mov dword [esp + 0xa8], edx
push ecx
lea edx, [esp + 0x9c]
push edx
call fcn.10060c90
add esp, 8
cmp byte [edi], 0x48
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x94]
jne 0x10074e9b
neg eax
jmp 0x10074e9c
inc eax
mov dword [esp + 0x94], eax
test eax, eax
jle case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [esp + 0x40]
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 0x88]
mov dword [esp + 0x98], eax
test eax, eax
je 0x10074f17
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x10074ef3
cmp byte [eax + 0x70], 2
jae 0x10074ef3
cmp dword [eax + 0x60], 0
jl 0x10074ef3
inc ecx
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x98], eax
test eax, eax
jne 0x10074ed6
cmp ecx, 1
jle 0x10074f17
mov dword [esp + 0x44], 6
mov byte [esi + 0x38], 2
jmp case.0x100710c9.10
mov eax, dword [edi + 0xc]
mov dword [esp + 0x9c], eax
mov edx, dword [edi + 4]
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.1005da50
mov ecx, eax
mov ax, word [ebx + 0x1c]
mov edx, 0xbf04
and ax, dx
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x98]
cdq
add esp, 8
mov dword [esp + 0x44], ecx
mov dword [ebx], eax
mov dword [ebx + 4], edx
test ecx, ecx
jne case.0x100710c9.10
mov edx, dword [esp + 0x90]
test edx, edx
je case.0x100710c9.10
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x40]
mov edi, dword [edi + 4]
shl esi, 4
add esi, dword [eax + 8]
call fcn.1003d450
jmp case.0x100710c9.10
mov dword [esp + 0x90], 0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x90]
and ecx, edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx + 8]
push ecx
mov ecx, dword [edi + 8]
shl ecx, 4
mov ecx, dword [ecx + edx + 4]
call fcn.1005d7b0
add esp, 4
cmp dword [edi + 0xc], 0
mov dword [esp + 0x44], eax
je case.0x100710c9.10
mov eax, dword [esp + 0x90]
add dword [esi + 0x74], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.0x100710c9.10
mov edx, dword [esi + 0x58]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x100710c9.10
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x90], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [esp + 0x98], eax
cmp byte [edi], 0x61
lea edx, [esp + 0x90]
setne cl
dec ecx
and ecx, 3
add ecx, 2
push ecx
mov dword [esp + 0x98], ecx
mov eax, dword [eax + 4]
push edx
call fcn.10058ea0
mov dword [esp + 0x4c], eax
jmp 0x100734a1
mov edx, dword [edi + 4]
mov ebx, dword [esp + 0x40]
push ebx
mov dword [esp + 0x94], edx
call fcn.10039bf0
mov eax, dword [esp + 0x94]
add esp, 4
cmp dword [edi + 8], 0
jne 0x10075097
mov edx, dword [ebx + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je 0x10075154
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x100750a6
mov ecx, str.sqlite_master
mov dword [esp + 0x94], ecx
mov dword [esp + 0x9c], ebx
mov edx, dword [edi + 4]
mov dword [esp + 0xa0], edx
add esi, 0x68
mov dword [esp + 0xa4], esi
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 8]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
mov edi, ebx
call fcn.10047f80
add esp, 0x10
mov dword [esp + 0x98], eax
test eax, eax
jne 0x100750fb
mov dword [esp + 0x44], 7
jmp 0x10075154
push 0
lea eax, [esp + 0xa0]
push eax
mov esi, ebx
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0xa0]
push fcn.100540f0
push ecx
push esi
mov dword [esp + 0xbc], 0
call fcn.10079a10
add esp, 0x14
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1007513f
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x98]
push eax
push esi
call fcn.10036110
add esp, 8
mov byte [esi + 0x7c], 0
push ebx
call fcn.10039cd0
add esp, 4
cmp dword [esp + 0x44], 7
je 0x100715a6
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
call fcn.1004aa30
mov dword [esp + 0x44], eax
jmp case.0x100710c9.10
mov ecx, dword [esp + 0x40]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.1004b110
add esp, 4
jmp case.0x100710c9.10
mov edx, dword [esp + 0x40]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.10044d10
add esp, 4
jmp case.0x100710c9.10
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
mov edi, dword [edi + 0x10]
push eax
mov eax, dword [ecx + 4]
call fcn.10045da0
add esp, 4
jmp case.0x100710c9.10
mov eax, dword [edi + 8]
mov esi, dword [esp + 0x40]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x90], eax
call fcn.100414d0
mov dword [esp + 0x94], eax
test eax, eax
je 0x100715a6
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x4c]
mov esi, dword [edx + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [esp + 0xa4], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov edx, esi
lea ebx, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x90], ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x98], ecx
jle 0x1007526b
nop
lea eax, [ecx + ecx*4]
lea esi, [ebx + eax*8]
call fcn.10050930
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x98]
inc ecx
cmp ecx, dword [esp + 0x90]
mov dword [esp + 0x98], ecx
jl 0x10075230
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x94]
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x94]
push edx
movzx edx, byte [edi + 3]
push eax
mov eax, dword [esi + 8]
shl edx, 4
push ecx
mov ecx, dword [edx + eax + 4]
call fcn.100597d0
mov ecx, dword [esp + 0xa4]
push ecx
push esi
mov dword [esp + 0xb8], eax
call fcn.10036110
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xbc]
cdq
sub dword [ecx], eax
mov eax, dword [esp + 0xbc]
push ebx
sbb dword [eax + 4], edx
call fcn.10060fd0
add esp, 0x1c
cmp dword [esp + 0x9c], 0
je 0x10075312
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100715a6
push 1
push eax
mov eax, fcn.10036090
or ecx, 0xffffffff
mov edx, ebx
call fcn.10061090
add esp, 8
movzx ecx, byte [esp + 0x64]
mov eax, ebx
call fcn.10050860
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [esp + 0x90], eax
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea ecx, [esi + ecx*8]
mov bl, 0x20
mov dword [esp + 0x94], ecx
test byte [eax + 0x1c], bl
jne 0x1007536b
mov edi, eax
call fcn.100434f0
mov eax, dword [esp + 0x90]
test byte [eax + 0x1c], bl
je 0x100715a6
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov edi, dword [eax]
push edx
push ecx
call fcn.100423f0
jmp 0x1007623d
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0xd8]
test eax, eax
jne 0x10076405
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
lea ecx, [eax + eax*4]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x90], ecx
test byte [ecx + 0x1c], 0x20
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea ebx, [esi + edx*8]
mov dword [esp + 0x54], ebx
je 0x100753eb
mov eax, dword [ecx]
lea esi, [esp + 0x98]
call fcn.10038e00
test eax, eax
je 0x100753e4
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push eax
push ecx
mov esi, ebx
call fcn.1003b590
jmp 0x1007623d
mov ecx, dword [esp + 0x90]
push ecx
call fcn.10060fd0
mov edi, dword [edi + 8]
add esp, 4
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [edi + 0x10]
mov bl, 0x20
mov dword [esp + 0x90], eax
test byte [ecx + 0x1c], bl
jne 0x10075431
mov edi, dword [esp + 0x50]
call fcn.100434f0
mov edx, edi
test byte [edx + 0x1c], bl
je 0x100715a6
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x58]
test eax, eax
je 0x10075483
jl 0x1007543c
and eax, 0xf
jmp 0x10075441
mov eax, 0xff
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
mov edx, dword [esp + 0x54]
mov bl, al
mov eax, dword [edx]
push ecx
call fcn.10038e80
add esp, 8
mov dword [esp + 0x94], eax
test eax, eax
je 0x10075474
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [esp + 0x90]
test eax, eax
jl case.0x100710c9.10
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x50]
mov edi, dword [eax]
push ecx
push edx
call fcn.100423f0
jmp 0x1007623d
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xa8], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ebx, [eax + edx*8]
mov dword [esp + 0x98], ebx
cmp byte [edi + 3], 0
je 0x100754f7
mov eax, dword [esi + 0xdc]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa4], eax
test eax, eax
je 0x100754f7
lea esp, [esp]
cmp dword [eax + 0x20], edx
je case.0x100710c9.10
mov eax, dword [eax + 0x3c]
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x100754e0
mov edx, dword [esi + 0xe0]
mov eax, dword [esp + 0x40]
cmp edx, dword [eax + 0x70]
jl 0x10075527
mov esi, dword [esp + 0x4c]
push str.too_many_levels_of_trigger_recursion
add esi, 0x68
mov dword [esp + 0x48], 1
call fcn.1004eea0
add esp, 4
jmp case.0x100710c9.10
test byte [ebx + 0x1c], 0x40
jne 0x100756aa
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [esp + 0x90], eax
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*2]
mov eax, dword [esp + 0x40]
lea edi, [edi*4 + 0x40]
mov dword [esp + 0x94], edi
call fcn.100470a0
mov dword [esp + 0xa4], eax
test eax, eax
je 0x100715a6
mov ecx, dword [esp + 0x98]
push ecx
call fcn.1003b470
mov eax, dword [esp + 0x9c]
mov edx, 0x40
mov word [eax + 0x1c], dx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x9c]
mov dword [edx], ecx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0xac]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x58]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x54]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x34]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [esp + 0xa8]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xa8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0xa8]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0xac]
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0xa8]
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x40]
lea eax, [ecx + 0x40]
add esp, 4
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], eax
cmp eax, edx
je 0x100756b3
jmp 0x10075670
mov ecx, 1
mov word [eax + 0x1c], cx
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x40]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x9c]
add eax, 0x28
mov dword [esp + 0x9c], eax
cmp eax, dword [esp + 0xa0]
jne 0x10075670
mov ecx, dword [esp + 0xa4]
jmp 0x100756b3
mov ecx, dword [ebx]
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x4c]
inc dword [eax + 0xe0]
mov edx, dword [eax + 0xdc]
mov dword [ecx + 0x3c], edx
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x30]
mov esi, dword [esp + 0xa4]
mov dword [esi + 0x30], edx
mov ecx, dword [ecx + 0x34]
mov edx, dword [esp + 0xa4]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [esp + 0xa4]
mov dword [edx + 0x38], ecx
mov ecx, dword [esp + 0xa4]
lea edx, [ecx + 0x18]
mov dword [eax + 0xdc], ecx
mov dword [eax + 0x58], edx
mov dword [eax + 0x74], 0
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x54], esi
mov cx, word [ecx + 0x28]
mov word [eax + 0x32], cx
mov ecx, esi
inc ecx
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*8]
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0x34], edx
mov edx, dword [ecx]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
mov dword [esp + 0x48], 0xffffffff
jmp case.0x100710c9.10
mov esi, dword [esi + 0xdc]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x90], esi
mov eax, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [edi + 4]
mov edx, dword [esi + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov dword [esp + 0x9c], eax
call fcn.1003b5f0
jmp 0x1007623d
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x100757a4
mov ecx, dword [esp + 0x40]
add dword [ecx + 0x1d8], eax
adc dword [ecx + 0x1dc], edx
jmp case.0x100710c9.10
add dword [esi + 0xc8], eax
adc dword [esi + 0xcc], edx
jmp case.0x100710c9.10
cmp dword [edi + 4], 0
je 0x100757de
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x1d8]
or ecx, dword [eax + 0x1dc]
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov edx, dword [esi + 0xc8]
or edx, dword [esi + 0xcc]
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov ecx, dword [esi + 0xdc]
test ecx, ecx
je 0x1007583e
mov dword [esp + 0x94], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x10075830
jmp 0x10075820
mov ecx, eax
mov dword [esp + 0x94], ecx
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x10075820
mov edi, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
jmp 0x1007584a
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x58]
lea edx, [edi + edi*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x90], eax
call fcn.10050a30
mov esi, dword [esp + 0x60]
mov eax, esi
call fcn.10050a30
mov ecx, dword [esp + 0x90]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ecx + 4]
cmp edx, esi
jg case.0x100710c9.10
jl 0x10075884
mov edx, dword [ecx]
cmp edx, eax
jae case.0x100710c9.10
mov dword [ecx], eax
mov eax, dword [esp + 0x90]
mov dword [eax + 4], esi
jmp case.0x100710c9.10
cmp dword [ecx + 4], 0
jl case.0x100710c9.10
jg 0x100758aa
cmp dword [ecx], 0
jbe case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
cmp dword [ecx + 4], 0
jg case.0x100710c9.10
jl 0x100758cc
cmp dword [ecx], 0
jae case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x58]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x94], eax
test ecx, ecx
jle 0x10075963
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xe0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x9c]
call fcn.1003c480
mov eax, dword [esp + 0x94]
add dword [esp + 0x9c], 0x28
inc eax
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
jl 0x10075926
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x40]
lea eax, [eax + ecx*8]
xor esi, esi
mov dword [esp + 0x98], eax
mov dword [esp + 0xd0], eax
inc dword [eax + 0x18]
mov eax, dword [esp + 0xa0]
mov ecx, 1
mov word [esp + 0xc4], cx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], esi
test byte [eax + 3], 8
je 0x100759e2
mov ecx, dword [edi - 4]
mov dword [esp + 0xd8], ecx
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0xa8]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xd4], esi
je 0x10075a3d
mov bl, 1
lea edi, [esp + 0xa8]
call fcn.10050b10
mov esi, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x44]
push 0x100f267c
add esi, 0x68
call fcn.1004eea0
mov ecx, dword [esp + 0xdc]
add esp, 8
mov dword [esp + 0x44], ecx
lea edx, [esp + 0xa8]
push edx
call fcn.1003b470
add esp, 4
jmp case.0x100710c9.10
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x90], ecx
mov eax, dword [edi + 0x10]
call fcn.1003b390
mov dword [esp + 0x44], eax
test eax, eax
je 0x10075a9c
mov edi, dword [esp + 0x90]
mov bl, 1
call fcn.10050b10
mov esi, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x44]
push 0x100f267c
add esi, 0x68
call fcn.1004eea0
add esp, 8
movzx ecx, byte [esp + 0x64]
mov eax, dword [esp + 0x90]
call fcn.10050860
mov ecx, dword [esp + 0x90]
call fcn.1003b5c0
test eax, eax
jne 0x10071cc2
jmp case.0x100710c9.10
mov edi, dword [esp + 0x40]
lea ecx, [esi + 0x68]
call fcn.1006e7f0
mov dword [esp + 0x44], eax
jmp case.0x100710c9.10
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x90], eax
call fcn.1005bc10
mov dword [esp + 0x44], eax
cmp eax, 0x65
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], 0
jmp case.0x100710c9.10
cmp dword [edi + 4], 0
jne 0x10075b2e
mov eax, dword [esp + 0x40]
call fcn.1003bdd0
jmp case.0x100710c9.10
mov byte [esi + 0x6e], 1
jmp case.0x100710c9.10
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x10075b4f
mov edx, dword [esp + 0x40]
test dword [edx + 0xc], 0x4000
jne case.0x100710c9.10
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x40]
push edx
mov edx, dword [ebx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.100432a0
add esp, 4
mov dword [esp + 0x44], eax
cmp al, 6
jne case.0x100710c9.10
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x4c]
push eax
push 0x100f84a8
add esi, 0x68
mov eax, ebx
call fcn.1004eea0
jmp 0x1007623d
mov edi, dword [edi + 0x10]
mov ecx, dword [esp + 0x40]
mov eax, edi
mov dword [esp + 0x90], edi
call fcn.10046060
cmp dword [esp + 0x90], 0
mov dword [esp + 0x44], eax
je case.0x100710c9.10
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x40]
push ecx
push edx
call fcn.10036110
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 8]
mov dword [esi + 0x68], edx
mov eax, dword [eax + 8]
mov dword [eax + 8], 0
jmp 0x1007623d
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
add esi, 0x68
push esi
push ecx
mov ecx, dword [esp + 0x48]
call fcn.1004e650
mov dword [esp + 0x4c], eax
jmp 0x1007623d
mov ecx, dword [esp + 0x40]
mov byte [esi + 0x70], 2
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.1003eca0
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esi + 0x70], 0
jmp case.0x100710c9.10
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [eax]
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0xa0], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x48]
push ecx
mov ebx, eax
push edx
mov dword [esp + 0x54], ebx
call fcn.10036110
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 8]
add esp, 0x10
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
test ebx, ebx
jne case.0x100710c9.10
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x4c]
push ebx
push 0xffffffffffffffff
mov dword [eax], edx
mov ecx, dword [edi + 4]
push ebx
push ecx
call fcn.10060d50
add esp, 0x10
mov dword [esp + 0x90], eax
test eax, eax
je 0x10075ce3
mov edx, dword [esp + 0x94]
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x90]
mov dword [eax + 0x3c], edx
jmp case.0x100710c9.10
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.0x100710c9.10
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + edx*8]
mov edx, dword [esi + 0x34]
mov esi, dword [esi + 0x24]
mov dword [esp + 0x9c], eax
lea ebx, [eax + 0x28]
mov dword [esp + 0xa0], ebx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0xac], ecx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0xa4], edx
mov ecx, dword [edx]
mov dword [esp + 0xa8], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x98], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x90], ecx
mov eax, dword [eax]
mov dword [esp + 0x94], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], eax
jle 0x10075dd1
jmp 0x10075d89
mov ebx, dword [esp + 0xa0]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + edx*4]
call fcn.1003c480
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x90]
inc eax
cmp eax, ecx
mov dword [esp + 0xb4], eax
jl 0x10075d82
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov byte [esi + 0x70], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0xa4]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ecx, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esi + 0x68]
push eax
push ecx
mov dword [esp + 0x60], ebx
mov byte [esi + 0x70], 0
call fcn.10036110
mov eax, dword [esp + 0xc4]
mov edx, dword [eax + 8]
add esp, 0x1c
mov dword [esi + 0x68], edx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x10075e4c
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0xb0], eax
cmp dword [esp + 0xb0], 0
je 0x10075e5e
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0xac]
mov byte [eax + 0x14], 0
jmp case.0x100710c9.10
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x34]
mov ecx, dword [edx + ecx*4]
mov eax, dword [edi + 0xc]
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x98], eax
cmp byte [ecx + 0x14], 0
mov dword [esp + 0x68], ecx
je 0x10075ea2
push eax
call fcn.10060fd0
add esp, 4
jmp case.0x100710c9.10
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov dword [esp + 0x90], eax
mov edx, dword [eax]
push 0x40
lea eax, [esp + 0xa4]
push 0
push eax
mov dword [esp + 0xa0], edx
call fcn.100ae530
mov ebx, dword [esp + 0xa4]
lea eax, [esp + 0xb4]
call fcn.1003b640
mov ecx, dword [esp + 0xd0]
and ecx, 0xbf01
or ecx, 1
mov word [esp + 0xd0], cx
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [ecx + 0x38]
lea eax, [esp + 0xb0]
push eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov edx, dword [esi + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
push edx
push eax
call fcn.10036110
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 8]
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
mov eax, dword [esp + 0xf4]
add esp, 0x20
test eax, eax
je 0x10075f4f
mov dword [esp + 0x44], eax
movzx ecx, byte [esp + 0x64]
lea eax, [esp + 0xa8]
call fcn.10050860
mov eax, dword [esp + 0x98]
lea ebx, [esp + 0xa8]
call fcn.1003b640
mov ecx, dword [esp + 0x98]
call fcn.1003b5c0
test eax, eax
jne 0x10071cc2
jmp case.0x100710c9.10
mov eax, dword [esi + 0x34]
mov dword [esp + 0x98], 0
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x9c], eax
cmp byte [eax + 0x14], 0
jne case.0x100710c9.10
mov ecx, dword [eax + 0x38]
mov ecx, dword [ecx]
mov dword [esp + 0x90], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x94], ecx
mov byte [esi + 0x70], 1
mov edx, dword [eax + 0x38]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x44]
push ecx
mov ebx, eax
push edx
mov dword [esp + 0x50], ebx
mov byte [esi + 0x70], 0
call fcn.10036110
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 8]
add esp, 0xc
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x10076027
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0x38]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x98], eax
cmp dword [esp + 0x98], 0
jne case.0x100710c9.10
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x48], edi
jmp case.0x100710c9.10
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x58]
mov dword [esp + 0x90], eax
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x94], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x68]
push eax
push ecx
call fcn.10036110
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 8]
mov dword [esi + 0x68], edx
add esp, 0x10
mov dword [eax + 8], 0
jmp case.0x100710c9.10
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov edx, dword [eax]
mov dword [esp + 0x94], edx
mov eax, dword [edi + 8]
mov dword [esp + 0x98], eax
cmp dword [edx + 0x34], 0
je case.0x100710c9.10
mov ecx, dword [esi + 0x24]
mov ebx, dword [esi + 0x58]
mov dword [esp + 0xa8], ecx
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x9c], 0
test eax, eax
jle 0x10076141
call fcn.1003c480
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa8]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x98]
inc edx
add ecx, 0x28
cmp edx, eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0x9c], edx
jl 0x100760f2
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0xac]
push ecx
mov ecx, dword [edx + 0x34]
push eax
mov eax, dword [esp + 0x9c]
push eax
call ecx
mov edx, dword [esi + 0x68]
mov ebx, eax
mov eax, dword [esp + 0x50]
push edx
push eax
mov dword [esp + 0x5c], ebx
call fcn.10036110
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 8]
add esp, 0x18
mov dword [esi + 0x68], ecx
mov dword [eax + 8], 0
test ebx, ebx
jne 0x100761ab
cmp dword [edi + 4], ebx
je 0x100761ab
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x40]
mov dword [eax + 0x30], edx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x34], ecx
inc dword [esi + 0x74]
jmp case.0x100710c9.10
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x90], edi
mov eax, dword [edx + 8]
shl edi, 4
mov ecx, dword [edi + eax + 4]
mov edx, dword [ecx + 4]
mov esi, dword [edx]
lea ebx, [esp + 0x94]
mov dword [esp + 0x98], esi
call fcn.100395b0
mov dword [esp + 0x44], eax
test eax, eax
jne case.0x100710c9.10
mov ecx, dword [esp + 0x54]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x94]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x100710c9.10
mov edi, dword [edi + 0x10]
test edi, edi
je 0x10076212
mov esi, edi
jmp 0x10076218
mov esi, dword [esi + 0xc0]
mov dword [esp + 0x90], esi
test esi, esi
je case.0x100710c9.10
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x94]
test eax, eax
je case.0x100710c9.10
mov edx, ecx
mov ecx, dword [edx + 0x98]
push esi
push ecx
call eax
add esp, 8
inc dword [esp + 0x48]
cmp dword [esp + 0x44], 0
jne 0x10071ce2
mov edi, dword [esp + 0x40]
jmp 0x10071024
mov dword [esp + 0x44], 9
jmp 0x10071ce2
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x64], edx
mov al, byte [edi + 8]
mov byte [esi + 0x38], al
mov dword [esi + 0x60], ecx
mov edi, dword [edi + 0x10]
test edi, edi
je 0x1007629c
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
push edi
push 0x100f267c
add esi, 0x68
call fcn.1004eea0
mov esi, dword [esp + 0x54]
add esp, 8
push esi
call fcn.10060810
mov edi, 5
add esp, 4
cmp eax, edi
je 0x100762f2
mov edi, dword [esi + 0x64]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x10071d0b
lea eax, [esp + 0xa0]
push eax
call fcn.1003b470
add esp, 4
jmp 0x100715a6
mov dword [esp + 0x44], 0x14
jmp 0x100763a9
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x60], ecx
mov byte [ebx + 0x1c], 0
mov edi, 5
mov dword [esi + 0x64], edi
jmp 0x10071d0b
test edi, edi
je 0x1007632a
mov esi, dword [esp + 0x40]
call fcn.1005fa40
mov byte [esi + 0x1c], 1
mov esi, dword [esp + 0x40]
call fcn.1003fe60
mov edx, dword [esp + 0x4c]
mov edi, dword [edx + 0x64]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x10071d0b
push 1
mov ecx, esi
call fcn.10050c70
mov edi, eax
add esp, 4
test edi, edi
jne 0x10071d0b
mov dl, byte [esp + 0x90]
mov eax, dword [esp + 0x40]
push esi
mov byte [eax + 0x1c], dl
call fcn.10060810
mov edi, 5
add esp, 4
cmp eax, edi
jne 0x1007630b
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dl, 1
sub dl, byte [esp + 0x90]
mov dword [eax + 0x60], ecx
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0x1c], dl
mov dword [eax + 0x64], edi
jmp 0x10071d0b
mov eax, dword [esp + 0x48]
mov edi, 5
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edi
jmp 0x10071d0b
mov dword [esp + 0x44], 0xb
jmp 0x100763a9
mov dword [esp + 0x44], 0xd
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 0x1e], 0
je 0x100763bd
mov dword [esp + 0x44], 7
jmp 0x100763cb
cmp dword [esp + 0x44], 0xc0a
je 0x10071ce2
mov eax, dword [esp + 0x44]
and eax, 0xff
cmp eax, 0x1a
ja 0x100763e4
mov eax, dword [eax*4 + 0x100f66d0]
test eax, eax
jne 0x100763e9
mov eax, str.unknown_error
mov esi, dword [esp + 0x4c]
push eax
push 0x100f267c
add esi, 0x68
mov eax, ecx
call fcn.1004eea0
add esp, 8
jmp 0x10071ce2
mov eax, 9
mov dword [esp + 0x44], eax
mov dword [esi + 0x64], eax
mov eax, dword [str.interrupted]
test eax, eax
jne 0x1007641f
mov eax, str.unknown_error
mov esi, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x44]
push 0x100f267c
add esi, 0x68
call fcn.1004eea0
add esp, 8
jmp 0x10071ce2