Function at 0x10033460
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e4
mov eax, dword [0x1010e07c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi]
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x14]
mov al, byte [edx + 0x79]
xor ecx, ecx
cmp dword [edi + 0x50], 0xbdf20da3
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x9c], esi
mov byte [ebp - 0x91], al
mov dword [ebp - 0xfc], ecx
je 0x100334c0
lea eax, [ecx + 0x15]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x80], 7
mov ebx, dword [edi + 0x2c]
mov dword [ebp - 0x84], ebx
je 0x10037747
mov eax, dword [edi + 0x22c]
mov dword [edi + 0x80], ecx
cmp eax, ecx
je 0x10033505
lea ecx, [ebp - 0x84]
push ecx
call fcn.10033220
mov ebx, dword [ebp - 0x84]
add esp, 4
mov dword [edi + 0x22c], 0
mov byte [edi + 0x234], 0
test byte [esi + 8], 4
mov dword [esi + 0xe8], 0
jne 0x100376fa
mov ecx, dword [edi + 0x7c]
mov dword [ebp - 0xa0], ecx
lea esp, [esp]
call fcn.1001afc0
test eax, eax
jne 0x10037747
cmp dword [esi + 0x98], 0
mov eax, dword [edi + 0x18]
lea edx, [ecx + ecx*4]
lea edi, [eax + edx*4]
mov dword [ebp - 0x88], edi
je 0x100335bb
mov ecx, dword [ebp - 0xfc]
cmp dword [esi + 0xa0], ecx
jne 0x100335b5
mov eax, esi
call fcn.1001abc0
test eax, eax
jne 0x100373b8
mov edx, dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
push edx
call eax
add esp, 4
test eax, eax
mov eax, esi
je 0x1003359e
call fcn.1001ab90
mov dword [ebp - 0x8c], 4
jmp case.0x100335db.47
mov dword [ebp - 0xfc], 0
call fcn.1001ab90
test eax, eax
jne 0x100373b8
inc dword [ebp - 0xfc]
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 1]
mov dword [ebp - 0xa4], edx
cmp eax, 0x8c
ja case.0x100335db.47
movzx eax, byte [eax + 0x10037978]
jmp dword [eax*4 + 0x100377e0]
mov esi, dword [ebp - 0x9c]
test byte [esi + 8], 4
jne 0x100376fa
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x220]
inc edx
mov dword [eax + ecx*4 + 0x90], edx
inc dword [eax + 0x220]
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x90]
dec dword [eax + 0x220]
mov ecx, dword [eax + 0x220]
mov eax, dword [eax + ecx*4 + 0x90]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov edx, dword [ebp - 0x88]
add ebx, 0x40
mov ecx, 4
mov word [ebx + 0x18], cx
mov eax, dword [edx + 4]
cdq
mov dword [ebx], eax
mov dword [ebp - 0x84], ebx
mov dword [ebx + 4], edx
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
add ebx, 0x40
mov eax, 0xa2
mov word [ebx + 0x18], ax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100336a8
sub eax, edx
mov dword [ebx + 0x14], eax
mov esi, ebx
mov byte [ebx + 0x1b], 1
call fcn.10025920
mov dword [ebx], eax
mov dword [ebx + 4], edx
or word [ebx + 0x18], 4
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
add ebx, 0x40
mov edx, 0xa2
mov word [ebx + 0x18], dx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x10], eax
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100336f0
sub eax, esi
mov dword [ebx + 0x14], eax
mov esi, ebx
mov byte [ebx + 0x1b], 1
call fcn.100259a0
fstp qword [ebx + 8]
movzx eax, byte [ebp - 0x91]
or word [ebx + 0x18], 8
mov ecx, ebx
call fcn.100255a0
jmp case.0x100335db.47
mov edi, dword [ebp - 0x88]
mov edx, dword [edi + 0xc]
mov eax, edx
mov byte [edi], 0x5b
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10033733
sub eax, esi
cmp byte [ebp - 0x91], 1
mov dword [edi + 4], eax
je 0x100337d4
push 0
push 1
push 0xffffffffffffffff
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0x84], ebx
call fcn.10025db0
movzx eax, byte [ebp - 0x91]
add esp, 0x14
mov ecx, ebx
call fcn.100255a0
test eax, eax
jne 0x10037747
mov esi, ebx
call fcn.100255c0
test eax, eax
jne 0x10037747
mov cx, word [ebx + 0x18]
mov edx, 0xffbf
and cx, dx
mov eax, 0x80
or cx, ax
or esi, 0xffffffff
mov word [ebx + 0x18], cx
cmp dword [edi + 0x10], esi
jne 0x100337ba
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100337ba
push eax
call fcn.100b3828
add esp, 4
mov dword [edi + 0x10], esi
mov ecx, dword [ebx + 0x10]
mov dword [edi + 0xc], ecx
mov edx, dword [ebx + 0x14]
mov dword [edi + 4], edx
jmp case.0x100335db.47
mov edi, dword [ebp - 0x88]
add ebx, 0x40
mov eax, 0xa2
mov word [ebx + 0x18], ax
mov ecx, dword [edi + 0xc]
mov al, byte [ebp - 0x91]
mov dword [ebx + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [ebx + 0x14], edx
mov dword [ebp - 0x84], ebx
mov byte [ebx + 0x1b], al
jmp case.0x100335db.47
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x14], 0
jmp case.0x100335db.47
mov esi, dword [ebp - 0x88]
mov edx, dword [esi + 0xc]
mov eax, edx
mov byte [esi], 0xb
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10033830
sub eax, edi
shr eax, 1
mov dword [esi + 4], eax
je 0x10033875
push edx
call fcn.1001ae80
mov edi, eax
add esp, 4
test edi, edi
je 0x10037747
cmp dword [esi + 0x10], 0xffffffff
jne 0x10033869
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10033869
push eax
call fcn.100b3828
add esp, 4
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], 0xffffffff
jmp 0x1003389e
cmp dword [esi + 0x10], 0xffffffff
jne 0x10033888
test edx, edx
je 0x10033888
push edx
call fcn.100b3828
add esp, 4
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x100eac18
jmp 0x1003389e
mov esi, dword [ebp - 0x88]
mov edx, dword [esi + 4]
mov eax, dword [esi + 0xc]
push 0
push 0
push edx
add ebx, 0x40
push eax
push ebx
mov dword [ebp - 0x84], ebx
call fcn.10025db0
add esp, 0x14
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x44]
add ebx, 0x40
shl edx, 6
lea esi, [edx + ecx - 0x40]
mov ecx, 8
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x1c], 0
test al, 0x12
je case.0x100335db.47
and eax, 0xfcbf
or eax, 0x80
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x84]
push edx
call fcn.10033220
add esp, 4
jmp 0x10037484
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 4]
shl ecx, 6
mov esi, ebx
add ebx, 0x40
sub esi, ecx
mov ecx, 8
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x1c], 0
test al, 0x12
je 0x1003396e
and eax, 0xfd3f
or eax, 0x100
mov word [ebx + 0x18], ax
cmp dword [edx + 8], 0
je case.0x100335db.47
mov edx, pe_nt_image_headers32
test word [ebx + 0x18], dx
je case.0x100335db.47
mov esi, ebx
call fcn.10025660
test eax, eax
jne 0x10037747
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
shl ecx, 6
mov esi, ebx
sub esi, ecx
mov edx, pe_nt_image_headers32
mov ecx, 0x10
lea edi, [ebp - 0x1e0]
mov dword [ebp - 0xa4], esi
rep movsd dword es:[edi], dword [esi]
test word [ebx + 0x18], dx
je 0x100339d8
mov esi, ebx
call fcn.10025660
test eax, eax
jne 0x10037747
mov eax, dword [ebp - 0x88]
cmp dword [eax + 4], 0
mov dword [ebp - 0xac], 0
jle 0x10033a62
mov ecx, dword [ebp - 0xa4]
add ecx, 0x40
mov dword [ebp - 0x98], ecx
lea ecx, [ecx]
mov esi, dword [ebp - 0x98]
mov edx, pe_nt_image_headers32
test word [esi + 0x18], dx
je 0x10033a1e
call fcn.10025660
test eax, eax
jne 0x10037747
mov eax, dword [ebp - 0x98]
lea edi, [eax - 0x40]
mov ecx, 0x10
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x200
test word [eax - 0x28], cx
je 0x10033a41
lea edx, [eax - 0x20]
mov dword [eax - 0x30], edx
mov ecx, dword [ebp - 0xac]
add eax, 0x40
inc ecx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xac], ecx
cmp ecx, dword [eax + 4]
jl 0x10033a00
mov ecx, 0x10
lea esi, [ebp - 0x1e0]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x200
test word [ebx + 0x18], cx
je case.0x100335db.47
lea edx, [ebx + 0x20]
mov dword [ebx + 0x10], edx
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
shl ecx, 6
push ebx
sub ebx, ecx
call fcn.10025d50
add esp, 4
sub dword [ebp - 0x84], 0x40
jmp 0x10037484
mov edx, dword [ebp - 0x88]
mov edi, dword [edx + 4]
add edi, 2
mov eax, edi
shl eax, 6
mov esi, ebx
sub esi, eax
xor eax, eax
add esi, 0x40
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x98], eax
cmp edi, eax
jle 0x10033b6b
movzx ecx, word [esi + 0x18]
test cl, 1
jne 0x10033b31
test cl, 0x12
jne 0x10033b10
movzx ebx, byte [ebp - 0x91]
call fcn.100257a0
test eax, eax
jne 0x10037741
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x98]
add eax, dword [esi + 0x14]
inc ecx
add esi, 0x40
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x98], ecx
cmp ecx, edi
jl 0x10033ae2
test eax, eax
jns 0x10033b6b
mov edx, dword [ebp - 0x88]
cmp dword [edx + 8], 0
jne 0x10033b54
lea eax, [ebp - 0x84]
push eax
mov eax, edi
call fcn.10033220
mov ebx, dword [ebp - 0x84]
add esp, 4
add ebx, 0x40
mov ecx, 1
mov dword [ebp - 0x84], ebx
mov word [ebx + 0x18], cx
jmp case.0x100335db.47
add eax, 2
test eax, eax
jle 0x10037747
push eax
call fcn.1001a040
add esp, 4
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x10037747
mov dword [ebp - 0x98], 0
test edi, edi
jle 0x10033be9
mov esi, dword [ebp - 0xa4]
add esi, 0x10
mov dword [ebp - 0xac], edi
lea ebx, [ebx]
mov eax, dword [esi + 4]
mov edx, dword [esi]
push eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0xa8]
push edx
push eax
call fcn.100b3090
mov edx, dword [ebp - 0xa4]
add dword [ebp - 0x98], edx
add esp, 0xc
add esi, 0x40
dec dword [ebp - 0xac]
jne 0x10033bb0
mov esi, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x88]
mov word [esi + eax], 0
cmp dword [ecx + 8], 0
jne 0x10033c24
lea edx, [ebp - 0x84]
push edx
mov eax, edi
call fcn.10033220
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa8]
add esp, 4
mov dl, byte [ebp - 0x91]
add ebx, 0x40
mov dword [ebx + 0x14], esi
mov ecx, 0x62
mov word [ebx + 0x18], cx
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x1b], dl
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x10], eax
jmp case.0x100335db.47
movzx ecx, word [ebx - 0x28]
movzx edx, word [ebx + 0x18]
lea edi, [ebx - 0x40]
mov eax, ecx
or eax, edx
mov dword [ebp - 0xd4], eax
test al, 1
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0xa8], edi
je 0x10033ca4
test al, 0x40
je 0x10033c81
push ebx
call fcn.100258c0
add esp, 4
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x84], edi
je 0x10033c96
push edi
call fcn.100258c0
add esp, 4
mov eax, 1
mov word [edi + 0x18], ax
jmp 0x10037484
and cl, al
test cl, 4
je 0x10033d50
mov edx, dword [ebp - 0xa4]
mov esi, dword [edi]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, dword [edi + 4]
add edx, 0xffffffb3
cmp edx, 3
ja case.default.0x10033cc7
jmp dword [edx*4 + 0x10037a08]
add esi, eax
adc edi, ecx
jmp 0x10033d11
sub esi, eax
sbb edi, ecx
jmp 0x10033d11
push ecx
push eax
push edi
push esi
call fcn.100c3bc0
jmp 0x10033d0d
mov edx, eax
or edx, ecx
je 0x10033e4b
push ecx
push eax
push edi
push esi
call fcn.100c3980
jmp 0x10033d0d
mov edx, eax
or edx, ecx
je 0x10033e4b
push ecx
push eax
push edi
push esi
call fcn.100c3a30
mov esi, eax
mov edi, edx
movzx eax, word [ebx + 0x18]
test al, 0x40
je 0x10033d22
push ebx
call fcn.100258c0
add esp, 4
mov ebx, dword [ebp - 0xa8]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0x84], ebx
je 0x10033d3d
push ebx
call fcn.100258c0
add esp, 4
mov dword [ebx], esi
mov eax, 4
mov dword [ebx + 4], edi
mov word [ebx + 0x18], ax
jmp 0x10037484
mov esi, ebx
call fcn.100259a0
fstp qword [ebp - 0xc0]
mov esi, dword [ebp - 0xa8]
call fcn.100259a0
mov ecx, dword [ebp - 0x88]
movzx eax, byte [ecx]
add eax, 0xffffffb3
cmp eax, 3
ja case.default.0x10033d79
jmp dword [eax*4 + 0x10037a18]
fadd qword [ebp - 0xc0]
jmp 0x10033def
fsub qword [ebp - 0xc0]
jmp 0x10033def
fmul qword [ebp - 0xc0]
jmp 0x10033def
fld qword [ebp - 0xc0]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10033e47
fdivp st(1)
jmp 0x10033def
fld qword [ebp - 0xc0]
call fcn.100d38b0
mov edi, eax
mov dword [ebp - 0xa4], edi
call fcn.100d38b0
fild dword [ebp - 0xa4]
fldz
mov ecx, eax
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10033e4b
mov eax, ecx
cdq
idiv edi
mov dword [ebp - 0xa4], edx
fild dword [ebp - 0xa4]
test byte [ebx + 0x18], 0x40
fstp qword [ebp - 0xc0]
je 0x10033e04
push ebx
call fcn.100258c0
add esp, 4
test byte [esi + 0x18], 0x40
mov dword [ebp - 0x84], esi
je 0x10033e19
push esi
call fcn.100258c0
add esp, 4
fld qword [ebp - 0xc0]
mov eax, 8
fstp qword [esi + 8]
mov word [esi + 0x18], ax
test byte [ebp - 0xd4], al
jne 0x10037484
mov esi, dword [ebp - 0x84]
call fcn.10025a10
jmp 0x10037484
fstp st(0)
fstp st(0)
test byte [ebx + 0x18], 0x40
je 0x10033e5a
push ebx
call fcn.100258c0
add esp, 4
mov esi, dword [ebp - 0xa8]
test byte [esi + 0x18], 0x40
mov dword [ebp - 0x84], esi
je 0x10033e75
push esi
call fcn.100258c0
add esp, 4
mov edx, 1
mov word [esi + 0x18], dx
jmp 0x10037484
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x90]
mov edi, dword [ecx + 0x30]
mov edx, esi
shl edx, 6
mov ecx, ebx
sub ecx, edx
add ecx, 0x40
xor edx, edx
test esi, esi
jle 0x10033ebd
mov dword [edi + edx*4], ecx
call fcn.100331f0
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x10033ea7
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x10], 0xfffffffb
jne 0x10033ecf
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x7c], 0
jmp 0x10033ed7
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ecx]
mov ecx, 1
mov word [ebp - 0x60], cx
xor ecx, ecx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 0x34], cl
cmp byte [edx + 3], cl
je 0x10033ef9
mov eax, dword [eax - 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x9c]
call fcn.1001abc0
test eax, eax
jne 0x100373b8
mov edx, dword [edx + 0x10]
push edi
lea ecx, [ebp - 0x80]
push esi
push ecx
call edx
mov eax, dword [ebp - 0x9c]
add esp, 0xc
call fcn.1001ab90
test eax, eax
jne 0x100373b8
call fcn.1001afc0
test eax, eax
jne 0x10037747
lea eax, [ebp - 0x84]
push eax
mov eax, esi
call fcn.10033220
mov ebx, dword [ebp - 0x7c]
add esp, 4
test ebx, ebx
je 0x10033f77
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
push edx
call fcn.10027d90
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x7c]
add esp, 4
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0xfffffff9
cmp byte [ebp - 0x34], 0
je 0x10033fab
push 0
push ecx
lea edx, [ebp - 0x78]
push edx
call fcn.10019240
add esp, 8
push eax
mov eax, dword [ebp - 0x90]
add eax, 0x230
push eax
call fcn.1001a240
add esp, 0xc
mov dword [ebp - 0x8c], 1
movzx eax, byte [ebp - 0x91]
lea ecx, [ebp - 0x78]
call fcn.100255a0
mov ebx, dword [ebp - 0x84]
add ebx, 0x40
lea edx, [ebp - 0x78]
xor ecx, ecx
push edx
mov dword [ebp - 0x84], ebx
mov word [ebx + 0x18], cx
call fcn.10025d50
add esp, 4
jmp 0x10037484
mov al, byte [ebx - 0x28]
or al, byte [ebx + 0x18]
lea esi, [ebx - 0x40]
mov dword [ebp - 0xa8], esi
test al, 1
je 0x10034024
lea ecx, [ebp - 0x84]
push ecx
mov eax, 2
call fcn.10033220
mov eax, dword [ebp - 0x84]
add esp, 4
add eax, 0x40
mov edx, 1
mov dword [ebp - 0x84], eax
mov word [eax + 0x18], dx
jmp 0x10037484
call fcn.10025920
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x104], edx
call fcn.10025920
mov ecx, eax
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax]
add eax, 0xffffffb7
cmp eax, 3
ja case.default.0x1003404b
jmp dword [eax*4 + 0x10037a28]
and edi, ecx
and dword [ebp - 0x104], edx
jmp case.default.0x1003404b
or edi, ecx
or dword [ebp - 0x104], edx
jmp case.default.0x1003404b
mov edx, dword [ebp - 0x104]
mov eax, edi
call fcn.100d3990
jmp 0x10034082
mov edx, dword [ebp - 0x104]
mov eax, edi
call fcn.100d3960
mov dword [ebp - 0x104], edx
mov edi, eax
test byte [ebx + 0x18], 0x40
je 0x10034099
push ebx
call fcn.100258c0
add esp, 4
mov esi, dword [ebp - 0xa8]
test byte [esi + 0x18], 0x40
mov dword [ebp - 0x84], esi
je 0x100340b4
push esi
call fcn.100258c0
add esp, 4
mov ecx, dword [ebp - 0x104]
mov dword [esi], edi
mov edx, 4
mov dword [esi + 4], ecx
mov word [esi + 0x18], dx
jmp 0x10037484
mov eax, ebx
call fcn.10025a40
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x100335db.47
mov esi, ebx
call fcn.10033360
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0xa4], eax
test al, 8
je 0x10034125
fld qword [ebx + 8]
call fcn.100d38e6
mov dword [ebx], eax
mov dword [ebx + 4], edx
fild qword [ebx]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10034125
mov eax, dword [ebp - 0xa4]
or eax, 4
mov word [ebx + 0x18], ax
movzx eax, word [ebx + 0x18]
test al, 0xc
jne 0x10034158
test al, 0x40
je 0x1003413a
push ebx
call fcn.100258c0
add esp, 4
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
sub ebx, 0x40
dec eax
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
test al, 4
je 0x10034189
mov edx, dword [ebp - 0x88]
cmp dword [edx + 4], 0
je 0x1003417a
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, 1
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x100341ef
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
xor eax, eax
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x100341ef
mov eax, ebx
call fcn.10025ac0
fld qword [ebx + 8]
call fcn.100d38b0
cdq
mov esi, eax
mov edi, edx
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], edi
fild qword [ebp - 0x138]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 5
jp 0x100341cb
add esi, 1
adc edi, 0
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], edi
mov eax, dword [ebp - 0x88]
cmp dword [eax + 4], 0
je 0x100341ef
fild qword [ebp - 0x138]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x100341ef
add esi, 1
adc edi, 0
test byte [ebx + 0x18], 0x40
je 0x100341fe
push ebx
call fcn.100258c0
add esp, 4
mov dword [ebx], esi
mov ecx, 4
mov dword [ebx + 4], edi
mov word [ebx + 0x18], cx
jmp case.0x100335db.47
mov esi, ebx
call fcn.10033360
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0xa4], eax
test al, 8
je 0x1003424e
fld qword [ebx + 8]
call fcn.100d38e6
mov dword [ebx], eax
mov dword [ebx + 4], edx
fild qword [ebx]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1003424e
mov eax, dword [ebp - 0xa4]
or eax, 4
mov word [ebx + 0x18], ax
movzx eax, word [ebx + 0x18]
test al, 4
jne 0x10034295
mov esi, dword [ebp - 0x88]
cmp dword [esi + 8], 0
je 0x100375e6
cmp dword [esi + 4], 0
je 0x10034286
lea edx, [ebp - 0x84]
push edx
mov eax, 1
call fcn.10033220
mov ebx, dword [ebp - 0x84]
add esp, 4
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
test al, 0x40
je 0x100342a2
push ebx
call fcn.100258c0
add esp, 4
mov eax, 4
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
test byte [ebx + 0x18], 4
je case.0x100335db.47
mov eax, ebx
call fcn.10025ac0
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
jne case.0x100335db.47
movzx eax, word [ebx + 0x18]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
movzx eax, cx
mov word [ebx + 0x18], cx
test al, 2
jne 0x10034301
test al, 0xc
je 0x10034301
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.100257a0
mov ebx, esi
mov edx, 0xfff3
and word [ebx + 0x18], dx
mov eax, 0xffe3
and word [ebx + 0x18], ax
jmp case.0x100335db.47
movzx eax, word [ebx + 0x18]
test al, 1
jne case.0x100335db.47
test al, 0x10
jne 0x10034356
movzx eax, word [ebx + 0x18]
test al, 2
jne 0x10034348
test al, 0xc
je 0x10034348
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.100257a0
mov ebx, esi
mov ecx, 0xfff3
and word [ebx + 0x18], cx
or word [ebx + 0x18], 0x10
mov edx, 0xfff1
and word [ebx + 0x18], dx
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
jne case.0x100335db.47
mov esi, ebx
call fcn.10025b40
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
jne case.0x100335db.47
mov eax, ebx
call fcn.10025a40
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
jne case.0x100335db.47
mov eax, ebx
call fcn.10025ac0
jmp case.0x100335db.47
movzx eax, word [ebx + 0x18]
mov cl, byte [ebx - 0x28]
mov edi, dword [ebp - 0x88]
or cl, al
test cl, 1
je 0x100343e9
test dword [edi + 4], 0x200
je 0x1003443a
not eax
and eax, 1
cdq
push edx
push eax
mov eax, ebx
call fcn.10025bf0
movzx eax, word [ebx - 0x28]
not eax
and eax, 1
cdq
push edx
push eax
lea eax, [ebx - 0x40]
call fcn.10025bf0
add esp, 0x10
mov al, byte [edi + 4]
mov byte [ebp - 0xad], al
test al, al
je 0x10034417
mov dl, byte [ebp - 0x91]
lea ecx, [ebx - 0x40]
call fcn.100333f0
mov dl, byte [ebp - 0x91]
mov al, byte [ebp - 0xad]
mov ecx, ebx
call fcn.100333f0
mov eax, dword [edi + 0xc]
mov ecx, ebx
lea edx, [ebx - 0x40]
call fcn.10025f10
movzx ecx, byte [edi]
add ecx, 0xffffffbe
cmp ecx, 4
ja case.default.0x10034433
jmp dword [ecx*4 + 0x10037a38]
lea edx, [ebp - 0x84]
push edx
mov eax, 2
call fcn.10033220
mov eax, dword [edi + 8]
add esp, 4
test eax, eax
je 0x1003446e
test dword [edi + 4], 0x100
je 0x10037484
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10037484
mov eax, dword [ebp - 0x84]
add eax, 0x40
mov ecx, 1
mov dword [ebp - 0x84], eax
mov word [eax + 0x18], cx
jmp 0x10037484
xor edx, edx
test eax, eax
sete dl
mov esi, edx
jmp 0x100344c7
xor ecx, ecx
test eax, eax
setne cl
jmp 0x100344c5
xor edx, edx
test eax, eax
sets dl
mov esi, edx
jmp 0x100344c7
xor ecx, ecx
test eax, eax
setle cl
jmp 0x100344c5
xor edx, edx
test eax, eax
setg dl
mov esi, edx
jmp 0x100344c7
xor ecx, ecx
test eax, eax
setns cl
mov esi, ecx
lea edx, [ebp - 0x84]
push edx
mov eax, 2
call fcn.10033220
mov eax, dword [edi + 8]
add esp, 4
test eax, eax
je 0x100344f6
test esi, esi
je 0x10037484
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10037484
mov ecx, dword [ebp - 0x84]
add ecx, 0x40
mov eax, 4
mov word [ecx + 0x18], ax
mov eax, esi
cdq
mov dword [ecx], eax
mov dword [ebp - 0x84], ecx
mov dword [ecx + 4], edx
jmp 0x10037484
test byte [ebx + 0x18], 1
je 0x10034528
mov esi, 2
jmp 0x1003453d
mov eax, ebx
call fcn.10025a40
mov ecx, dword [ebx]
or ecx, dword [ebx + 4]
jne 0x1003453b
lea esi, [ecx + 1]
jmp 0x1003453d
xor esi, esi
test byte [ebx - 0x28], 1
je 0x1003454a
mov eax, 2
jmp 0x10034561
lea eax, [ebx - 0x40]
call fcn.10025a40
mov edx, dword [ebx - 0x40]
or edx, dword [ebx - 0x3c]
jne 0x1003455f
lea eax, [edx + 1]
jmp 0x10034561
xor eax, eax
mov ecx, dword [ebp - 0x88]
cmp byte [ecx], 0x3c
jne 0x10034579
lea edx, [eax + esi*2]
movzx esi, byte [esi + edx + 0x100ee364]
jmp 0x10034584
lea eax, [eax + esi*2]
movzx esi, byte [esi + eax + 0x100eee44]
lea ecx, [ebp - 0x84]
push ecx
mov eax, 2
call fcn.10033220
mov ecx, dword [ebp - 0x84]
add ecx, 0x40
add esp, 4
mov dword [ebp - 0x84], ecx
mov ebx, ecx
cmp esi, 2
jne 0x100345bc
mov edx, 1
mov word [ecx + 0x18], dx
jmp case.0x100335db.47
xor eax, eax
test esi, esi
sete al
cdq
mov dword [ecx], eax
mov eax, 4
mov dword [ecx + 4], edx
mov word [ecx + 0x18], ax
jmp case.0x100335db.47
movzx eax, word [ebx + 0x18]
test al, 8
jne 0x10034636
test al, 4
je 0x10034627
test al, 0x40
je 0x100345f0
push ebx
call fcn.100258c0
add esp, 4
mov ecx, dword [ebp - 0x88]
cmp byte [ecx], 0x53
je 0x10034608
cmp dword [ebx + 4], 0
jg 0x10034619
jl 0x10034608
cmp dword [ebx], 0
jae 0x10034619
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
neg edx
adc eax, 0
neg eax
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov ecx, 4
mov word [ebx + 0x18], cx
jmp case.0x100335db.47
test al, 1
jne case.0x100335db.47
mov esi, ebx
call fcn.10025b40
test byte [ebx + 0x18], 0x40
je 0x10034645
push ebx
call fcn.100258c0
add esp, 4
mov edx, dword [ebp - 0x88]
cmp byte [edx], 0x53
je 0x1003465c
fldz
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x41
jne 0x10034664
fld qword [ebx + 8]
fchs
fstp qword [ebx + 8]
mov eax, 8
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
jne case.0x100335db.47
mov eax, ebx
call fcn.10025a40
mov ecx, dword [ebx]
or ecx, dword [ebx + 4]
jne 0x100346a3
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov word [ebx + 0x18], dx
jmp case.0x100335db.47
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov word [ebx + 0x18], dx
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
jne case.0x100335db.47
mov eax, ebx
call fcn.10025a40
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
not eax
not ecx
mov dword [ebx], eax
mov edx, 4
mov dword [ebx + 4], ecx
mov word [ebx + 0x18], dx
jmp case.0x100335db.47
test byte [ebx + 0x18], 1
je 0x100346f7
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 4]
jmp 0x10034726
mov esi, ebx
call fcn.100259a0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10034710
mov esi, 1
jmp 0x10034712
xor esi, esi
mov ecx, dword [ebp - 0x88]
cmp byte [ecx], 0x69
jne 0x10034726
xor edx, edx
test esi, esi
sete dl
mov esi, edx
test byte [ebx + 0x18], 0x40
je 0x10034735
push ebx
call fcn.100258c0
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
test esi, esi
je case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov edi, dword [ebp - 0x88]
mov esi, dword [edi + 4]
mov eax, esi
test eax, eax
jns 0x1003476c
neg eax
mov edx, eax
shl edx, 6
mov ecx, ebx
sub ecx, edx
xor edx, edx
test eax, eax
jle 0x10034799
add ecx, 0x58
mov edi, edi
test byte [ecx], 1
jne 0x1003478f
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x10034780
jmp 0x10034799
mov ecx, dword [edi + 8]
dec ecx
mov dword [ebp - 0xa0], ecx
test esi, esi
jle case.0x100335db.47
lea ecx, [ebp - 0x84]
push ecx
call fcn.10033220
add esp, 4
jmp 0x10037484
mov edx, dword [ebp - 0x88]
mov esi, dword [edx + 4]
mov eax, esi
test eax, eax
jns 0x100347c6
neg eax
xor edx, edx
test eax, eax
jle 0x100347f4
mov edi, eax
shl edi, 6
mov ecx, ebx
sub ecx, edi
add ecx, 0x58
test byte [ecx], 1
jne 0x100347f0
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x100347d8
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 8]
jmp 0x10034792
cmp edx, eax
jl 0x10034799
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 8]
jmp 0x10034792
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x3c]
mov edx, dword [ecx + edx*4]
mov eax, dword [eax + 8]
mov dword [edx + 0x50], eax
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
xor edx, edx
mov word [ebp - 0x50], dx
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0xac], ecx
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + eax*4]
xor eax, eax
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0xec], edi
cmp dword [edi], eax
je 0x10034922
mov esi, edi
call fcn.10027f20
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
mov edx, dword [edi]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xa8], edx
cmp byte [edi + 0x1c], al
je 0x10034895
mov dword [ebp - 0xd0], eax
jmp 0x100348ec
mov eax, dword [edi + 0x60]
mov ecx, dword [ebp - 0x90]
cmp eax, dword [ecx + 0x60]
jne 0x100348b7
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x70]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xc4], eax
jmp 0x100348ec
cmp byte [edi + 0x21], 0
mov esi, dword [ebp - 0xa8]
je 0x100348dd
lea ecx, [ebp - 0x1a0]
push ecx
call fcn.1001d810
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0xd0], edx
jmp 0x100348e9
lea eax, [ebp - 0xd0]
push eax
call fcn.1001d8e0
add esp, 4
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0x98], ecx
xor eax, eax
cmp dword [ebp - 0xd0], eax
je case.0x100335db.47
mov eax, dword [edi + 0x60]
mov esi, dword [ebp - 0x90]
cmp eax, dword [esi + 0x60]
jne 0x10034958
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0xb4], ecx
jmp 0x10034bac
cmp byte [edi + 0x1e], al
je 0x1003494d
mov edx, dword [edi + 0x34]
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xd0], edx
mov edx, dword [edi + 0x50]
mov dword [ebp - 0xc4], ecx
mov dword [edi + 0x60], eax
mov dword [ebp - 0x98], edx
mov dword [ebp - 0xa8], eax
jmp 0x100348f7
mov dword [ebp - 0xd0], eax
jmp case.0x100335db.47
mov eax, dword [edi + 0x68]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x100349a7
mov eax, dword [ebp - 0x98]
add eax, eax
add eax, eax
add eax, eax
test eax, eax
jle 0x10034986
push eax
call fcn.1001a040
add esp, 4
mov dword [ebp - 0xb4], eax
jmp 0x10034996
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x68], eax
test eax, eax
je 0x10037747
mov eax, dword [ebp - 0xb4]
cmp dword [ebp - 0xc4], 0
mov edx, dword [ebp - 0x98]
lea eax, [eax + edx*4]
mov dword [edi + 0x6c], eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x64], eax
mov ecx, dword [esi + 0x60]
mov dword [edi + 0x60], ecx
je 0x100349d9
mov esi, dword [ebp - 0xc4]
jmp 0x10034a2a
cmp byte [edi + 0x21], 0
je 0x100349f3
mov esi, dword [ebp - 0xa8]
lea edx, [ebp - 0x114]
push edx
call fcn.1001dc90
jmp 0x10034a05
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0xa8]
call fcn.1001dd00
mov ecx, dword [ebp - 0x114]
add esp, 4
mov esi, eax
cmp ecx, dword [ebp - 0xd0]
jb 0x10034a23
mov dword [ebp - 0xc4], esi
mov dword [edi + 0x70], esi
jmp 0x10034a2a
mov dword [edi + 0x70], 0
movzx eax, byte [esi]
mov dword [ebp - 0xc8], eax
cmp eax, 0x7f
ja 0x10034a44
mov dword [ebp - 0xdc], 1
jmp 0x10034a5b
lea edi, [ebp - 0xc8]
call fcn.1001adf0
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xc4], 0
jne 0x10034aa9
mov edx, dword [ebp - 0xc8]
cmp dword [ebp - 0x114], edx
jae 0x10034aa9
movzx ecx, byte [edi + 0x21]
mov edx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xc8]
lea eax, [ebp - 0x68]
push eax
push ecx
push 0
push edx
call fcn.10026140
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10037484
mov esi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xc8]
add eax, esi
add esi, dword [ebp - 0xdc]
cmp dword [ebp - 0x98], 0
mov dword [ebp - 0xd4], eax
jbe 0x10034b6d
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x98]
sub eax, ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xdc], edx
cmp esi, dword [ebp - 0xd4]
jae 0x10034b55
mov edx, dword [ebp - 0xc8]
mov dword [eax + ecx], edx
movzx eax, byte [esi]
mov dword [ecx], eax
cmp eax, 0x7f
ja 0x10034b27
mov eax, 1
add esi, eax
mov eax, dword [ecx]
call fcn.10028090
add dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
jmp 0x10034b5c
mov edi, dword [ebp - 0x8c]
call fcn.1001adf0
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xec]
add esi, eax
mov eax, dword [ecx]
call fcn.10028090
add dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
jmp 0x10034b5c
mov dword [eax + ecx], 0
add ecx, 4
dec dword [ebp - 0xdc]
mov dword [ebp - 0x8c], ecx
jne 0x10034af0
test byte [ebp - 0x50], 0x40
je 0x10034b7f
lea eax, [ebp - 0x68]
push eax
call fcn.100258c0
add esp, 4
mov ecx, 1
mov word [ebp - 0x50], cx
cmp esi, dword [ebp - 0xd4]
ja 0x10034c9c
mov edx, dword [ebp - 0xd0]
cmp dword [ebp - 0xc8], edx
ja 0x10034c9c
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xac]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10034c2e
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x10034bc7
add ecx, eax
jmp 0x10034c0d
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + edx*4]
call fcn.10028090
lea edx, [ebp - 0x68]
push edx
movzx edx, byte [edi + 0x21]
push edx
push ecx
mov ecx, dword [ebp - 0xa8]
push ecx
mov ebx, eax
call fcn.10026140
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10037484
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xac]
mov eax, dword [edx + eax*4]
mov esi, ebx
call fcn.10028130
mov cl, byte [ebp - 0x91]
mov byte [ebx + 0x1b], cl
jmp 0x10034c70
mov edx, dword [ebp - 0x88]
cmp dword [edx + 0x10], 0xfffffff8
jne 0x10034c67
mov eax, edx
mov esi, dword [eax + 0xc]
mov ecx, 8
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebx + 0x18]
mov dword [ebx + 0x1c], 0
test al, 0x12
je 0x10034c70
and eax, 0xfcbf
or eax, 0x80
mov word [ebx + 0x18], ax
jmp 0x10034c70
mov ecx, 1
mov word [ebx + 0x18], cx
test byte [ebp - 0x50], 0x40
je 0x10034c8a
mov dx, word [ebx + 0x18]
mov eax, 0xfeff
and dx, ax
or dx, 0x60
mov word [ebx + 0x18], dx
mov esi, ebx
call fcn.10025660
mov dword [ebp - 0x8c], eax
jmp case.0x100335db.47
mov dword [ebp - 0x8c], 0xb
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 4]
xor ecx, ecx
xor edi, edi
cmp esi, edi
setl cl
xor edx, edx
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0xd4], edi
test ecx, ecx
sete dl
mov dword [ebp - 0xdc], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x88], ecx
lea edx, [edx + edx - 1]
imul esi, edx
xor edx, edx
cmp byte [eax], 0x34
mov eax, dword [eax + 0xc]
sete dl
mov ecx, esi
mov dword [ebp - 0xc8], esi
shl ecx, 6
mov esi, ebx
sub esi, ecx
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa8], edx
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx + 0x239]
mov dword [ebp - 0xec], esi
add esi, 0x40
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xc4], eax
cmp esi, ebx
ja 0x10034db3
mov eax, 0xffffffe8
sub eax, esi
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xa4], 0
je 0x10034d71
mov ecx, dword [ebp - 0xbc]
mov dl, byte [ebp - 0x91]
lea eax, [esi + ecx + 0x18]
mov ecx, dword [ebp - 0xa4]
sar eax, 6
mov al, byte [eax + ecx]
mov ecx, esi
call fcn.100333f0
test byte [esi + 0x18], 1
je 0x10034d81
mov dword [ebp - 0xd4], 1
mov edx, dword [ebp - 0xc4]
push edx
mov eax, esi
call fcn.10027fa0
add esp, 4
mov ecx, eax
call fcn.10028090
add dword [ebp - 0x98], eax
push 0
push ecx
call fcn.1001ae50
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, ebx
jbe 0x10034d45
cmp dword [ebp - 0xa8], 0
je 0x10034df5
mov esi, dword [ebp - 0xec]
mov eax, esi
mov dword [ebp - 0xb4], esi
call fcn.10025a40
push 0
mov eax, esi
call fcn.10027fa0
add esp, 4
mov ecx, eax
call fcn.10028090
add dword [ebp - 0x98], eax
push 0
push ecx
call fcn.1001ae50
add esp, 8
add edi, eax
mov eax, edi
cdq
push edx
push eax
call fcn.1001ae50
mov esi, eax
add edi, esi
mov eax, edi
cdq
push edx
push eax
call fcn.1001ae50
add esp, 0x10
cmp esi, eax
jge 0x10034e15
inc edi
mov eax, dword [ebp - 0x98]
add eax, edi
mov dword [ebp - 0xbc], eax
cmp eax, 0x20
jbe 0x10034e49
test eax, eax
jle 0x10037747
push eax
call fcn.1001a040
add esp, 4
mov dword [ebp - 0x98], eax
test eax, eax
je 0x10037747
jmp 0x10034e52
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x98], ecx
mov eax, edi
mov edi, dword [ebp - 0x98]
cdq
push edx
push eax
mov ecx, edi
call fcn.1001abf0
lea esi, [edi + eax]
mov edi, dword [ebp - 0xac]
add esp, 8
cmp edi, ebx
ja 0x10034e9b
mov edx, dword [ebp - 0xc4]
push edx
mov eax, edi
call fcn.10027fa0
add esp, 4
push 0
push eax
mov ecx, esi
call fcn.1001abf0
add edi, 0x40
add esp, 8
add esi, eax
cmp edi, ebx
jbe 0x10034e74
cmp dword [ebp - 0xa8], 0
je 0x10034ec3
mov eax, dword [ebp - 0xb4]
push 0
call fcn.10027fa0
add esp, 4
push 0
push eax
mov ecx, esi
call fcn.1001abf0
add esp, 8
add esi, eax
mov edi, dword [ebp - 0xac]
cmp edi, ebx
ja 0x10034ef2
lea ecx, [ecx]
mov eax, dword [ebp - 0xc4]
mov ecx, edi
mov ebx, esi
call fcn.100280b0
add edi, 0x40
add esi, eax
cmp edi, dword [ebp - 0x84]
jbe 0x10034ed0
mov ebx, dword [ebp - 0x84]
cmp dword [ebp - 0xa8], 0
je 0x10034f10
mov ecx, dword [ebp - 0xb4]
xor eax, eax
mov ebx, esi
call fcn.100280b0
mov ebx, dword [ebp - 0x84]
cmp dword [ebp - 0xdc], 0
jne 0x10034f3a
mov eax, dword [ebp - 0xc8]
add eax, dword [ebp - 0xa8]
lea edx, [ebp - 0x84]
push edx
call fcn.10033220
mov ebx, dword [ebp - 0x84]
add esp, 4
mov ecx, dword [ebp - 0xbc]
add ebx, 0x40
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x14], ecx
cmp ecx, 0x20
ja 0x10034f70
push ecx
lea ecx, [ebp - 0x24]
lea eax, [ebx + 0x20]
push ecx
push eax
mov dword [ebx + 0x10], eax
call fcn.100b3090
mov edx, 0x210
add esp, 0xc
mov word [ebx + 0x18], dx
jmp 0x10034f89
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0x10], eax
mov ecx, 0x50
mov word [ebx + 0x18], cx
mov dword [ebx + 0x1c], 0
mov eax, dword [ebp - 0x88]
mov byte [ebx + 0x1b], 1
test eax, eax
je case.0x100335db.47
cmp dword [ebp - 0xd4], 0
je case.0x100335db.47
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
test eax, eax
js case.0x100335db.47
mov ecx, dword [ebp - 0x9c]
cmp eax, dword [ecx]
jge case.0x100335db.47
lea edx, [eax + eax*2]
mov eax, ecx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je case.0x100335db.47
mov edx, dword [ebp - 0x9c]
cmp byte [edx + 0x10], 0
jne case.0x100335db.47
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10035008
cmp byte [ecx + 0xc], 0
jne case.0x100335db.47
call fcn.1001d550
mov dword [ebp - 0x8c], eax
jmp case.0x100335db.47
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x9c]
cmp dword [esi + 0x4c], 1
mov al, byte [edi + 4]
mov cl, byte [edi + 8]
mov byte [ebp - 0xad], al
jle 0x1003507e
test al, al
je 0x1003507e
cmp byte [esi + 0x10], 0
jne 0x1003507e
mov eax, str.rollback
test cl, cl
jne 0x1003504e
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
mov eax, dword [ebp - 0x90]
add eax, 0x230
push str.cannot
push eax
call fcn.1001a240
add esp, 0x14
mov dword [ebp - 0x8c], 1
jmp case.0x100335db.47
cmp al, byte [esi + 0x10]
jne 0x100375f5
test al, al
jne 0x10035092
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100350a0
mov eax, str.cannot_rollback___no_transaction_is_active
test cl, cl
jne 0x100350a0
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, dword [ebp - 0x90]
push 0
push eax
add ecx, 0x230
push ecx
call fcn.1001a240
add esp, 0xc
mov dword [ebp - 0x8c], 1
jmp case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
test eax, eax
je case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 8]
push edx
push eax
call fcn.1001ca30
add esp, 8
mov dword [ebp - 0x8c], eax
cmp eax, 5
je 0x1003766c
test eax, eax
je case.0x100335db.47
cmp eax, 8
jne 0x10035440
jmp case.0x100335db.47
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 8]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*8 + 4]
inc edi
call fcn.10021a80
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x164]
cdq
add esp, 4
add ebx, 0x40
mov dword [ebx], eax
mov ecx, 4
mov dword [ebx + 4], edx
mov dword [ebp - 0x84], ebx
mov word [ebx + 0x18], cx
jmp case.0x100335db.47
mov edi, dword [ebp - 0x88]
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 4]
mov eax, ebx
lea esi, [ecx + edx*8]
call fcn.10025a40
mov edi, dword [edi + 8]
mov ebx, dword [ebx]
mov eax, dword [esi + 4]
inc edi
call fcn.10021b70
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 8]
test eax, eax
jne 0x100351ce
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov edx, dword [esi + 0x14]
mov dword [edx], eax
mov eax, dword [ebp - 0x9c]
or dword [eax + 8], 0x10
jmp 0x100351e1
cmp eax, 1
jne 0x100351e1
mov eax, dword [ebp - 0x84]
mov edx, dword [esi + 0x14]
mov al, byte [eax]
mov byte [edx + 0x78], al
sub dword [ebp - 0x84], 0x40
cmp dword [ecx + 4], 1
jne 0x10037484
mov eax, dword [ebp - 0x9c]
call fcn.10028960
jmp 0x10037484
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx*8 + 4]
xor ecx, ecx
cmp eax, ecx
je 0x10035281
lea edx, [ebp - 0x124]
push edx
lea edi, [ecx + 1]
call fcn.10021a80
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [eax + 8]
je case.0x100335db.47
mov edx, dword [ebp - 0x90]
push 0
add edx, 0x230
push str.database_schema_has_changed
push edx
call fcn.1001a240
add esp, 0xc
mov dword [ebp - 0x8c], 0x11
jmp case.0x100335db.47
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x124], ecx
jmp 0x10035241
mov edi, dword [ebp - 0x88]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [ebp - 0xd4], eax
mov eax, ebx
mov dword [ebp - 0xbc], ecx
call fcn.10025a40
mov esi, dword [ebx]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 4]
lea edx, [esi + esi*2]
lea eax, [ecx + edx*8]
mov edx, dword [eax + 4]
sub ebx, 0x40
cmp byte [edi], 0x16
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0xec], edx
jne 0x100352fc
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x78]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa4], 1
cmp al, byte [ecx + 0x239]
jae 0x10035306
mov byte [ecx + 0x239], al
jmp 0x10035306
mov dword [ebp - 0xa4], 0
mov edi, dword [ebp - 0xbc]
test edi, edi
jg 0x10035322
mov eax, ebx
call fcn.10025a40
mov edi, dword [ebx]
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
mov ecx, dword [ebp - 0x90]
mov ebx, dword [ebp - 0xd4]
push esi
push ecx
call fcn.100332a0
mov esi, eax
add esp, 8
test esi, esi
je 0x10037741
mov eax, dword [ebp - 0xec]
mov byte [esi + 0x1c], 1
test eax, eax
je 0x10037484
mov ebx, dword [ebp - 0x88]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xa4]
push esi
push edx
push fcn.10028350
push ecx
push edi
push eax
call fcn.1001d600
add esp, 0x18
cmp dword [ebx + 0x10], 0xfffffffa
mov edi, eax
mov dword [ebp - 0x8c], edi
jne 0x100353a5
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0x4c], ecx
inc ecx
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [esi + 0x4c]
mov dl, byte [edx + 0x79]
mov byte [eax], dl
jmp 0x100353b8
mov ecx, dword [ebp - 0x90]
lea eax, [esi + 0x22]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
test edi, edi
je 0x100353eb
cmp edi, 5
je 0x1003769e
cmp edi, 0x10
jne 0x1003543a
cmp dword [ebx + 0x10], 0xfffffffa
mov dword [ebp - 0x8c], 0
setne al
test al, al
sete cl
mov byte [esi + 0x20], al
mov byte [esi + 0x21], cl
jmp 0x10037484
mov eax, dword [esi]
call fcn.10021bc0
test al, 0xf0
jne 0x10035430
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x10035405
cmp ecx, 2
jne 0x10035430
mov dl, al
shr eax, 1
and dl, 1
and al, 1
mov byte [esi + 0x20], dl
mov byte [esi + 0x21], al
test dl, dl
je 0x1003541e
cmp dword [ebx + 0x10], 0xfffffffa
je 0x10035430
test al, al
je 0x10037484
cmp dword [ebx + 0x10], 0xfffffffa
je 0x10037484
mov dword [ebp - 0x8c], 0xb
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
add edx, 0x230
cmp dword [edx], 0
jne 0x10037796
call fcn.1001afc0
test eax, eax
je 0x1003776f
mov dword [ebp - 0x8c], 7
mov eax, dword [ebp - 0x8c]
call fcn.10017b70
jmp 0x1003778a
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [eax + 4]
push 0xffffffffffffffff
push ecx
call fcn.100332a0
add esp, 8
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x10037741
mov ebx, dword [ebp - 0x9c]
mov byte [eax + 0x1c], 1
lea esi, [eax + 0x30]
xor eax, eax
test dword [ebx + 8], 0x1000
mov dword [ebp - 0xa4], esi
lea ecx, [eax + 1]
je 0x100354c8
lea ecx, [eax + 3]
cmp byte [ebx + 0x11], 2
jne 0x100354d3
mov eax, str.:memory:
push ecx
push ebx
push eax
mov ecx, esi
call fcn.1001c090
add esp, 0xc
test eax, eax
jne 0x10035505
mov edx, dword [esi]
mov edx, dword [edx + 4]
lea ecx, [ebx + 0xe0]
mov dword [edx + 0x28], ecx
mov edx, dword [edx]
mov dword [edx + 0x64], ecx
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
mov ecx, dword [edx]
mov dword [ecx + 0x40], 0x1f4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x100359d0
mov esi, dword [esi]
mov ebx, dword [esi + 4]
xor edi, edi
cmp byte [esi + 8], 2
mov dword [ebp - 0xbc], esi
je 0x10035646
cmp byte [ebx + 0xd], 0
je 0x1003553f
mov dword [ebp - 0x8c], 8
jmp 0x100359d0
cmp byte [ebx + 0x2c], 2
jne 0x10035554
mov dword [ebp - 0x8c], 5
jmp 0x100359d0
cmp dword [ebx + 8], 0
jne 0x10035563
mov esi, ebx
call fcn.1001c670
mov edi, eax
test edi, edi
jne 0x1003558b
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x44]
push edi
call fcn.1003c150
mov edi, eax
add esp, 4
test edi, edi
jne 0x1003558b
call fcn.1001c980
mov edi, eax
test edi, edi
je 0x10035611
cmp byte [ebx + 0x2c], 0
jne 0x100355d3
cmp dword [ebx + 4], 0
jne 0x100355d3
mov eax, dword [ebx + 8]
test eax, eax
je 0x100355d3
cmp dword [eax + 0x44], 0
jne 0x100355b9
movzx ecx, word [ebx + 0x14]
mov edx, eax
sub edx, ecx
mov dword [eax + 0x44], edx
mov dword [eax + 0x40], ebx
mov dword [eax + 0x48], 1
mov eax, dword [ebx + 8]
test eax, eax
je 0x100355c8
mov edx, dword [eax + 0x44]
call fcn.1003bf60
mov dword [ebx + 8], 0
mov byte [ebx + 0xc], 0
cmp edi, 5
jne 0x10035617
cmp byte [ebx + 0x2c], 0
jne 0x10035638
mov esi, dword [ebx + 0x28]
test esi, esi
je 0x10035638
mov ecx, dword [esi]
test ecx, ecx
je 0x10035638
mov eax, dword [esi + 8]
test eax, eax
js 0x10035638
push eax
mov eax, dword [esi + 4]
push eax
call ecx
add esp, 8
test eax, eax
je 0x10035608
inc dword [esi + 8]
jmp 0x10035554
mov dword [esi + 8], 0xffffffff
jmp 0x10035638
mov byte [ebx + 0xc], 0
jmp 0x1003561b
test edi, edi
jne 0x10035638
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 8], 0
jne 0x1003562a
inc dword [ebx + 0x34]
mov byte [eax + 8], 2
cmp byte [ebx + 0x2c], 2
jae 0x10035638
mov byte [ebx + 0x2c], 2
mov dword [ebp - 0x8c], edi
test edi, edi
jne 0x100359d0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0xc], 0
je 0x10035852
mov esi, dword [ebp - 0xa4]
mov edx, dword [esi]
push 2
lea ecx, [ebp - 0x158]
push ecx
push edx
call fcn.100213f0
add esp, 0xc
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035843
mov eax, dword [edi + 0xc]
mov esi, dword [esi]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 4]
mov dword [ecx], 0
cmp byte [eax + 0xd], 0
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], eax
je 0x100356b9
mov dword [ebp - 0x8c], 8
jmp 0x10035817
mov edi, dword [ebp - 0x158]
mov eax, dword [ebp - 0xa8]
xor ebx, ebx
call fcn.10020eb0
test eax, eax
je 0x100356df
mov dword [ebp - 0x8c], 6
jmp 0x10035817
mov edx, dword [ebp - 0xa8]
cmp dword [edx + 8], ebx
jne 0x10035702
push esi
call fcn.1001c830
add esp, 4
test eax, eax
je 0x10035702
mov dword [ebp - 0x8c], eax
jmp 0x10035817
cmp dword [0x10112c64], ebx
je 0x10035712
cmp dword [0x10112c70], ebx
jg 0x10035732
push 0x58
call fcn.100b3794
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1003574d
mov eax, 1
add dword [0x10112c70], eax
mov dword [0x10112c64], eax
mov esi, dword [ebp - 0xa8]
mov edi, 7
call fcn.1001c930
mov dword [ebp - 0x8c], edi
jmp 0x10035817
push 0x58
push 0
push ebx
call fcn.100b2ed0
add esp, 0xc
mov dword [ebx + 0x14], edi
cmp edi, 1
jne 0x10035778
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call fcn.1003b3b0
test eax, eax
jne 0x10035778
lea edi, [eax + 0x10]
jmp 0x10035795
mov esi, dword [ebx + 0x14]
mov edi, dword [ebp - 0xa8]
lea ecx, [ebx + 0x18]
push 0
push ecx
call fcn.1001bfd0
mov edi, eax
add esp, 8
test edi, edi
je 0x100357c0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100357a4
mov edx, dword [eax + 0x44]
call fcn.1003bf60
push ebx
call fcn.100b3828
mov esi, dword [ebp - 0xa8]
add esp, 4
call fcn.1001c930
mov dword [ebp - 0x8c], edi
jmp 0x10035817
mov edx, fcn.10028350
mov eax, fcn.10028350
test edx, edx
jne 0x100357d3
mov eax, 0x10017700
mov ecx, dword [ebp - 0xa4]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebx + 0x10], eax
mov byte [ebx + 0x40], 1
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
test eax, eax
je 0x100357fe
mov dword [eax + 8], ebx
mov edx, dword [ebp - 0xb4]
mov dword [ecx + 4], ebx
mov byte [ebx + 0x41], 0
mov dword [edx], ebx
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x90]
mov dword [ecx + 0x4c], eax
mov edx, dword [edx]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 0x79]
mov byte [eax], dl
mov eax, dword [ecx + 0x4c]
inc eax
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0x20], 0
jmp 0x100359d0
mov edx, dword [ebp - 0xa4]
mov esi, dword [edx]
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], 0
cmp byte [eax + 0xd], 0
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x98], eax
je 0x1003588a
mov dword [ebp - 0x8c], 8
jmp 0x100359c0
xor ebx, ebx
lea edi, [ebx + 1]
call fcn.10020eb0
test eax, eax
je 0x100358a7
mov dword [ebp - 0x8c], 6
jmp 0x100359c0
mov edi, dword [ebp - 0x98]
cmp dword [edi + 8], ebx
jne 0x100358ca
push esi
call fcn.1001c830
add esp, 4
test eax, eax
je 0x100358ca
mov dword [ebp - 0x8c], eax
jmp 0x100359c0
cmp dword [0x10112c64], ebx
je 0x100358da
cmp dword [0x10112c70], ebx
jg 0x100358fa
push 0x58
call fcn.100b3794
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10035915
mov eax, 1
add dword [0x10112c70], eax
mov dword [0x10112c64], eax
mov esi, dword [ebp - 0x98]
mov edi, 7
call fcn.1001c930
mov dword [ebp - 0x8c], edi
jmp 0x100359c0
push 0x58
push 0
push ebx
call fcn.100b2ed0
mov dword [ebx + 0x14], 1
mov edi, dword [edi]
add esp, 0xc
call fcn.1003b3b0
test eax, eax
jne 0x10035939
lea edi, [eax + 0x10]
jmp 0x10035958
mov esi, dword [ebx + 0x14]
mov edi, dword [ebp - 0x98]
lea edx, [ebx + 0x18]
push 0
push edx
call fcn.1001bfd0
mov edi, eax
xor edx, edx
add esp, 8
cmp edi, edx
je 0x10035983
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10035967
mov edx, dword [eax + 0x44]
call fcn.1003bf60
push ebx
call fcn.100b3828
mov esi, dword [ebp - 0x98]
add esp, 4
call fcn.1001c930
mov dword [ebp - 0x8c], edi
jmp 0x100359c0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x98]
mov dword [ebx + 0xc], 0x10017700
mov dword [ebx + 0x10], edx
mov dword [ebx], eax
mov byte [ebx + 0x40], 1
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
cmp eax, edx
je 0x100359ac
mov dword [eax + 8], ebx
mov dword [ecx + 4], ebx
mov ecx, dword [ebp - 0xb4]
mov byte [ebx + 0x41], dl
mov dword [ecx], ebx
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 0x22]
mov byte [eax + 0x20], 1
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x20], 0
mov dword [eax + 0x50], ecx
sete dl
mov byte [eax + 0x21], dl
jmp 0x10037484
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [eax + 4]
push 0xffffffffffffffff
push ecx
call fcn.100332a0
add esp, 8
test eax, eax
je 0x10037741
mov cl, 1
lea edx, [eax + 0x22]
mov byte [eax + 0x1c], cl
mov byte [eax + 0x1e], cl
mov dword [eax + 0x48], edx
mov word [eax + 0x20], 1
jmp 0x10037484
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 4]
test esi, esi
js case.0x100335db.47
mov ecx, dword [ebp - 0x90]
cmp esi, dword [ecx + 0x38]
jge case.0x100335db.47
mov edx, ecx
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + esi*4]
call fcn.100272d0
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x3c]
mov dword [edx + esi*4], 0
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
xor edi, edi
cmp dword [esi], edi
je 0x10035bf0
mov byte [esi + 0x1c], 0
cmp edx, 7
je 0x10035a9f
cmp edx, 0x20
je 0x10035a9f
xor eax, eax
jmp 0x10035aa4
mov eax, 1
mov ecx, dword [esi + 0x48]
mov byte [ecx], al
cmp byte [esi + 0x20], 0
je 0x10035b1e
mov eax, ebx
call fcn.10025a40
mov edx, dword [ebp - 0x88]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp dword [edx + 8], edi
jne 0x10035ae3
cmp byte [edx], 0x6f
jne 0x10035ae3
sub ebx, 0x40
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x1f], 1
mov dword [ebp - 0x84], ebx
jmp case.0x100335db.47
lea edx, [ebp - 0xcc]
push edx
push ecx
push eax
mov eax, dword [esi]
push edi
call fcn.1001e080
add esp, 0x10
mov dword [ebp - 0x8c], eax
cmp eax, edi
jne 0x10035440
mov eax, dword [ebx]
cmp dword [ebp - 0xcc], edi
mov dword [esi + 8], eax
mov ecx, dword [ebx + 4]
sete dl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
jmp 0x10035b4b
mov ecx, dword [ebx + 0x10]
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebx + 0x14]
cdq
push edx
push eax
mov eax, dword [esi]
push ecx
call fcn.1001e080
add esp, 0x10
mov dword [ebp - 0x8c], eax
cmp eax, edi
jne 0x10035440
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xa4]
mov edx, dword [esi + 0x48]
inc dword [0x10112c78]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x60], edi
mov byte [edx], 0
cmp eax, 0x6f
je 0x10035bb6
cmp eax, 7
je 0x10035bb6
cmp dword [ebp - 0xcc], edi
jl 0x10035b87
mov ecx, dword [esi]
lea eax, [ebp - 0xcc]
push eax
push ecx
call fcn.1001e5b0
jmp 0x10035bcd
mov edx, dword [esi]
xor eax, eax
cmp byte [edx + 0x41], 1
setne al
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], edi
je 0x10035bf0
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
cmp eax, edi
jle 0x10035bec
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10035bf0
cmp dword [ebp - 0xcc], edi
jge 0x10035be4
mov edx, dword [esi]
lea ecx, [ebp - 0xcc]
push ecx
push edx
call fcn.1001e410
add esp, 8
mov dword [ebp - 0x8c], eax
cmp eax, edi
jne 0x10035440
mov byte [esi + 0x19], 0
jmp 0x10035b98
mov dword [ebp - 0xcc], edi
jmp 0x10035bf0
mov byte [esi + 0x1c], 1
test byte [ebx + 0x18], 0x40
je 0x10035bff
push ebx
call fcn.100258c0
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
jmp case.0x100335db.47
mov esi, dword [ebp - 0x88]
mov edx, dword [ebp - 0x90]
mov ecx, dword [esi + 4]
mov edx, dword [edx + 0x3c]
mov edi, dword [edx + ecx*4]
xor eax, eax
cmp dword [edi], eax
je 0x10035c8b
test byte [ebx + 0x18], 0x12
jne 0x10035c4a
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.100257a0
test eax, eax
jne 0x10037741
mov ebx, esi
mov ecx, dword [ebx + 0x10]
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebx + 0x14]
cdq
push edx
push eax
mov eax, dword [edi]
push ecx
call fcn.1001e080
add esp, 0x10
test eax, eax
jne 0x10035c78
cmp dword [ebp - 0x170], eax
jne 0x10035c78
mov eax, 1
jmp 0x10035c7a
xor eax, eax
mov esi, dword [ebp - 0x88]
mov byte [edi + 0x1f], 0
mov dword [edi + 0x60], 0
mov cl, byte [esi]
cmp cl, 0x65
jne 0x10035c98
test eax, eax
je 0x10035ca6
jmp 0x10035c9c
test eax, eax
jne 0x10035ca6
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xa0], eax
cmp cl, 0x66
je case.0x100335db.47
jmp 0x10035bf0
mov edx, dword [ebp - 0x88]
mov edi, dword [edx + 4]
mov eax, ebx
lea esi, [ebx - 0x40]
call fcn.10025a40
mov eax, dword [ebx]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x148], eax
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edi*4]
mov eax, dword [edi]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0xac], eax
test eax, eax
je 0x10037484
test byte [esi + 0x18], 0x12
jne 0x10035d14
movzx ebx, byte [ebp - 0x91]
call fcn.100257a0
test eax, eax
jne 0x10037741
mov ebx, dword [esi + 0x10]
mov eax, ebx
call fcn.10028750
mov esi, dword [esi + 0x14]
sub esi, eax
lea ecx, [ebp - 0xf4]
push ecx
mov eax, esi
cdq
push edx
push eax
mov eax, dword [ebp - 0xac]
push ebx
mov dword [edi + 0x60], 0
call fcn.1001e080
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x1003543a
cmp dword [ebp - 0xf4], eax
jge 0x10035d95
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xf4]
push edx
push eax
call fcn.1001e410
add esp, 8
cmp dword [ebp - 0xf4], 0
mov dword [ebp - 0x8c], eax
je 0x10035d95
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10037484
push ebx
push esi
lea edx, [ebp - 0xf4]
mov ecx, edi
call fcn.10028870
add esp, 8
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x1003543a
cmp dword [ebp - 0xf4], eax
jle 0x10035dd2
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10037484
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x178]
push eax
call fcn.10028790
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x1003543a
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
cmp ecx, dword [ebp - 0x148]
jne 0x10035e26
cmp edx, dword [ebp - 0x144]
jne 0x10035e26
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10037484
mov eax, dword [ebp - 0x84]
add eax, 0x40
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, 4
mov dword [ebp - 0x84], eax
mov word [eax + 0x18], dx
jmp 0x10037484
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x10035bf0
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
lea edi, [ebp - 0x150]
push edi
push edx
push ecx
push 0
call fcn.1001e080
mov ecx, dword [ebx]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x150]
add esp, 0x10
test eax, eax
mov dword [esi + 8], ecx
mov edx, dword [ebx + 4]
sete cl
mov dword [esi + 0xc], edx
mov byte [esi + 0x19], cl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x60], 0
test eax, eax
je 0x10035bf0
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
mov byte [esi + 0x19], 0
jmp 0x10035bf0
mov edx, dword [ebp - 0x90]
mov ecx, dword [edx + 0x3c]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax*4]
mov esi, dword [ecx + 0x58]
add ebx, 0x40
mov dword [ebx], esi
mov ecx, dword [ecx + 0x5c]
mov dword [ebx + 4], ecx
mov edx, dword [edx + 0x3c]
mov eax, dword [edx + eax*4]
add dword [eax + 0x58], 1
mov dword [ebp - 0x84], ebx
adc dword [eax + 0x5c], 0
mov eax, 4
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x90]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x84], eax
mov eax, dword [eax]
xor edi, edi
xor esi, esi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x100361c6
mov dword [ebp - 0xac], esi
call fcn.10021bc0
and al, 3
cmp al, 1
jne 0x100376dc
mov eax, dword [ebp - 0x84]
cmp byte [eax + 0x1b], 0
jne 0x100360a1
cmp byte [eax + 0x1d], 0
je 0x10035f7d
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
jmp 0x10035fed
mov eax, dword [ebp - 0xbc]
lea edi, [ebp - 0x100]
call fcn.1001e050
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
cmp dword [ebp - 0x100], esi
je 0x10035fab
lea edi, [eax + 1]
xor esi, esi
jmp 0x10035fed
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
lea edx, [ebp - 0xe8]
push edx
call fcn.1001d810
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe4]
add esp, 4
cmp edi, 0xffffffff
jne 0x10035fe7
cmp esi, 0x7fffffff
jne 0x10035fe7
mov ecx, dword [ebp - 0x84]
mov byte [ecx + 0x1b], 1
jmp 0x10035fed
add edi, 1
adc esi, 0
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
test eax, eax
je 0x1003605c
mov ecx, dword [ebp - 0x90]
shl eax, 6
add eax, dword [ecx + 0x58]
mov dword [ebp - 0xa4], eax
call fcn.10025a40
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x1003602d
cmp ecx, 0x7fffffff
je 0x100376eb
mov edx, dword [ebp - 0x84]
cmp byte [edx + 0x1b], 0
jne 0x100376eb
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x10036051
jl 0x1003604d
cmp edi, eax
jae 0x10036051
mov edi, eax
mov esi, ecx
mov eax, dword [ebp - 0xa4]
mov dword [eax], edi
mov dword [eax + 4], esi
cmp esi, 0x7fffffff
ja 0x10036087
jb 0x1003606b
cmp edi, 0xffffffff
jae 0x10036087
mov eax, dword [ebp - 0x84]
mov ecx, edi
add ecx, 1
mov edx, esi
adc edx, 0
mov byte [eax + 0x1d], 1
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x10036091
mov eax, dword [ebp - 0x84]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x84]
cmp byte [eax + 0x1b], 0
je 0x100361b1
mov eax, dword [ebp - 0x9c]
mov edi, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0x98], 0
mov ecx, edi
or ecx, esi
je 0x10036101
cmp dword [ebp - 0x98], 2
jg 0x10036101
lea edx, [ebp - 0xd5]
push edx
mov ecx, 1
call fcn.1003f670
movzx eax, byte [ebp - 0xd5]
inc eax
cdq
add esp, 4
add edi, eax
adc esi, edx
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
jmp 0x10036140
lea eax, [ebp - 0xe8]
push eax
mov ecx, 8
call fcn.1003f670
mov edi, dword [ebp - 0xe8]
add esp, 4
cmp dword [ebp - 0x98], 5
jge 0x1003613a
and edi, 0xffffff
xor esi, esi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
jmp 0x10036140
mov esi, dword [ebp - 0xe4]
mov ecx, edi
or ecx, esi
je 0x1003616d
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
push edx
push esi
push edi
push 0
call fcn.1001e080
add esp, 0x10
inc dword [ebp - 0x98]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x98], 0x3e8
jge 0x1003618f
cmp dword [ebp - 0xac], 0
jne 0x1003618f
cmp dword [ebp - 0x100], 0
je 0x100360c3
cmp dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x9c]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
jne 0x100361b1
cmp dword [ebp - 0x100], 0
je 0x100376eb
mov eax, dword [ebp - 0x84]
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x60], 0
add ebx, 0x40
mov dword [ebx], edi
mov ecx, 4
mov dword [ebx + 4], esi
mov dword [ebp - 0x84], ebx
mov word [ebx + 0x18], cx
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x90]
mov edx, dword [ecx + 4]
mov esi, dword [eax + 0x3c]
mov esi, dword [esi + edx*4]
cmp dword [esi], 0
jne 0x10036206
cmp byte [esi + 0x1e], 0
je 0x10036386
test byte [ecx + 8], 1
mov edx, dword [ebx - 0x3c]
mov edi, dword [ebx - 0x40]
mov dword [ebp - 0x15c], edx
je 0x1003621e
inc dword [eax + 0x23c]
test byte [ecx + 8], 2
je 0x10036236
mov ecx, dword [ebx - 0x40]
mov eax, dword [ebp - 0x9c]
mov dword [eax + 0x20], ecx
mov edx, dword [ebx - 0x3c]
mov dword [eax + 0x24], edx
cmp byte [esi + 0x1d], 0
je 0x10036252
mov eax, dword [ebx - 0x3c]
cmp eax, dword [esi + 0x14]
jl 0x10036252
jg 0x1003624e
mov ecx, dword [ebx - 0x40]
cmp ecx, dword [esi + 0x10]
jb 0x10036252
mov byte [esi + 0x1d], 0
test byte [ebx + 0x18], 1
je 0x10036260
xor eax, eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
cmp byte [esi + 0x1e], 0
je 0x100362f2
mov eax, dword [esi + 0x38]
test eax, eax
je 0x1003627a
push eax
call fcn.100b3828
add esp, 4
mov edx, dword [ebp - 0x15c]
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edx
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x34], eax
test byte [ebx + 0x18], 0x40
je 0x100362a7
mov eax, dword [ebx + 0x10]
mov ecx, 1
mov dword [esi + 0x38], eax
mov word [ebx + 0x18], cx
mov byte [esi + 0x1c], 0
jmp 0x10036315
add eax, 2
test eax, eax
jle 0x100362b9
push eax
call fcn.1001a040
add esp, 4
jmp 0x100362bb
xor eax, eax
mov dword [esi + 0x38], eax
test eax, eax
je 0x10037747
mov edx, dword [esi + 0x34]
mov ecx, dword [ebx + 0x10]
push edx
push ecx
push eax
call fcn.100b3090
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
mov byte [edx + eax], 0
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov byte [ecx + edx + 1], 0
add esp, 0xc
mov byte [esi + 0x1c], 0
jmp 0x10036315
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0x15c]
push eax
mov eax, dword [esi]
push ecx
push edx
push edi
push 0
push eax
call fcn.10020f10
add esp, 0x18
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
mov byte [esi + 0x19], 0
mov byte [esi + 0x1f], 0
mov dword [esi + 0x60], 0
jne 0x10036386
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + 0x74]
test ecx, ecx
je 0x10036386
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x10036386
mov edx, dword [ebp - 0x15c]
mov esi, dword [esi + 4]
push edx
push edi
push eax
mov eax, dword [ebp - 0x9c]
lea edx, [esi + esi*2]
mov esi, dword [eax + 4]
mov edx, dword [esi + edx*8]
mov eax, dword [eax + 0x70]
push edx
mov edx, dword [ebp - 0x88]
mov edx, dword [edx + 8]
and dl, 4
movsx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
lea ecx, [ebp - 0x84]
mov eax, 2
push ecx
call fcn.10033220
add esp, 4
jmp 0x10037484
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x3c]
mov edi, dword [edx + eax*4]
mov esi, dword [edi]
test esi, esi
je 0x10036483
mov eax, dword [ebp - 0x9c]
cmp dword [eax + 0x74], 0
je 0x1003640d
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0xc], 0
je 0x1003640d
cmp byte [edi + 0x19], 0
je 0x100363f0
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], eax
jmp 0x1003640d
lea ecx, [ebp - 0x140]
push ecx
call fcn.1001d810
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
mov esi, edi
call fcn.10027f20
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
mov edx, dword [edi]
push edx
call fcn.10021110
add esp, 4
mov dword [ebp - 0x8c], eax
mov byte [edi + 0x1d], 0
mov dword [edi + 0x60], 0
test eax, eax
jne 0x10036483
mov edx, dword [ebp - 0x9c]
mov ecx, dword [edx + 0x74]
test ecx, ecx
je 0x10036483
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10036483
mov esi, dword [ebp - 0x13c]
mov edi, dword [edi + 4]
push esi
mov esi, dword [ebp - 0x140]
push esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 0x70]
push eax
lea eax, [edi + edi*2]
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je case.0x100335db.47
mov eax, dword [ebp - 0x90]
inc dword [eax + 0x23c]
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0
je 0x100364c8
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x23c]
mov ecx, dword [ebp - 0x9c]
add dword [ecx + 0x38], eax
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x23c], 0
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x3c]
mov edi, dword [ecx + edx*4]
add ebx, 0x40
cmp byte [edi + 0x1c], 0
mov dword [ebp - 0x84], ebx
jne 0x10036623
mov eax, dword [edi]
mov dword [ebp - 0x98], eax
test eax, eax
je 0x100365ff
mov esi, edi
call fcn.10027f20
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
cmp byte [edi + 0x1c], al
je 0x1003653d
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
cmp byte [edi + 0x21], 0
mov esi, dword [ebp - 0x98]
je 0x10036563
lea ecx, [ebp - 0x198]
push ecx
call fcn.1001d810
mov esi, dword [ebp - 0x198]
mov dword [ebp - 0x12c], esi
jmp 0x10036575
lea edx, [ebp - 0x12c]
push edx
call fcn.1001d8e0
mov esi, dword [ebp - 0x12c]
add esp, 4
mov dword [ebx + 0x14], esi
cmp esi, 0x20
ja 0x10036591
mov eax, 0x210
lea ecx, [ebx + 0x20]
mov word [ebx + 0x18], ax
mov dword [ebx + 0x10], ecx
jmp 0x100365bd
test esi, esi
jle 0x10037747
push esi
call fcn.1001a040
add esp, 4
test eax, eax
je 0x10037747
mov edx, 0x50
mov word [ebx + 0x18], dx
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x10], eax
cmp byte [edi + 0x21], 0
je 0x100365e1
mov eax, dword [ebx + 0x10]
push eax
push esi
mov esi, dword [ebp - 0x98]
push 0
call fcn.1001dbc0
add esp, 0xc
mov byte [ebx + 0x1b], 1
jmp case.0x100335db.47
mov ecx, dword [ebx + 0x10]
push ecx
push esi
mov esi, dword [ebp - 0x98]
push 0
call fcn.1001dc10
add esp, 0xc
mov byte [ebx + 0x1b], 1
jmp case.0x100335db.47
cmp byte [edi + 0x1e], 0
je 0x10036623
mov edx, dword [edi + 0x34]
mov dword [ebx + 0x14], edx
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x10], eax
mov ecx, 0x110
mov word [ebx + 0x18], cx
mov byte [ebx + 0x1b], 1
jmp case.0x100335db.47
mov edx, 1
mov word [ebx + 0x18], dx
mov byte [ebx + 0x1b], dl
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + ecx*4]
call fcn.10027f20
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
add ebx, 0x40
mov dword [ebp - 0x84], ebx
cmp byte [esi + 0x19], al
je 0x1003667e
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], edx
jmp 0x100366bb
cmp byte [esi + 0x1e], 0
je 0x10036698
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], ecx
jmp 0x100366bb
cmp byte [esi + 0x1c], 0
jne 0x1003652f
mov esi, dword [esi]
test esi, esi
je 0x1003652f
lea edx, [ebp - 0x120]
push edx
call fcn.1001d810
add esp, 4
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
mov dword [ebx], eax
mov edx, 4
mov dword [ebx + 4], ecx
mov word [ebx + 0x18], dx
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ecx + edx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x3c]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x10036741
lea edi, [ebp - 0x154]
call fcn.1001e050
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x154]
mov byte [esi + 0x1c], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x60], 0
jmp 0x100367d6
mov byte [esi + 0x1c], 0
jmp case.0x100335db.47
mov eax, 1
add dword [0x10112c7c], eax
sub dword [0x10112c78], eax
jmp 0x10036762
mov eax, 1
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x3c]
mov edi, dword [ecx + edx*4]
mov esi, dword [edi]
test esi, esi
je 0x100367c7
call fcn.1001de40
xor ecx, ecx
cmp eax, ecx
jne 0x100367ac
cmp byte [esi + 0x41], cl
jne 0x1003679f
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0x8c], ecx
jmp 0x100367b2
mov dword [ebp - 0xf8], ecx
call fcn.1001df70
xor ecx, ecx
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0xf8], ecx
mov byte [edi + 0x1f], 0
sete dl
mov byte [edi + 0x1a], dl
mov dword [edi + 0x60], ecx
jmp 0x100367cd
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov byte [edi + 0x1c], al
test eax, eax
je case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x100335db.47
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov esi, dword [ebp - 0x9c]
test byte [esi + 8], 4
jne 0x100376fa
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x3c]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x10036896
cmp byte [esi + 0x1c], 0
je 0x1003683f
mov dword [ebp - 0x110], 1
mov byte [esi + 0x19], 0
jmp case.0x100335db.47
cmp cl, 0x6d
jne 0x10036853
lea ecx, [ebp - 0x110]
push ecx
push eax
call fcn.1001e410
jmp 0x10036860
lea edx, [ebp - 0x110]
push edx
push eax
call fcn.1001e5b0
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x110]
add esp, 8
mov byte [esi + 0x1c], al
mov dword [esi + 0x60], 0
test eax, eax
jne 0x1003689a
mov eax, dword [edi + 8]
dec eax
inc dword [0x10112c78]
mov dword [ebp - 0xa0], eax
mov byte [esi + 0x19], 0
jmp case.0x100335db.47
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi]
test edi, edi
je 0x10035bf0
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push 0
push 0x100eac18
cdq
push edx
push eax
push ecx
push edi
call fcn.10020f10
add esp, 0x18
mov dword [ebp - 0x8c], eax
mov dword [esi + 0x60], 0
jmp 0x10035bf0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x3c]
mov edi, dword [ecx + edx*4]
mov esi, dword [edi]
test esi, esi
je 0x10035bf0
mov eax, dword [ebx + 0x14]
lea edx, [ebp - 0x14c]
push edx
cdq
push edx
push eax
mov eax, dword [ebx + 0x10]
push eax
mov eax, esi
call fcn.1001e080
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10036949
cmp dword [ebp - 0x14c], eax
jne 0x10036949
push esi
call fcn.10021110
add esp, 4
mov dword [ebp - 0x8c], eax
mov dword [edi + 0x60], 0
jmp 0x10035bf0
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x90]
add ebx, 0x40
mov edx, 1
mov word [ebx + 0x18], dx
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax]
mov dword [ebp - 0x84], ebx
test ecx, ecx
je case.0x100335db.47
cmp byte [eax + 0x1c], 0
je 0x1003699a
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
lea edx, [ebp - 0x190]
push edx
call fcn.10028790
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x10035440
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov eax, 4
mov word [ebx + 0x18], ax
mov dword [ebx], ecx
mov dword [ebx + 4], edx
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + ecx*4]
cmp dword [edi], 0
je 0x10035bf0
test byte [ebx + 0x18], 0x12
jne 0x10036a16
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.100257a0
test eax, eax
jne 0x10037741
mov ebx, esi
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0xc], 0
mov eax, dword [edi + 0x48]
setne dl
mov byte [eax], dl
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
push ecx
push edx
lea edx, [ebp - 0xf0]
mov ecx, edi
call fcn.10028870
mov ecx, dword [edi + 0x48]
add esp, 8
mov dword [ebp - 0x8c], eax
mov byte [ecx], 0
test eax, eax
jne case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov al, byte [ecx]
cmp al, 0x32
jne 0x10036a6a
mov eax, dword [ebp - 0xf0]
neg eax
jmp 0x10036a75
cmp al, 0x78
mov eax, dword [ebp - 0xf0]
jne 0x10036a7b
inc eax
mov dword [ebp - 0xf0], eax
test eax, eax
jle 0x10035bf0
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10035bf0
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
mov esi, dword [ebx + 0x10]
lea edi, [ebp - 0x128]
mov dword [ebp - 0xac], eax
call fcn.1001adf0
mov dword [ebp - 0x98], eax
cmp eax, dword [ebx + 0x14]
jge 0x10035bf0
mov edi, edi
cmp dword [ebp - 0xac], 0
jle 0x10035bf0
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0x98]
lea esi, [esi + eax]
lea edi, [ebp - 0x128]
call fcn.1001adf0
add dword [ebp - 0x98], eax
cmp dword [ebp - 0x128], 0
je 0x10036b09
mov eax, dword [ebx + 0x14]
dec dword [ebp - 0xac]
cmp dword [ebp - 0x98], eax
jl 0x10036ac0
jmp 0x10035bf0
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x10035bf0
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx + 0x4c], 1
jle 0x10036b39
mov dword [ebp - 0x8c], 6
jmp case.0x100335db.47
mov ecx, dword [ecx + 4]
lea eax, [ebp - 0x168]
push eax
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push edx
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 4]
push edx
call fcn.10021850
mov ecx, dword [ebp - 0x168]
mov esi, eax
add ebx, 0x40
mov eax, 4
mov word [ebx + 0x18], ax
mov eax, ecx
cdq
add esp, 0xc
mov dword [ebx], eax
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x84], ebx
mov dword [ebx + 4], edx
test esi, esi
jne case.0x100335db.47
test ecx, ecx
je case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
mov esi, dword [ebp - 0x9c]
mov esi, dword [esi + 4]
mov edi, dword [edx + 4]
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
mov edx, ecx
call fcn.1002c6d0
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x9c]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx*8 + 4]
call fcn.100217c0
add esp, 4
mov dword [ebp - 0x8c], eax
jmp case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x9c]
mov edx, dword [edx + 4]
lea eax, [eax + eax*2]
lea esi, [edx + eax*8]
xor eax, eax
cmp cl, 0x64
mov ecx, dword [esi + 4]
setne al
dec eax
and eax, 3
add eax, 2
push eax
lea eax, [ebp - 0x16c]
push eax
push ecx
call fcn.100213f0
add ebx, 0x40
add esp, 0xc
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], ebx
test eax, eax
jne 0x1003652f
mov eax, dword [ebp - 0x16c]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov word [ebx + 0x18], dx
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*2]
lea ecx, [ecx + edx*8]
mov edx, dword [ecx + 0x14]
test byte [edx + 0x7a], 1
je case.0x100335db.47
mov edx, str.sqlite_temp_master
cmp eax, 1
je 0x10036c8f
mov edx, str.sqlite_master
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x9c]
add esi, 0x230
mov dword [ebp - 0x184], esi
mov esi, dword [ebp - 0x88]
mov esi, dword [esi + 0xc]
push esi
push edx
mov dword [ebp - 0x188], edi
mov ecx, dword [ecx]
push ecx
push eax
push str.SELECT_name__rootpage__sql___d_FROM__q._s_WHERE__s
call fcn.10033150
mov esi, eax
add esp, 0x14
test esi, esi
je 0x10037747
mov eax, edi
call fcn.1001abc0
push 0
lea edx, [ebp - 0x188]
push edx
push fcn.10018440
push esi
push edi
mov byte [edi + 0x44], 1
call fcn.10024d30
add esp, 0x14
push esi
mov dword [ebp - 0x8c], eax
call fcn.100b3828
add esp, 4
mov eax, edi
mov byte [edi + 0x44], 0
call fcn.1001ab90
cmp dword [ebp - 0x8c], 7
jne case.0x100335db.47
mov eax, 1
add dword [0x10112c70], eax
mov dword [0x10112c64], eax
jmp 0x10037747
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov esi, dword [ebp - 0x9c]
call fcn.10031310
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x9c]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.1002ae00
add esp, 8
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x9c]
mov eax, dword [eax + 4]
push ecx
push edx
call fcn.1002a2c0
add esp, 8
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x9c]
push ecx
push edx
mov edx, dword [eax + 4]
call fcn.10039090
add esp, 8
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x90]
xor esi, esi
cmp ebx, dword [ecx + 0x28]
jb 0x10036dd5
mov eax, ebx
lea ecx, [ecx]
test byte [eax + 0x18], 4
je 0x10036dd5
inc esi
mov edx, esi
shl edx, 6
mov eax, ebx
sub eax, edx
cmp eax, dword [ecx + 0x28]
jae 0x10036dc0
lea eax, [esi*4 + 4]
test eax, eax
jle 0x10037747
push eax
call fcn.1001a040
mov edi, eax
add esp, 4
test edi, edi
je 0x10037747
xor eax, eax
test esi, esi
jle 0x10036e0d
lea ecx, [ecx]
mov ecx, dword [ebx]
mov dword [edi + eax*4], ecx
inc eax
sub ebx, 0x40
cmp eax, esi
jl 0x10036e00
lea edx, [ebp - 0x84]
mov dword [edi + eax*4], 0
push edx
mov eax, esi
call fcn.10033220
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x84]
add esp, 4
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*8 + 4]
push esi
add ebx, 0x40
push edi
mov dword [ebp - 0x84], ebx
call fcn.10022630
add esp, 8
test eax, eax
je 0x10036e8d
cmp byte [eax], 0
je 0x10036e84
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10036e66
sub eax, edx
mov dword [ebx + 0x14], eax
mov ecx, 0x62
mov word [ebx + 0x18], cx
mov dword [ebx + 0x1c], 0
jmp 0x10036ea4
push eax
call fcn.100b3828
add esp, 4
mov dword [ebx + 0x10], 0x100f2e98
mov edx, 0xa2
mov dword [ebx + 0x14], 2
mov word [ebx + 0x18], dx
movzx eax, byte [ebp - 0x91]
mov ecx, ebx
mov byte [ebx + 0x1b], 1
call fcn.100255a0
push edi
call fcn.100b3828
add esp, 4
jmp 0x10037484
mov eax, ebx
call fcn.10025a40
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edi, dword [ebp - 0x90]
push eax
push ecx
add edi, 0x64
call fcn.100406b0
add esp, 8
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
jmp case.0x100335db.47
mov esi, dword [ebp - 0x9c]
test byte [esi + 8], 4
jne 0x100376fa
mov esi, dword [ebp - 0x90]
add esi, 0x64
lea edx, [ebp - 0x180]
call fcn.10040760
cmp eax, 0x65
jne 0x10036f2f
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x17c]
add ebx, 0x40
mov dword [ebx], eax
mov edx, 4
mov dword [ebx + 4], ecx
mov dword [ebp - 0x84], ebx
mov word [ebx + 0x18], dx
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x90]
mov esi, dword [ecx + 0x70]
lea eax, [esi + 1]
mov dword [ecx + 0x70], eax
cmp esi, dword [ecx + 0x74]
jl 0x10036f89
mov dword [ecx + 0x74], eax
lea edi, [ecx + 0x78]
lea ecx, [esi + esi*2 + 3]
add ecx, ecx
add ecx, ecx
add ecx, ecx
call fcn.1001a100
cmp dword [edi], 0
je 0x10037747
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x78]
lea eax, [esi + esi*2]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x9c]
mov esi, dword [edx + 0x20]
mov dword [eax], esi
mov edx, dword [edx + 0x24]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x23c]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x64]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x68]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x6c]
mov dword [eax + 0x14], edx
xor eax, eax
mov dword [ecx + 0x64], eax
mov dword [ecx + 0x68], eax
mov dword [ecx + 0x6c], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x90]
dec dword [eax + 0x70]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x78]
lea ecx, [ecx + ecx*2]
lea esi, [edx + ecx*8]
mov edx, dword [esi]
mov ecx, dword [ebp - 0x9c]
mov dword [ecx + 0x20], edx
mov edx, dword [esi + 4]
mov dword [ecx + 0x24], edx
mov ecx, dword [esi + 8]
lea edi, [eax + 0x64]
mov dword [eax + 0x23c], ecx
call fcn.100407b0
mov edx, dword [esi + 0xc]
mov dword [edi], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x14]
mov dword [edi + 8], ecx
jmp case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x90]
push ebx
mov ebx, dword [edx + 4]
shl ebx, 6
add ebx, dword [eax + 0x58]
call fcn.10025d50
mov ecx, dword [ebp - 0x88]
sub dword [ebp - 0x84], 0x40
add esp, 4
cmp dword [ecx + 8], 0
mov dword [ebp - 0x8c], eax
jne 0x10037484
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
mov esi, dword [edx + 4]
mov eax, dword [ebp - 0x90]
add ebx, 0x40
shl esi, 6
add esi, dword [eax + 0x58]
mov ecx, 8
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x1c], 0
test al, 0x12
je case.0x100335db.47
and eax, 0xfd3f
or eax, 0x100
mov word [ebx + 0x18], ax
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov esi, dword [ecx + 4]
mov edx, dword [ebp - 0x90]
shl esi, 6
add esi, dword [edx + 0x58]
mov eax, esi
call fcn.10025a40
mov eax, ebx
call fcn.10025a40
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
cmp dword [esi + 4], eax
jg case.0x100335db.47
jl 0x100370ea
cmp dword [esi], ecx
jae case.0x100335db.47
mov dword [esi], ecx
mov dword [esi + 4], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x90]
mov eax, dword [eax + 4]
shl ecx, 6
add ecx, dword [edx + 0x58]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jl case.0x100335db.47
jg 0x10037143
cmp dword [eax + ecx], 0
jbe case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jg case.0x100335db.47
jl 0x10037184
cmp dword [eax + ecx], 0
jae case.0x100335db.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x58]
shl eax, 6
mov edx, dword [eax + ecx]
or edx, dword [eax + ecx + 4]
jne case.0x100335db.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
mov edx, dword [ebp - 0x90]
shl eax, 6
add eax, dword [edx + 0x58]
call fcn.10025b70
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
cdq
push edx
push eax
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x90]
shl eax, 6
add eax, dword [ecx + 0x58]
call fcn.10025bf0
add esp, 8
jmp case.0x100335db.47
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
shl edx, 6
add edx, eax
shl ebx, 6
push edx
add ebx, eax
call fcn.10025d50
add esp, 4
mov dword [ebp - 0x8c], eax
jmp 0x10037484
mov ecx, dword [ebp - 0x88]
mov esi, dword [ecx + 8]
mov edx, dword [ebp - 0x90]
mov edi, dword [edx + 0x30]
mov eax, esi
shl eax, 6
sub ebx, eax
xor edx, edx
add ebx, 0x40
cmp esi, edx
jle 0x1003728a
lea esp, [esp]
mov ecx, ebx
mov dword [edi + edx*4], ebx
call fcn.100331f0
inc edx
add ebx, 0x40
cmp edx, esi
jl 0x10037270
mov ecx, dword [ebp - 0x88]
xor edx, edx
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x90]
mov dword [ebp - 0x80], eax
mov eax, dword [ecx + 4]
shl eax, 6
add eax, dword [ebx + 0x58]
mov dword [ebp - 0x38], eax
inc dword [eax + 0x14]
mov eax, 1
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x5c], edx
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x30], edx
cmp byte [eax + 3], 0
je 0x100372ca
mov ecx, dword [ecx - 8]
mov dword [ebp - 0x30], ecx
mov eax, dword [eax + 0x14]
push edi
lea edx, [ebp - 0x80]
push esi
push edx
call eax
lea ecx, [ebp - 0x84]
add esp, 0xc
push ecx
mov eax, esi
call fcn.10033220
add esp, 4
cmp byte [ebp - 0x34], 0
je 0x10037319
push 0
push ecx
lea edx, [ebp - 0x78]
push edx
call fcn.10019240
add esp, 8
push eax
mov eax, ebx
add eax, 0x230
push eax
call fcn.1001a240
add esp, 0xc
mov dword [ebp - 0x8c], 1
lea ecx, [ebp - 0x78]
push ecx
call fcn.100258c0
add esp, 4
jmp 0x10037484
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 4]
mov edx, dword [ebp - 0x90]
mov ecx, dword [eax + 0xc]
shl ebx, 6
add ebx, dword [edx + 0x58]
call fcn.10025820
mov dword [ebp - 0x8c], eax
cmp eax, 1
jne 0x10037484
push 0
push ecx
push ebx
call fcn.10019240
add esp, 8
push eax
mov eax, dword [ebp - 0x90]
add eax, 0x230
push eax
call fcn.1001a240
add esp, 0xc
jmp 0x10037484
mov esi, dword [ebp - 0x9c]
mov eax, esi
call fcn.1001abc0
test eax, eax
jne 0x100373b8
mov ecx, dword [ebp - 0x90]
add ecx, 0x230
push esi
push ecx
call fcn.1004c2d0
mov dword [ebp - 0x8c], eax
add esp, 8
mov eax, esi
call fcn.1001ab90
test eax, eax
je case.0x100335db.47
mov dword [ebp - 0x8c], 0x15
jmp 0x10035440
mov edx, dword [ebp - 0x88]
cmp dword [edx + 4], 0
jne 0x100373e3
mov eax, dword [ebp - 0x9c]
call fcn.10028960
jmp case.0x100335db.47
mov eax, dword [ebp - 0x90]
mov byte [eax + 0x238], 1
jmp case.0x100335db.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
test eax, eax
sets cl
test cl, cl
je 0x1003740e
or edx, 0xffffffff
sub edx, eax
mov eax, edx
mov edx, dword [ebp - 0x88]
mov esi, dword [edx + 8]
mov edx, dword [ebp - 0x9c]
mov edx, dword [edx + 4]
test cl, cl
setne bl
lea eax, [eax + eax*2]
mov edi, dword [edx + eax*8 + 4]
inc bl
push esi
mov byte [ebp - 0x10c], bl
call fcn.1001b180
add esp, 4
test eax, eax
jne 0x10037454
mov eax, dword [ebp - 0x10c]
mov ebx, esi
push eax
mov esi, edi
call fcn.1001b230
add esp, 4
mov dword [ebp - 0x8c], eax
cmp eax, 6
jne 0x10037484
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x90]
push 0
push edx
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.1001a240
add esp, 0x10
mov ebx, dword [ebp - 0x84]
inc dword [ebp - 0xa0]
cmp dword [ebp - 0x8c], 0
jne 0x1003779f
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
jmp 0x10033530
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xa0]
mov dword [esi + 0x2c], ebx
mov ecx, dword [eax + 4]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x7c], edx
mov ecx, dword [eax + 8]
mov dword [esi + 0x88], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100374f7
push 0
push eax
lea edx, [esi + 0x230]
push edx
call fcn.1001a240
add esp, 0xc
mov eax, esi
call fcn.10027a80
cmp eax, 5
jne 0x1003751a
mov dword [esi + 0x80], eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x80]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov edi, dword [ebp - 0x90]
mov esi, dword [edi + 0x28]
shl ecx, 6
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x10c], eax
cmp esi, eax
jae 0x10037585
mov edi, edi
mov edx, pe_nt_image_headers32
test word [esi + 0x18], dx
je 0x1003757e
call fcn.10025660
test eax, eax
jne 0x10037747
mov eax, dword [ebp - 0x10c]
add esi, 0x40
cmp esi, eax
jb 0x10037560
mov eax, dword [edi + 0x60]
add eax, 2
or eax, 1
mov dword [edi + 0x60], eax
cmp esi, ebx
ja 0x100375aa
mov eax, esi
call fcn.10025720
mov ecx, esi
call fcn.100331f0
add esi, 0x40
cmp esi, ebx
jbe 0x10037595
inc dword [edi + 0x5c]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x88]
inc eax
mov byte [edi + 0x234], 1
mov edx, dword [ecx + 4]
mov dword [edi + 0x7c], eax
mov dword [edi + 0x22c], edx
mov eax, 0x64
mov dword [edi + 0x2c], ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x8c], 0x14
jmp 0x10035440
cmp dword [edi + 8], 0
je 0x1003761a
call fcn.10017af0
mov byte [esi + 0x10], 1
mov eax, 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov cl, byte [ebp - 0xad]
mov edi, dword [ebp - 0x90]
mov eax, edi
mov byte [esi + 0x10], cl
call fcn.10027a80
cmp eax, 5
jne 0x10037604
mov edx, dword [ebp - 0xa0]
mov al, 1
sub al, byte [ebp - 0xad]
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x7c], edx
mov byte [esi + 0x10], al
mov dword [edi + 0x80], 5
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x7c], ecx
mov dword [eax + 0x80], 5
mov dword [eax + 0x2c], ebx
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xa0]
xor eax, eax
mov dword [ecx + 0x7c], edx
mov dword [ecx + 0x80], 5
cmp dword [ebx + 8], eax
setle al
inc eax
shl eax, 6
add eax, dword [ebp - 0x84]
mov dword [ecx + 0x2c], eax
mov eax, 5
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x8c], 0xb
jmp 0x10035440
mov dword [ebp - 0x8c], 0xd
jmp 0x10035440
mov eax, dword [esi + 0x30]
and dword [esi + 8], 0xfffffffb
mov edx, dword [ebp - 0x90]
sub eax, 0xf03b7906
neg eax
sbb eax, eax
and eax, 0xc
add eax, 9
mov dword [ebp - 0x8c], eax
mov dword [edx + 0x80], eax
cmp eax, 0x65
ja 0x10037734
call fcn.10017b70
add edx, 0x230
jmp 0x1003778a
mov eax, str.unknown_error
add edx, 0x230
jmp 0x1003778a
mov ebx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x90]
push 0
add ecx, 0x230
push str.out_of_memory
push ecx
call fcn.1001a240
add esp, 0xc
mov dword [ebp - 0x8c], 7
jmp 0x1003779f
cmp dword [ebp - 0x8c], 0x65
ja 0x10037785
mov eax, dword [ebp - 0x8c]
call fcn.10017b70
jmp 0x1003778a
mov eax, str.unknown_error
push 0
push eax
push edx
call fcn.1001a240
add esp, 0xc
cmp dword [ebp - 0x8c], 0
je 0x100377b8
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x90]
mov dword [edi + 0x80], edx
mov esi, 1
jmp 0x100377c3
mov edi, dword [ebp - 0x90]
mov esi, 0x65
mov eax, edi
call fcn.10027a80
mov ecx, dword [ebp - 4]
mov dword [edi + 0x2c], ebx
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.100b2b2c
mov esp, ebp
pop ebp
ret