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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e4
mov eax, dword [0x4eb6b8]
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 0x43ef40
lea eax, [ecx + 0x15]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049b315
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x80], 7
mov ebx, dword [edi + 0x2c]
mov dword [ebp - 0x84], ebx
je 0x4431c7
mov eax, dword [edi + 0x22c]
mov dword [edi + 0x80], ecx
cmp eax, ecx
je 0x43ef85
lea ecx, [ebp - 0x84]
push ecx
call fcn.0043eca0
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 0x44317a
mov ecx, dword [edi + 0x7c]
mov dword [ebp - 0xa0], ecx
lea esp, [esp]
call fcn.004269b0
test eax, eax
jne 0x4431c7
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 0x43f03b
mov ecx, dword [ebp - 0xfc]
cmp dword [esi + 0xa0], ecx
jne 0x43f035
mov eax, esi
call fcn.004265b0
test eax, eax
jne 0x442e38
mov edx, dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
push edx
call eax
add esp, 4
test eax, eax
mov eax, esi
je 0x43f01e
call fcn.00426580
mov dword [ebp - 0x8c], 4
jmp case.0x43f05b.47
mov dword [ebp - 0xfc], 0
call fcn.00426580
test eax, eax
jne 0x442e38
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.0x43f05b.47
movzx eax, byte [eax + 0x4433f8]
jmp dword [eax*4 + 0x443260]
mov esi, dword [ebp - 0x9c]
test byte [esi + 8], 4
jne 0x44317a
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.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.0x43f05b.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.0x43f05b.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.0x43f05b.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 0x43f128
sub eax, edx
mov dword [ebx + 0x14], eax
mov esi, ebx
mov byte [ebx + 0x1b], 1
call fcn.004313a0
mov dword [ebx], eax
mov dword [ebx + 4], edx
or word [ebx + 0x18], 4
jmp case.0x43f05b.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 0x43f170
sub eax, esi
mov dword [ebx + 0x14], eax
mov esi, ebx
mov byte [ebx + 0x1b], 1
call fcn.00431420
fstp qword [ebx + 8]
movzx eax, byte [ebp - 0x91]
or word [ebx + 0x18], 8
mov ecx, ebx
call fcn.00431020
jmp case.0x43f05b.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 0x43f1b3
sub eax, esi
cmp byte [ebp - 0x91], 1
mov dword [edi + 4], eax
je 0x43f254
push 0
push 1
push 0xffffffffffffffff
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0x84], ebx
call fcn.00431830
movzx eax, byte [ebp - 0x91]
add esp, 0x14
mov ecx, ebx
call fcn.00431020
test eax, eax
jne 0x4431c7
mov esi, ebx
call fcn.00431040
test eax, eax
jne 0x4431c7
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 0x43f23a
mov eax, dword [edi + 0xc]
test eax, eax
je 0x43f23a
push eax
call fcn.0049b3dd
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.0x43f05b.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.0x43f05b.47
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov dword [ebp - 0x84], ebx
mov dword [ebx + 0x14], 0
jmp case.0x43f05b.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 0x43f2b0
sub eax, edi
shr eax, 1
mov dword [esi + 4], eax
je 0x43f2f5
push edx
call fcn.00426870
mov edi, eax
add esp, 4
test edi, edi
je 0x4431c7
cmp dword [esi + 0x10], 0xffffffff
jne 0x43f2e9
mov eax, dword [esi + 0xc]
test eax, eax
je 0x43f2e9
push eax
call fcn.0049b3dd
add esp, 4
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], 0xffffffff
jmp 0x43f31e
cmp dword [esi + 0x10], 0xffffffff
jne 0x43f308
test edx, edx
je 0x43f308
push edx
call fcn.0049b3dd
add esp, 4
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x4ccc6a
jmp 0x43f31e
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.00431830
add esp, 0x14
jmp case.0x43f05b.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.0x43f05b.47
and eax, 0xfcbf
or eax, 0x80
mov word [ebx + 0x18], ax
jmp case.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x84]
push edx
call fcn.0043eca0
add esp, 4
jmp 0x442f04
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 0x43f3ee
and eax, 0xfd3f
or eax, 0x100
mov word [ebx + 0x18], ax
cmp dword [edx + 8], 0
je case.0x43f05b.47
mov edx, 0x100
test word [ebx + 0x18], dx
je case.0x43f05b.47
mov esi, ebx
call fcn.004310e0
test eax, eax
jne 0x4431c7
jmp case.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
shl ecx, 6
mov esi, ebx
sub esi, ecx
mov edx, 0x100
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 0x43f458
mov esi, ebx
call fcn.004310e0
test eax, eax
jne 0x4431c7
mov eax, dword [ebp - 0x88]
cmp dword [eax + 4], 0
mov dword [ebp - 0xac], 0
jle 0x43f4e2
mov ecx, dword [ebp - 0xa4]
add ecx, 0x40
mov dword [ebp - 0x98], ecx
lea ecx, [ecx]
mov esi, dword [ebp - 0x98]
mov edx, 0x100
test word [esi + 0x18], dx
je 0x43f49e
call fcn.004310e0
test eax, eax
jne 0x4431c7
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 0x43f4c1
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 0x43f480
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.0x43f05b.47
lea edx, [ebx + 0x20]
mov dword [ebx + 0x10], edx
jmp case.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
shl ecx, 6
push ebx
sub ebx, ecx
call fcn.004317d0
add esp, 4
sub dword [ebp - 0x84], 0x40
jmp 0x442f04
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 0x43f5eb
movzx ecx, word [esi + 0x18]
test cl, 1
jne 0x43f5b1
test cl, 0x12
jne 0x43f590
movzx ebx, byte [ebp - 0x91]
call fcn.00431220
test eax, eax
jne 0x4431c1
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 0x43f562
test eax, eax
jns 0x43f5eb
mov edx, dword [ebp - 0x88]
cmp dword [edx + 8], 0
jne 0x43f5d4
lea eax, [ebp - 0x84]
push eax
mov eax, edi
call fcn.0043eca0
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.0x43f05b.47
add eax, 2
test eax, eax
jle 0x4431c7
push eax
call fcn.00425a30
add esp, 4
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x4431c7
mov dword [ebp - 0x98], 0
test edi, edi
jle 0x43f669
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.004a0db0
mov edx, dword [ebp - 0xa4]
add dword [ebp - 0x98], edx
add esp, 0xc
add esi, 0x40
dec dword [ebp - 0xac]
jne 0x43f630
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 0x43f6a4
lea edx, [ebp - 0x84]
push edx
mov eax, edi
call fcn.0043eca0
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.0x43f05b.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 0x43f724
test al, 0x40
je 0x43f701
push ebx
call fcn.00431340
add esp, 4
test byte [edi + 0x18], 0x40
mov dword [ebp - 0x84], edi
je 0x43f716
push edi
call fcn.00431340
add esp, 4
mov eax, 1
mov word [edi + 0x18], ax
jmp 0x442f04
and cl, al
test cl, 4
je 0x43f7d0
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.0x43f747
jmp dword [edx*4 + 0x443488]
add esi, eax
adc edi, ecx
jmp 0x43f791
sub esi, eax
sbb edi, ecx
jmp 0x43f791
push ecx
push eax
push edi
push esi
call fcn.004a8ef0
jmp 0x43f78d
mov edx, eax
or edx, ecx
je 0x43f8cb
push ecx
push eax
push edi
push esi
call fcn.004a8000
jmp 0x43f78d
mov edx, eax
or edx, ecx
je 0x43f8cb
push ecx
push eax
push edi
push esi
call fcn.004a80b0
mov esi, eax
mov edi, edx
movzx eax, word [ebx + 0x18]
test al, 0x40
je 0x43f7a2
push ebx
call fcn.00431340
add esp, 4
mov ebx, dword [ebp - 0xa8]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0x84], ebx
je 0x43f7bd
push ebx
call fcn.00431340
add esp, 4
mov dword [ebx], esi
mov eax, 4
mov dword [ebx + 4], edi
mov word [ebx + 0x18], ax
jmp 0x442f04
mov esi, ebx
call fcn.00431420
fstp qword [ebp - 0xc0]
mov esi, dword [ebp - 0xa8]
call fcn.00431420
mov ecx, dword [ebp - 0x88]
movzx eax, byte [ecx]
add eax, 0xffffffb3
cmp eax, 3
ja case.default.0x43f7f9
jmp dword [eax*4 + 0x443498]
fadd qword [ebp - 0xc0]
jmp 0x43f86f
fsub qword [ebp - 0xc0]
jmp 0x43f86f
fmul qword [ebp - 0xc0]
jmp 0x43f86f
fld qword [ebp - 0xc0]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43f8c7
fdivp st(1)
jmp 0x43f86f
fld qword [ebp - 0xc0]
call fcn.004bc1f0
mov edi, eax
mov dword [ebp - 0xa4], edi
call fcn.004bc1f0
fild dword [ebp - 0xa4]
fldz
mov ecx, eax
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43f8cb
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 0x43f884
push ebx
call fcn.00431340
add esp, 4
test byte [esi + 0x18], 0x40
mov dword [ebp - 0x84], esi
je 0x43f899
push esi
call fcn.00431340
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 0x442f04
mov esi, dword [ebp - 0x84]
call fcn.00431490
jmp 0x442f04
fstp st(0)
fstp st(0)
test byte [ebx + 0x18], 0x40
je 0x43f8da
push ebx
call fcn.00431340
add esp, 4
mov esi, dword [ebp - 0xa8]
test byte [esi + 0x18], 0x40
mov dword [ebp - 0x84], esi
je 0x43f8f5
push esi
call fcn.00431340
add esp, 4
mov edx, 1
mov word [esi + 0x18], dx
jmp 0x442f04
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 0x43f93d
mov dword [edi + edx*4], ecx
call fcn.0043ec70
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x43f927
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x10], 0xfffffffb
jne 0x43f94f
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x7c], 0
jmp 0x43f957
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 0x43f979
mov eax, dword [eax - 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x9c]
call fcn.004265b0
test eax, eax
jne 0x442e38
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.00426580
test eax, eax
jne 0x442e38
call fcn.004269b0
test eax, eax
jne 0x4431c7
lea eax, [ebp - 0x84]
push eax
mov eax, esi
call fcn.0043eca0
mov ebx, dword [ebp - 0x7c]
add esp, 4
test ebx, ebx
je 0x43f9f7
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
push edx
call fcn.00433810
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 0x43fa2b
push 0
push ecx
lea edx, [ebp - 0x78]
push edx
call fcn.00424ce0
add esp, 8
push eax
mov eax, dword [ebp - 0x90]
add eax, 0x230
push eax
call fcn.00425c30
add esp, 0xc
mov dword [ebp - 0x8c], 1
movzx eax, byte [ebp - 0x91]
lea ecx, [ebp - 0x78]
call fcn.00431020
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.004317d0
add esp, 4
jmp 0x442f04
mov al, byte [ebx - 0x28]
or al, byte [ebx + 0x18]
lea esi, [ebx - 0x40]
mov dword [ebp - 0xa8], esi
test al, 1
je 0x43faa4
lea ecx, [ebp - 0x84]
push ecx
mov eax, 2
call fcn.0043eca0
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 0x442f04
call fcn.004313a0
mov esi, ebx
mov edi, eax
mov dword [ebp - 0x104], edx
call fcn.004313a0
mov ecx, eax
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax]
add eax, 0xffffffb7
cmp eax, 3
ja case.default.0x43facb
jmp dword [eax*4 + 0x4434a8]
and edi, ecx
and dword [ebp - 0x104], edx
jmp case.default.0x43facb
or edi, ecx
or dword [ebp - 0x104], edx
jmp case.default.0x43facb
mov edx, dword [ebp - 0x104]
mov eax, edi
call fcn.004bc2d0
jmp 0x43fb02
mov edx, dword [ebp - 0x104]
mov eax, edi
call fcn.004bc2a0
mov dword [ebp - 0x104], edx
mov edi, eax
test byte [ebx + 0x18], 0x40
je 0x43fb19
push ebx
call fcn.00431340
add esp, 4
mov esi, dword [ebp - 0xa8]
test byte [esi + 0x18], 0x40
mov dword [ebp - 0x84], esi
je 0x43fb34
push esi
call fcn.00431340
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 0x442f04
mov eax, ebx
call fcn.004314c0
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x43f05b.47
mov esi, ebx
call fcn.0043ede0
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0xa4], eax
test al, 8
je 0x43fba5
fld qword [ebx + 8]
call fcn.004bc226
mov dword [ebx], eax
mov dword [ebx + 4], edx
fild qword [ebx]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43fba5
mov eax, dword [ebp - 0xa4]
or eax, 4
mov word [ebx + 0x18], ax
movzx eax, word [ebx + 0x18]
test al, 0xc
jne 0x43fbd8
test al, 0x40
je 0x43fbba
push ebx
call fcn.00431340
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.0x43f05b.47
test al, 4
je 0x43fc09
mov edx, dword [ebp - 0x88]
cmp dword [edx + 4], 0
je 0x43fbfa
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, 1
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x43fc6f
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
xor eax, eax
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x43fc6f
mov eax, ebx
call fcn.00431540
fld qword [ebx + 8]
call fcn.004bc1f0
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 0x43fc4b
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 0x43fc6f
fild qword [ebp - 0x138]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43fc6f
add esi, 1
adc edi, 0
test byte [ebx + 0x18], 0x40
je 0x43fc7e
push ebx
call fcn.00431340
add esp, 4
mov dword [ebx], esi
mov ecx, 4
mov dword [ebx + 4], edi
mov word [ebx + 0x18], cx
jmp case.0x43f05b.47
mov esi, ebx
call fcn.0043ede0
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0xa4], eax
test al, 8
je 0x43fcce
fld qword [ebx + 8]
call fcn.004bc226
mov dword [ebx], eax
mov dword [ebx + 4], edx
fild qword [ebx]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43fcce
mov eax, dword [ebp - 0xa4]
or eax, 4
mov word [ebx + 0x18], ax
movzx eax, word [ebx + 0x18]
test al, 4
jne 0x43fd15
mov esi, dword [ebp - 0x88]
cmp dword [esi + 8], 0
je 0x443066
cmp dword [esi + 4], 0
je 0x43fd06
lea edx, [ebp - 0x84]
push edx
mov eax, 1
call fcn.0043eca0
mov ebx, dword [ebp - 0x84]
add esp, 4
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.47
test al, 0x40
je 0x43fd22
push ebx
call fcn.00431340
add esp, 4
mov eax, 4
mov word [ebx + 0x18], ax
jmp case.0x43f05b.47
test byte [ebx + 0x18], 4
je case.0x43f05b.47
mov eax, ebx
call fcn.00431540
jmp case.0x43f05b.47
test byte [ebx + 0x18], 1
jne case.0x43f05b.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 0x43fd81
test al, 0xc
je 0x43fd81
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.00431220
mov ebx, esi
mov edx, 0xfff3
and word [ebx + 0x18], dx
mov eax, 0xffe3
and word [ebx + 0x18], ax
jmp case.0x43f05b.47
movzx eax, word [ebx + 0x18]
test al, 1
jne case.0x43f05b.47
test al, 0x10
jne 0x43fdd6
movzx eax, word [ebx + 0x18]
test al, 2
jne 0x43fdc8
test al, 0xc
je 0x43fdc8
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.00431220
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.0x43f05b.47
test byte [ebx + 0x18], 1
jne case.0x43f05b.47
mov esi, ebx
call fcn.004315c0
jmp case.0x43f05b.47
test byte [ebx + 0x18], 1
jne case.0x43f05b.47
mov eax, ebx
call fcn.004314c0
jmp case.0x43f05b.47
test byte [ebx + 0x18], 1
jne case.0x43f05b.47
mov eax, ebx
call fcn.00431540
jmp case.0x43f05b.47
movzx eax, word [ebx + 0x18]
mov cl, byte [ebx - 0x28]
mov edi, dword [ebp - 0x88]
or cl, al
test cl, 1
je 0x43fe69
test dword [edi + 4], 0x200
je 0x43feba
not eax
and eax, 1
cdq
push edx
push eax
mov eax, ebx
call fcn.00431670
movzx eax, word [ebx - 0x28]
not eax
and eax, 1
cdq
push edx
push eax
lea eax, [ebx - 0x40]
call fcn.00431670
add esp, 0x10
mov al, byte [edi + 4]
mov byte [ebp - 0xad], al
test al, al
je 0x43fe97
mov dl, byte [ebp - 0x91]
lea ecx, [ebx - 0x40]
call fcn.0043ee70
mov dl, byte [ebp - 0x91]
mov al, byte [ebp - 0xad]
mov ecx, ebx
call fcn.0043ee70
mov eax, dword [edi + 0xc]
mov ecx, ebx
lea edx, [ebx - 0x40]
call fcn.00431990
movzx ecx, byte [edi]
add ecx, 0xffffffbe
cmp ecx, 4
ja case.default.0x43feb3
jmp dword [ecx*4 + 0x4434b8]
lea edx, [ebp - 0x84]
push edx
mov eax, 2
call fcn.0043eca0
mov eax, dword [edi + 8]
add esp, 4
test eax, eax
je 0x43feee
test dword [edi + 4], 0x100
je 0x442f04
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x442f04
mov eax, dword [ebp - 0x84]
add eax, 0x40
mov ecx, 1
mov dword [ebp - 0x84], eax
mov word [eax + 0x18], cx
jmp 0x442f04
xor edx, edx
test eax, eax
sete dl
mov esi, edx
jmp 0x43ff47
xor ecx, ecx
test eax, eax
setne cl
jmp 0x43ff45
xor edx, edx
test eax, eax
sets dl
mov esi, edx
jmp 0x43ff47
xor ecx, ecx
test eax, eax
setle cl
jmp 0x43ff45
xor edx, edx
test eax, eax
setg dl
mov esi, edx
jmp 0x43ff47
xor ecx, ecx
test eax, eax
setns cl
mov esi, ecx
lea edx, [ebp - 0x84]
push edx
mov eax, 2
call fcn.0043eca0
mov eax, dword [edi + 8]
add esp, 4
test eax, eax
je 0x43ff76
test esi, esi
je 0x442f04
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x442f04
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 0x442f04
test byte [ebx + 0x18], 1
je 0x43ffa8
mov esi, 2
jmp 0x43ffbd
mov eax, ebx
call fcn.004314c0
mov ecx, dword [ebx]
or ecx, dword [ebx + 4]
jne 0x43ffbb
lea esi, [ecx + 1]
jmp 0x43ffbd
xor esi, esi
test byte [ebx - 0x28], 1
je 0x43ffca
mov eax, 2
jmp 0x43ffe1
lea eax, [ebx - 0x40]
call fcn.004314c0
mov edx, dword [ebx - 0x40]
or edx, dword [ebx - 0x3c]
jne 0x43ffdf
lea eax, [edx + 1]
jmp 0x43ffe1
xor eax, eax
mov ecx, dword [ebp - 0x88]
cmp byte [ecx], 0x3c
jne 0x43fff9
lea edx, [eax + esi*2]
movzx esi, byte [esi + edx + 0x4d12b4]
jmp 0x440004
lea eax, [eax + esi*2]
movzx esi, byte [esi + eax + 0x4d1d94]
lea ecx, [ebp - 0x84]
push ecx
mov eax, 2
call fcn.0043eca0
mov ecx, dword [ebp - 0x84]
add ecx, 0x40
add esp, 4
mov dword [ebp - 0x84], ecx
mov ebx, ecx
cmp esi, 2
jne 0x44003c
mov edx, 1
mov word [ecx + 0x18], dx
jmp case.0x43f05b.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.0x43f05b.47
movzx eax, word [ebx + 0x18]
test al, 8
jne 0x4400b6
test al, 4
je 0x4400a7
test al, 0x40
je 0x440070
push ebx
call fcn.00431340
add esp, 4
mov ecx, dword [ebp - 0x88]
cmp byte [ecx], 0x53
je 0x440088
cmp dword [ebx + 4], 0
jg 0x440099
jl 0x440088
cmp dword [ebx], 0
jae 0x440099
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.0x43f05b.47
test al, 1
jne case.0x43f05b.47
mov esi, ebx
call fcn.004315c0
test byte [ebx + 0x18], 0x40
je 0x4400c5
push ebx
call fcn.00431340
add esp, 4
mov edx, dword [ebp - 0x88]
cmp byte [edx], 0x53
je 0x4400dc
fldz
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x41
jne 0x4400e4
fld qword [ebx + 8]
fchs
fstp qword [ebx + 8]
mov eax, 8
mov word [ebx + 0x18], ax
jmp case.0x43f05b.47
test byte [ebx + 0x18], 1
jne case.0x43f05b.47
mov eax, ebx
call fcn.004314c0
mov ecx, dword [ebx]
or ecx, dword [ebx + 4]
jne 0x440123
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov word [ebx + 0x18], dx
jmp case.0x43f05b.47
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov word [ebx + 0x18], dx
jmp case.0x43f05b.47
test byte [ebx + 0x18], 1
jne case.0x43f05b.47
mov eax, ebx
call fcn.004314c0
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.0x43f05b.47
test byte [ebx + 0x18], 1
je 0x440177
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 4]
jmp 0x4401a6
mov esi, ebx
call fcn.00431420
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x440190
mov esi, 1
jmp 0x440192
xor esi, esi
mov ecx, dword [ebp - 0x88]
cmp byte [ecx], 0x69
jne 0x4401a6
xor edx, edx
test esi, esi
sete dl
mov esi, edx
test byte [ebx + 0x18], 0x40
je 0x4401b5
push ebx
call fcn.00431340
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
test esi, esi
je case.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.47
mov edi, dword [ebp - 0x88]
mov esi, dword [edi + 4]
mov eax, esi
test eax, eax
jns 0x4401ec
neg eax
mov edx, eax
shl edx, 6
mov ecx, ebx
sub ecx, edx
xor edx, edx
test eax, eax
jle 0x440219
add ecx, 0x58
mov edi, edi
test byte [ecx], 1
jne 0x44020f
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x440200
jmp 0x440219
mov ecx, dword [edi + 8]
dec ecx
mov dword [ebp - 0xa0], ecx
test esi, esi
jle case.0x43f05b.47
lea ecx, [ebp - 0x84]
push ecx
call fcn.0043eca0
add esp, 4
jmp 0x442f04
mov edx, dword [ebp - 0x88]
mov esi, dword [edx + 4]
mov eax, esi
test eax, eax
jns 0x440246
neg eax
xor edx, edx
test eax, eax
jle 0x440274
mov edi, eax
shl edi, 6
mov ecx, ebx
sub ecx, edi
add ecx, 0x58
test byte [ecx], 1
jne 0x440270
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x440258
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 8]
jmp 0x440212
cmp edx, eax
jl 0x440219
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 8]
jmp 0x440212
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.0x43f05b.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 0x4403a2
mov esi, edi
call fcn.004339a0
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
mov edx, dword [edi]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xa8], edx
cmp byte [edi + 0x1c], al
je 0x440315
mov dword [ebp - 0xd0], eax
jmp 0x44036c
mov eax, dword [edi + 0x60]
mov ecx, dword [ebp - 0x90]
cmp eax, dword [ecx + 0x60]
jne 0x440337
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x70]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xc4], eax
jmp 0x44036c
cmp byte [edi + 0x21], 0
mov esi, dword [ebp - 0xa8]
je 0x44035d
lea ecx, [ebp - 0x1a0]
push ecx
call fcn.00429290
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0xd0], edx
jmp 0x440369
lea eax, [ebp - 0xd0]
push eax
call fcn.00429360
add esp, 4
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0x98], ecx
xor eax, eax
cmp dword [ebp - 0xd0], eax
je case.0x43f05b.47
mov eax, dword [edi + 0x60]
mov esi, dword [ebp - 0x90]
cmp eax, dword [esi + 0x60]
jne 0x4403d8
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0xb4], ecx
jmp 0x44062c
cmp byte [edi + 0x1e], al
je 0x4403cd
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 0x440377
mov dword [ebp - 0xd0], eax
jmp case.0x43f05b.47
mov eax, dword [edi + 0x68]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x440427
mov eax, dword [ebp - 0x98]
add eax, eax
add eax, eax
add eax, eax
test eax, eax
jle 0x440406
push eax
call fcn.00425a30
add esp, 4
mov dword [ebp - 0xb4], eax
jmp 0x440416
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x68], eax
test eax, eax
je 0x4431c7
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 0x440459
mov esi, dword [ebp - 0xc4]
jmp 0x4404aa
cmp byte [edi + 0x21], 0
je 0x440473
mov esi, dword [ebp - 0xa8]
lea edx, [ebp - 0x114]
push edx
call fcn.00429710
jmp 0x440485
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0xa8]
call fcn.00429780
mov ecx, dword [ebp - 0x114]
add esp, 4
mov esi, eax
cmp ecx, dword [ebp - 0xd0]
jb 0x4404a3
mov dword [ebp - 0xc4], esi
mov dword [edi + 0x70], esi
jmp 0x4404aa
mov dword [edi + 0x70], 0
movzx eax, byte [esi]
mov dword [ebp - 0xc8], eax
cmp eax, 0x7f
ja 0x4404c4
mov dword [ebp - 0xdc], 1
jmp 0x4404db
lea edi, [ebp - 0xc8]
call fcn.004267e0
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xc4], 0
jne 0x440529
mov edx, dword [ebp - 0xc8]
cmp dword [ebp - 0x114], edx
jae 0x440529
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.00431bc0
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x442f04
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 0x4405ed
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 0x4405d5
mov edx, dword [ebp - 0xc8]
mov dword [eax + ecx], edx
movzx eax, byte [esi]
mov dword [ecx], eax
cmp eax, 0x7f
ja 0x4405a7
mov eax, 1
add esi, eax
mov eax, dword [ecx]
call fcn.00433b10
add dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
jmp 0x4405dc
mov edi, dword [ebp - 0x8c]
call fcn.004267e0
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xec]
add esi, eax
mov eax, dword [ecx]
call fcn.00433b10
add dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
jmp 0x4405dc
mov dword [eax + ecx], 0
add ecx, 4
dec dword [ebp - 0xdc]
mov dword [ebp - 0x8c], ecx
jne 0x440570
test byte [ebp - 0x50], 0x40
je 0x4405ff
lea eax, [ebp - 0x68]
push eax
call fcn.00431340
add esp, 4
mov ecx, 1
mov word [ebp - 0x50], cx
cmp esi, dword [ebp - 0xd4]
ja 0x44071c
mov edx, dword [ebp - 0xd0]
cmp dword [ebp - 0xc8], edx
ja 0x44071c
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xac]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x4406ae
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x440647
add ecx, eax
jmp 0x44068d
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + edx*4]
call fcn.00433b10
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.00431bc0
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x442f04
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.00433bb0
mov cl, byte [ebp - 0x91]
mov byte [ebx + 0x1b], cl
jmp 0x4406f0
mov edx, dword [ebp - 0x88]
cmp dword [edx + 0x10], 0xfffffff8
jne 0x4406e7
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 0x4406f0
and eax, 0xfcbf
or eax, 0x80
mov word [ebx + 0x18], ax
jmp 0x4406f0
mov ecx, 1
mov word [ebx + 0x18], cx
test byte [ebp - 0x50], 0x40
je 0x44070a
mov dx, word [ebx + 0x18]
mov eax, 0xfeff
and dx, ax
or dx, 0x60
mov word [ebx + 0x18], dx
mov esi, ebx
call fcn.004310e0
mov dword [ebp - 0x8c], eax
jmp case.0x43f05b.47
mov dword [ebp - 0x8c], 0xb
jmp case.0x43f05b.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 0x440833
mov eax, 0xffffffe8
sub eax, esi
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xa4], 0
je 0x4407f1
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.0043ee70
test byte [esi + 0x18], 1
je 0x440801
mov dword [ebp - 0xd4], 1
mov edx, dword [ebp - 0xc4]
push edx
mov eax, esi
call fcn.00433a20
add esp, 4
mov ecx, eax
call fcn.00433b10
add dword [ebp - 0x98], eax
push 0
push ecx
call fcn.00426840
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, ebx
jbe 0x4407c5
cmp dword [ebp - 0xa8], 0
je 0x440875
mov esi, dword [ebp - 0xec]
mov eax, esi
mov dword [ebp - 0xb4], esi
call fcn.004314c0
push 0
mov eax, esi
call fcn.00433a20
add esp, 4
mov ecx, eax
call fcn.00433b10
add dword [ebp - 0x98], eax
push 0
push ecx
call fcn.00426840
add esp, 8
add edi, eax
mov eax, edi
cdq
push edx
push eax
call fcn.00426840
mov esi, eax
add edi, esi
mov eax, edi
cdq
push edx
push eax
call fcn.00426840
add esp, 0x10
cmp esi, eax
jge 0x440895
inc edi
mov eax, dword [ebp - 0x98]
add eax, edi
mov dword [ebp - 0xbc], eax
cmp eax, 0x20
jbe 0x4408c9
test eax, eax
jle 0x4431c7
push eax
call fcn.00425a30
add esp, 4
mov dword [ebp - 0x98], eax
test eax, eax
je 0x4431c7
jmp 0x4408d2
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.004265e0
lea esi, [edi + eax]
mov edi, dword [ebp - 0xac]
add esp, 8
cmp edi, ebx
ja 0x44091b
mov edx, dword [ebp - 0xc4]
push edx
mov eax, edi
call fcn.00433a20
add esp, 4
push 0
push eax
mov ecx, esi
call fcn.004265e0
add edi, 0x40
add esp, 8
add esi, eax
cmp edi, ebx
jbe 0x4408f4
cmp dword [ebp - 0xa8], 0
je 0x440943
mov eax, dword [ebp - 0xb4]
push 0
call fcn.00433a20
add esp, 4
push 0
push eax
mov ecx, esi
call fcn.004265e0
add esp, 8
add esi, eax
mov edi, dword [ebp - 0xac]
cmp edi, ebx
ja 0x440972
lea ecx, [ecx]
mov eax, dword [ebp - 0xc4]
mov ecx, edi
mov ebx, esi
call fcn.00433b30
add edi, 0x40
add esi, eax
cmp edi, dword [ebp - 0x84]
jbe 0x440950
mov ebx, dword [ebp - 0x84]
cmp dword [ebp - 0xa8], 0
je 0x440990
mov ecx, dword [ebp - 0xb4]
xor eax, eax
mov ebx, esi
call fcn.00433b30
mov ebx, dword [ebp - 0x84]
cmp dword [ebp - 0xdc], 0
jne 0x4409ba
mov eax, dword [ebp - 0xc8]
add eax, dword [ebp - 0xa8]
lea edx, [ebp - 0x84]
push edx
call fcn.0043eca0
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 0x4409f0
push ecx
lea ecx, [ebp - 0x24]
lea eax, [ebx + 0x20]
push ecx
push eax
mov dword [ebx + 0x10], eax
call fcn.004a0db0
mov edx, 0x210
add esp, 0xc
mov word [ebx + 0x18], dx
jmp 0x440a09
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.0x43f05b.47
cmp dword [ebp - 0xd4], 0
je case.0x43f05b.47
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 4]
test eax, eax
js case.0x43f05b.47
mov ecx, dword [ebp - 0x9c]
cmp eax, dword [ecx]
jge case.0x43f05b.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.0x43f05b.47
mov edx, dword [ebp - 0x9c]
cmp byte [edx + 0x10], 0
jne case.0x43f05b.47
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x440a88
cmp byte [ecx + 0xc], 0
jne case.0x43f05b.47
call fcn.00428f40
mov dword [ebp - 0x8c], eax
jmp case.0x43f05b.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 0x440afe
test al, al
je 0x440afe
cmp byte [esi + 0x10], 0
jne 0x440afe
mov eax, str.rollback
test cl, cl
jne 0x440ace
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.00425c30
add esp, 0x14
mov dword [ebp - 0x8c], 1
jmp case.0x43f05b.47
cmp al, byte [esi + 0x10]
jne 0x443075
test al, al
jne 0x440b12
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x440b20
mov eax, str.cannot_rollback___no_transaction_is_active
test cl, cl
jne 0x440b20
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.00425c30
add esp, 0xc
mov dword [ebp - 0x8c], 1
jmp case.0x43f05b.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.0x43f05b.47
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 8]
push edx
push eax
call fcn.00428420
add esp, 8
mov dword [ebp - 0x8c], eax
cmp eax, 5
je 0x4430ec
test eax, eax
je case.0x43f05b.47
cmp eax, 8
jne 0x440ec0
jmp case.0x43f05b.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.0042d500
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.0x43f05b.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.004314c0
mov edi, dword [edi + 8]
mov ebx, dword [ebx]
mov eax, dword [esi + 4]
inc edi
call fcn.0042d5f0
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 8]
test eax, eax
jne 0x440c4e
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 0x440c61
cmp eax, 1
jne 0x440c61
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 0x442f04
mov eax, dword [ebp - 0x9c]
call fcn.004343e0
jmp 0x442f04
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 0x440d01
lea edx, [ebp - 0x124]
push edx
lea edi, [ecx + 1]
call fcn.0042d500
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne case.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x124]
cmp ecx, dword [eax + 8]
je case.0x43f05b.47
mov edx, dword [ebp - 0x90]
push 0
add edx, 0x230
push str.database_schema_has_changed
push edx
call fcn.00425c30
add esp, 0xc
mov dword [ebp - 0x8c], 0x11
jmp case.0x43f05b.47
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x124], ecx
jmp 0x440cc1
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.004314c0
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 0x440d7c
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 0x440d86
mov byte [ecx + 0x239], al
jmp 0x440d86
mov dword [ebp - 0xa4], 0
mov edi, dword [ebp - 0xbc]
test edi, edi
jg 0x440da2
mov eax, ebx
call fcn.004314c0
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.0043ed20
mov esi, eax
add esp, 8
test esi, esi
je 0x4431c1
mov eax, dword [ebp - 0xec]
mov byte [esi + 0x1c], 1
test eax, eax
je 0x442f04
mov ebx, dword [ebp - 0x88]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xa4]
push esi
push edx
push fcn.00433dd0
push ecx
push edi
push eax
call fcn.00429080
add esp, 0x18
cmp dword [ebx + 0x10], 0xfffffffa
mov edi, eax
mov dword [ebp - 0x8c], edi
jne 0x440e25
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 0x440e38
mov ecx, dword [ebp - 0x90]
lea eax, [esi + 0x22]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
test edi, edi
je 0x440e6b
cmp edi, 5
je 0x44311e
cmp edi, 0x10
jne 0x440eba
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 0x442f04
mov eax, dword [esi]
call fcn.0042d640
test al, 0xf0
jne 0x440eb0
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x440e85
cmp ecx, 2
jne 0x440eb0
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 0x440e9e
cmp dword [ebx + 0x10], 0xfffffffa
je 0x440eb0
test al, al
je 0x442f04
cmp dword [ebx + 0x10], 0xfffffffa
je 0x442f04
mov dword [ebp - 0x8c], 0xb
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
add edx, 0x230
cmp dword [edx], 0
jne 0x443216
call fcn.004269b0
test eax, eax
je 0x4431ef
mov dword [ebp - 0x8c], 7
mov eax, dword [ebp - 0x8c]
call fcn.00423630
jmp 0x44320a
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [eax + 4]
push 0xffffffffffffffff
push ecx
call fcn.0043ed20
add esp, 8
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4431c1
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 0x440f48
lea ecx, [eax + 3]
cmp byte [ebx + 0x11], 2
jne 0x440f53
mov eax, str.:memory:
push ecx
push ebx
push eax
mov ecx, esi
call fcn.00427a80
add esp, 0xc
test eax, eax
jne 0x440f85
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 0x441450
mov esi, dword [esi]
mov ebx, dword [esi + 4]
xor edi, edi
cmp byte [esi + 8], 2
mov dword [ebp - 0xbc], esi
je 0x4410c6
cmp byte [ebx + 0xd], 0
je 0x440fbf
mov dword [ebp - 0x8c], 8
jmp 0x441450
cmp byte [ebx + 0x2c], 2
jne 0x440fd4
mov dword [ebp - 0x8c], 5
jmp 0x441450
cmp dword [ebx + 8], 0
jne 0x440fe3
mov esi, ebx
call fcn.00428060
mov edi, eax
test edi, edi
jne 0x44100b
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x44]
push edi
call fcn.00447bd0
mov edi, eax
add esp, 4
test edi, edi
jne 0x44100b
call fcn.00428370
mov edi, eax
test edi, edi
je 0x441091
cmp byte [ebx + 0x2c], 0
jne 0x441053
cmp dword [ebx + 4], 0
jne 0x441053
mov eax, dword [ebx + 8]
test eax, eax
je 0x441053
cmp dword [eax + 0x44], 0
jne 0x441039
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 0x441048
mov edx, dword [eax + 0x44]
call fcn.004479e0
mov dword [ebx + 8], 0
mov byte [ebx + 0xc], 0
cmp edi, 5
jne 0x441097
cmp byte [ebx + 0x2c], 0
jne 0x4410b8
mov esi, dword [ebx + 0x28]
test esi, esi
je 0x4410b8
mov ecx, dword [esi]
test ecx, ecx
je 0x4410b8
mov eax, dword [esi + 8]
test eax, eax
js 0x4410b8
push eax
mov eax, dword [esi + 4]
push eax
call ecx
add esp, 8
test eax, eax
je 0x441088
inc dword [esi + 8]
jmp 0x440fd4
mov dword [esi + 8], 0xffffffff
jmp 0x4410b8
mov byte [ebx + 0xc], 0
jmp 0x44109b
test edi, edi
jne 0x4410b8
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 8], 0
jne 0x4410aa
inc dword [ebx + 0x34]
mov byte [eax + 8], 2
cmp byte [ebx + 0x2c], 2
jae 0x4410b8
mov byte [ebx + 0x2c], 2
mov dword [ebp - 0x8c], edi
test edi, edi
jne 0x441450
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0xc], 0
je 0x4412d2
mov esi, dword [ebp - 0xa4]
mov edx, dword [esi]
push 2
lea ecx, [ebp - 0x158]
push ecx
push edx
call fcn.0042ce70
add esp, 0xc
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x4412c3
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 0x441139
mov dword [ebp - 0x8c], 8
jmp 0x441297
mov edi, dword [ebp - 0x158]
mov eax, dword [ebp - 0xa8]
xor ebx, ebx
call fcn.0042c930
test eax, eax
je 0x44115f
mov dword [ebp - 0x8c], 6
jmp 0x441297
mov edx, dword [ebp - 0xa8]
cmp dword [edx + 8], ebx
jne 0x441182
push esi
call fcn.00428220
add esp, 4
test eax, eax
je 0x441182
mov dword [ebp - 0x8c], eax
jmp 0x441297
cmp dword [0x4f019c], ebx
je 0x441192
cmp dword [0x4f01a8], ebx
jg 0x4411b2
push 0x58
call fcn.0049dacb
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4411cd
mov eax, 1
add dword [0x4f01a8], eax
mov dword [0x4f019c], eax
mov esi, dword [ebp - 0xa8]
mov edi, 7
call fcn.00428320
mov dword [ebp - 0x8c], edi
jmp 0x441297
push 0x58
push 0
push ebx
call fcn.004a2b10
add esp, 0xc
mov dword [ebx + 0x14], edi
cmp edi, 1
jne 0x4411f8
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call fcn.00446e30
test eax, eax
jne 0x4411f8
lea edi, [eax + 0x10]
jmp 0x441215
mov esi, dword [ebx + 0x14]
mov edi, dword [ebp - 0xa8]
lea ecx, [ebx + 0x18]
push 0
push ecx
call fcn.004279c0
mov edi, eax
add esp, 8
test edi, edi
je 0x441240
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x441224
mov edx, dword [eax + 0x44]
call fcn.004479e0
push ebx
call fcn.0049b3dd
mov esi, dword [ebp - 0xa8]
add esp, 4
call fcn.00428320
mov dword [ebp - 0x8c], edi
jmp 0x441297
mov edx, fcn.00433dd0
mov eax, fcn.00433dd0
test edx, edx
jne 0x441253
mov eax, 0x428ff0
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 0x44127e
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 0x441450
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 0x44130a
mov dword [ebp - 0x8c], 8
jmp 0x441440
xor ebx, ebx
lea edi, [ebx + 1]
call fcn.0042c930
test eax, eax
je 0x441327
mov dword [ebp - 0x8c], 6
jmp 0x441440
mov edi, dword [ebp - 0x98]
cmp dword [edi + 8], ebx
jne 0x44134a
push esi
call fcn.00428220
add esp, 4
test eax, eax
je 0x44134a
mov dword [ebp - 0x8c], eax
jmp 0x441440
cmp dword [0x4f019c], ebx
je 0x44135a
cmp dword [0x4f01a8], ebx
jg 0x44137a
push 0x58
call fcn.0049dacb
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x441395
mov eax, 1
add dword [0x4f01a8], eax
mov dword [0x4f019c], eax
mov esi, dword [ebp - 0x98]
mov edi, 7
call fcn.00428320
mov dword [ebp - 0x8c], edi
jmp 0x441440
push 0x58
push 0
push ebx
call fcn.004a2b10
mov dword [ebx + 0x14], 1
mov edi, dword [edi]
add esp, 0xc
call fcn.00446e30
test eax, eax
jne 0x4413b9
lea edi, [eax + 0x10]
jmp 0x4413d8
mov esi, dword [ebx + 0x14]
mov edi, dword [ebp - 0x98]
lea edx, [ebx + 0x18]
push 0
push edx
call fcn.004279c0
mov edi, eax
xor edx, edx
add esp, 8
cmp edi, edx
je 0x441403
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4413e7
mov edx, dword [eax + 0x44]
call fcn.004479e0
push ebx
call fcn.0049b3dd
mov esi, dword [ebp - 0x98]
add esp, 4
call fcn.00428320
mov dword [ebp - 0x8c], edi
jmp 0x441440
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x98]
mov dword [ebx + 0xc], 0x428ff0
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 0x44142c
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 0x442f04
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [eax + 4]
push 0xffffffffffffffff
push ecx
call fcn.0043ed20
add esp, 8
test eax, eax
je 0x4431c1
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 0x442f04
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 4]
test esi, esi
js case.0x43f05b.47
mov ecx, dword [ebp - 0x90]
cmp esi, dword [ecx + 0x38]
jge case.0x43f05b.47
mov edx, ecx
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + esi*4]
call fcn.00432d50
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x3c]
mov dword [edx + esi*4], 0
jmp case.0x43f05b.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 0x441670
mov byte [esi + 0x1c], 0
cmp edx, 7
je 0x44151f
cmp edx, 0x20
je 0x44151f
xor eax, eax
jmp 0x441524
mov eax, 1
mov ecx, dword [esi + 0x48]
mov byte [ecx], al
cmp byte [esi + 0x20], 0
je 0x44159e
mov eax, ebx
call fcn.004314c0
mov edx, dword [ebp - 0x88]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp dword [edx + 8], edi
jne 0x441563
cmp byte [edx], 0x6f
jne 0x441563
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.0x43f05b.47
lea edx, [ebp - 0xcc]
push edx
push ecx
push eax
mov eax, dword [esi]
push edi
call fcn.00429b00
add esp, 0x10
mov dword [ebp - 0x8c], eax
cmp eax, edi
jne 0x440ec0
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 0x4415cb
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.00429b00
add esp, 0x10
mov dword [ebp - 0x8c], eax
cmp eax, edi
jne 0x440ec0
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xa4]
mov edx, dword [esi + 0x48]
inc dword [0x4f01b0]
mov byte [esi + 0x1f], 0
mov dword [esi + 0x60], edi
mov byte [edx], 0
cmp eax, 0x6f
je 0x441636
cmp eax, 7
je 0x441636
cmp dword [ebp - 0xcc], edi
jl 0x441607
mov ecx, dword [esi]
lea eax, [ebp - 0xcc]
push eax
push ecx
call fcn.0042a030
jmp 0x44164d
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 0x441670
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
cmp eax, edi
jle 0x44166c
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x441670
cmp dword [ebp - 0xcc], edi
jge 0x441664
mov edx, dword [esi]
lea ecx, [ebp - 0xcc]
push ecx
push edx
call fcn.00429e90
add esp, 8
mov dword [ebp - 0x8c], eax
cmp eax, edi
jne 0x440ec0
mov byte [esi + 0x19], 0
jmp 0x441618
mov dword [ebp - 0xcc], edi
jmp 0x441670
mov byte [esi + 0x1c], 1
test byte [ebx + 0x18], 0x40
je 0x44167f
push ebx
call fcn.00431340
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
jmp case.0x43f05b.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 0x44170b
test byte [ebx + 0x18], 0x12
jne 0x4416ca
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.00431220
test eax, eax
jne 0x4431c1
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.00429b00
add esp, 0x10
test eax, eax
jne 0x4416f8
cmp dword [ebp - 0x170], eax
jne 0x4416f8
mov eax, 1
jmp 0x4416fa
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 0x441718
test eax, eax
je 0x441726
jmp 0x44171c
test eax, eax
jne 0x441726
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xa0], eax
cmp cl, 0x66
je case.0x43f05b.47
jmp 0x441670
mov edx, dword [ebp - 0x88]
mov edi, dword [edx + 4]
mov eax, ebx
lea esi, [ebx - 0x40]
call fcn.004314c0
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 0x442f04
test byte [esi + 0x18], 0x12
jne 0x441794
movzx ebx, byte [ebp - 0x91]
call fcn.00431220
test eax, eax
jne 0x4431c1
mov ebx, dword [esi + 0x10]
mov eax, ebx
call fcn.004341d0
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.00429b00
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440eba
cmp dword [ebp - 0xf4], eax
jge 0x441815
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xf4]
push edx
push eax
call fcn.00429e90
add esp, 8
cmp dword [ebp - 0xf4], 0
mov dword [ebp - 0x8c], eax
je 0x441815
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x442f04
push ebx
push esi
lea edx, [ebp - 0xf4]
mov ecx, edi
call fcn.004342f0
add esp, 8
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440eba
cmp dword [ebp - 0xf4], eax
jle 0x441852
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x442f04
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x178]
push eax
call fcn.00434210
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440eba
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
cmp ecx, dword [ebp - 0x148]
jne 0x4418a6
cmp edx, dword [ebp - 0x144]
jne 0x4418a6
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x442f04
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 0x442f04
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 0x441670
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
lea edi, [ebp - 0x150]
push edi
push edx
push ecx
push 0
call fcn.00429b00
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 0x441670
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
mov byte [esi + 0x19], 0
jmp 0x441670
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.0x43f05b.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 0x441c46
mov dword [ebp - 0xac], esi
call fcn.0042d640
and al, 3
cmp al, 1
jne 0x44315c
mov eax, dword [ebp - 0x84]
cmp byte [eax + 0x1b], 0
jne 0x441b21
cmp byte [eax + 0x1d], 0
je 0x4419fd
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
jmp 0x441a6d
mov eax, dword [ebp - 0xbc]
lea edi, [ebp - 0x100]
call fcn.00429ad0
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
cmp dword [ebp - 0x100], esi
je 0x441a2b
lea edi, [eax + 1]
xor esi, esi
jmp 0x441a6d
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
lea edx, [ebp - 0xe8]
push edx
call fcn.00429290
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe4]
add esp, 4
cmp edi, 0xffffffff
jne 0x441a67
cmp esi, 0x7fffffff
jne 0x441a67
mov ecx, dword [ebp - 0x84]
mov byte [ecx + 0x1b], 1
jmp 0x441a6d
add edi, 1
adc esi, 0
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
test eax, eax
je 0x441adc
mov ecx, dword [ebp - 0x90]
shl eax, 6
add eax, dword [ecx + 0x58]
mov dword [ebp - 0xa4], eax
call fcn.004314c0
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x441aad
cmp ecx, 0x7fffffff
je 0x44316b
mov edx, dword [ebp - 0x84]
cmp byte [edx + 0x1b], 0
jne 0x44316b
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x441ad1
jl 0x441acd
cmp edi, eax
jae 0x441ad1
mov edi, eax
mov esi, ecx
mov eax, dword [ebp - 0xa4]
mov dword [eax], edi
mov dword [eax + 4], esi
cmp esi, 0x7fffffff
ja 0x441b07
jb 0x441aeb
cmp edi, 0xffffffff
jae 0x441b07
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 0x441b11
mov eax, dword [ebp - 0x84]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x84]
cmp byte [eax + 0x1b], 0
je 0x441c31
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 0x441b81
cmp dword [ebp - 0x98], 2
jg 0x441b81
lea edx, [ebp - 0xd5]
push edx
mov ecx, 1
call fcn.0044b0f0
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 0x441bc0
lea eax, [ebp - 0xe8]
push eax
mov ecx, 8
call fcn.0044b0f0
mov edi, dword [ebp - 0xe8]
add esp, 4
cmp dword [ebp - 0x98], 5
jge 0x441bba
and edi, 0xffffff
xor esi, esi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
jmp 0x441bc0
mov esi, dword [ebp - 0xe4]
mov ecx, edi
or ecx, esi
je 0x441bed
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
lea edx, [ebp - 0x100]
push edx
push esi
push edi
push 0
call fcn.00429b00
add esp, 0x10
inc dword [ebp - 0x98]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x98], 0x3e8
jge 0x441c0f
cmp dword [ebp - 0xac], 0
jne 0x441c0f
cmp dword [ebp - 0x100], 0
je 0x441b43
cmp dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x9c]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
jne 0x441c31
cmp dword [ebp - 0x100], 0
je 0x44316b
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.0x43f05b.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 0x441c86
cmp byte [esi + 0x1e], 0
je 0x441e06
test byte [ecx + 8], 1
mov edx, dword [ebx - 0x3c]
mov edi, dword [ebx - 0x40]
mov dword [ebp - 0x15c], edx
je 0x441c9e
inc dword [eax + 0x23c]
test byte [ecx + 8], 2
je 0x441cb6
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 0x441cd2
mov eax, dword [ebx - 0x3c]
cmp eax, dword [esi + 0x14]
jl 0x441cd2
jg 0x441cce
mov ecx, dword [ebx - 0x40]
cmp ecx, dword [esi + 0x10]
jb 0x441cd2
mov byte [esi + 0x1d], 0
test byte [ebx + 0x18], 1
je 0x441ce0
xor eax, eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
cmp byte [esi + 0x1e], 0
je 0x441d72
mov eax, dword [esi + 0x38]
test eax, eax
je 0x441cfa
push eax
call fcn.0049b3dd
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 0x441d27
mov eax, dword [ebx + 0x10]
mov ecx, 1
mov dword [esi + 0x38], eax
mov word [ebx + 0x18], cx
mov byte [esi + 0x1c], 0
jmp 0x441d95
add eax, 2
test eax, eax
jle 0x441d39
push eax
call fcn.00425a30
add esp, 4
jmp 0x441d3b
xor eax, eax
mov dword [esi + 0x38], eax
test eax, eax
je 0x4431c7
mov edx, dword [esi + 0x34]
mov ecx, dword [ebx + 0x10]
push edx
push ecx
push eax
call fcn.004a0db0
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 0x441d95
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.0042c990
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 0x441e06
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + 0x74]
test ecx, ecx
je 0x441e06
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x441e06
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.0043eca0
add esp, 4
jmp 0x442f04
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 0x441f03
mov eax, dword [ebp - 0x9c]
cmp dword [eax + 0x74], 0
je 0x441e8d
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0xc], 0
je 0x441e8d
cmp byte [edi + 0x19], 0
je 0x441e70
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], eax
jmp 0x441e8d
lea ecx, [ebp - 0x140]
push ecx
call fcn.00429290
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
mov esi, edi
call fcn.004339a0
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
mov edx, dword [edi]
push edx
call fcn.0042cb90
add esp, 4
mov dword [ebp - 0x8c], eax
mov byte [edi + 0x1d], 0
mov dword [edi + 0x60], 0
test eax, eax
jne 0x441f03
mov edx, dword [ebp - 0x9c]
mov ecx, dword [edx + 0x74]
test ecx, ecx
je 0x441f03
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x441f03
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.0x43f05b.47
mov eax, dword [ebp - 0x90]
inc dword [eax + 0x23c]
jmp case.0x43f05b.47
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0
je 0x441f48
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.0x43f05b.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 0x4420a3
mov eax, dword [edi]
mov dword [ebp - 0x98], eax
test eax, eax
je 0x44207f
mov esi, edi
call fcn.004339a0
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
cmp byte [edi + 0x1c], al
je 0x441fbd
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x43f05b.47
cmp byte [edi + 0x21], 0
mov esi, dword [ebp - 0x98]
je 0x441fe3
lea ecx, [ebp - 0x198]
push ecx
call fcn.00429290
mov esi, dword [ebp - 0x198]
mov dword [ebp - 0x12c], esi
jmp 0x441ff5
lea edx, [ebp - 0x12c]
push edx
call fcn.00429360
mov esi, dword [ebp - 0x12c]
add esp, 4
mov dword [ebx + 0x14], esi
cmp esi, 0x20
ja 0x442011
mov eax, 0x210
lea ecx, [ebx + 0x20]
mov word [ebx + 0x18], ax
mov dword [ebx + 0x10], ecx
jmp 0x44203d
test esi, esi
jle 0x4431c7
push esi
call fcn.00425a30
add esp, 4
test eax, eax
je 0x4431c7
mov edx, 0x50
mov word [ebx + 0x18], dx
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x10], eax
cmp byte [edi + 0x21], 0
je 0x442061
mov eax, dword [ebx + 0x10]
push eax
push esi
mov esi, dword [ebp - 0x98]
push 0
call fcn.00429640
add esp, 0xc
mov byte [ebx + 0x1b], 1
jmp case.0x43f05b.47
mov ecx, dword [ebx + 0x10]
push ecx
push esi
mov esi, dword [ebp - 0x98]
push 0
call fcn.00429690
add esp, 0xc
mov byte [ebx + 0x1b], 1
jmp case.0x43f05b.47
cmp byte [edi + 0x1e], 0
je 0x4420a3
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.0x43f05b.47
mov edx, 1
mov word [ebx + 0x18], dx
mov byte [ebx + 0x1b], dl
jmp case.0x43f05b.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.004339a0
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
add ebx, 0x40
mov dword [ebp - 0x84], ebx
cmp byte [esi + 0x19], al
je 0x4420fe
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], edx
jmp 0x44213b
cmp byte [esi + 0x1e], 0
je 0x442118
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], ecx
jmp 0x44213b
cmp byte [esi + 0x1c], 0
jne 0x441faf
mov esi, dword [esi]
test esi, esi
je 0x441faf
lea edx, [ebp - 0x120]
push edx
call fcn.00429290
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.0x43f05b.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.0x43f05b.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 0x4421c1
lea edi, [ebp - 0x154]
call fcn.00429ad0
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 0x442256
mov byte [esi + 0x1c], 0
jmp case.0x43f05b.47
mov eax, 1
add dword [0x4f01b4], eax
sub dword [0x4f01b0], eax
jmp 0x4421e2
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 0x442247
call fcn.004298c0
xor ecx, ecx
cmp eax, ecx
jne 0x44222c
cmp byte [esi + 0x41], cl
jne 0x44221f
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0x8c], ecx
jmp 0x442232
mov dword [ebp - 0xf8], ecx
call fcn.004299f0
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 0x44224d
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov byte [edi + 0x1c], al
test eax, eax
je case.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
test eax, eax
jle case.0x43f05b.47
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.47
mov esi, dword [ebp - 0x9c]
test byte [esi + 8], 4
jne 0x44317a
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 0x442316
cmp byte [esi + 0x1c], 0
je 0x4422bf
mov dword [ebp - 0x110], 1
mov byte [esi + 0x19], 0
jmp case.0x43f05b.47
cmp cl, 0x6d
jne 0x4422d3
lea ecx, [ebp - 0x110]
push ecx
push eax
call fcn.00429e90
jmp 0x4422e0
lea edx, [ebp - 0x110]
push edx
push eax
call fcn.0042a030
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 0x44231a
mov eax, dword [edi + 8]
dec eax
inc dword [0x4f01b0]
mov dword [ebp - 0xa0], eax
mov byte [esi + 0x19], 0
jmp case.0x43f05b.47
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x43f05b.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 0x441670
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push 0
push 0x4ccc6a
cdq
push edx
push eax
push ecx
push edi
call fcn.0042c990
add esp, 0x18
mov dword [ebp - 0x8c], eax
mov dword [esi + 0x60], 0
jmp 0x441670
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 0x441670
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.00429b00
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x4423c9
cmp dword [ebp - 0x14c], eax
jne 0x4423c9
push esi
call fcn.0042cb90
add esp, 4
mov dword [ebp - 0x8c], eax
mov dword [edi + 0x60], 0
jmp 0x441670
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.0x43f05b.47
cmp byte [eax + 0x1c], 0
je 0x44241a
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x43f05b.47
lea edx, [ebp - 0x190]
push edx
call fcn.00434210
add esp, 4
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x440ec0
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.0x43f05b.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 0x441670
test byte [ebx + 0x18], 0x12
jne 0x442496
movzx ebx, byte [ebp - 0x91]
mov esi, dword [ebp - 0x84]
call fcn.00431220
test eax, eax
jne 0x4431c1
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.004342f0
mov ecx, dword [edi + 0x48]
add esp, 8
mov dword [ebp - 0x8c], eax
mov byte [ecx], 0
test eax, eax
jne case.0x43f05b.47
mov ecx, dword [ebp - 0x88]
mov al, byte [ecx]
cmp al, 0x32
jne 0x4424ea
mov eax, dword [ebp - 0xf0]
neg eax
jmp 0x4424f5
cmp al, 0x78
mov eax, dword [ebp - 0xf0]
jne 0x4424fb
inc eax
mov dword [ebp - 0xf0], eax
test eax, eax
jle 0x441670
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x441670
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.004267e0
mov dword [ebp - 0x98], eax
cmp eax, dword [ebx + 0x14]
jge 0x441670
mov edi, edi
cmp dword [ebp - 0xac], 0
jle 0x441670
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0x98]
lea esi, [esi + eax]
lea edi, [ebp - 0x128]
call fcn.004267e0
add dword [ebp - 0x98], eax
cmp dword [ebp - 0x128], 0
je 0x442589
mov eax, dword [ebx + 0x14]
dec dword [ebp - 0xac]
cmp dword [ebp - 0x98], eax
jl 0x442540
jmp 0x441670
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp 0x441670
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx + 0x4c], 1
jle 0x4425b9
mov dword [ebp - 0x8c], 6
jmp case.0x43f05b.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.0042d2d0
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.0x43f05b.47
test ecx, ecx
je case.0x43f05b.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.00438150
jmp case.0x43f05b.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.0042d240
add esp, 4
mov dword [ebp - 0x8c], eax
jmp case.0x43f05b.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.0042ce70
add ebx, 0x40
add esp, 0xc
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], ebx
test eax, eax
jne 0x441faf
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.0x43f05b.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.0x43f05b.47
mov edx, str.sqlite_temp_master
cmp eax, 1
je 0x44270f
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.0043ebd0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4431c7
mov eax, edi
call fcn.004265b0
push 0
lea edx, [ebp - 0x188]
push edx
push fcn.00423f00
push esi
push edi
mov byte [edi + 0x44], 1
call fcn.004307b0
add esp, 0x14
push esi
mov dword [ebp - 0x8c], eax
call fcn.0049b3dd
add esp, 4
mov eax, edi
mov byte [edi + 0x44], 0
call fcn.00426580
cmp dword [ebp - 0x8c], 7
jne case.0x43f05b.47
mov eax, 1
add dword [0x4f01a8], eax
mov dword [0x4f019c], eax
jmp 0x4431c7
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 4]
mov esi, dword [ebp - 0x9c]
call fcn.0043cd90
jmp case.0x43f05b.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.00436880
add esp, 8
jmp case.0x43f05b.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.00435d40
add esp, 8
jmp case.0x43f05b.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.00444b10
add esp, 8
jmp case.0x43f05b.47
mov ecx, dword [ebp - 0x90]
xor esi, esi
cmp ebx, dword [ecx + 0x28]
jb 0x442855
mov eax, ebx
lea ecx, [ecx]
test byte [eax + 0x18], 4
je 0x442855
inc esi
mov edx, esi
shl edx, 6
mov eax, ebx
sub eax, edx
cmp eax, dword [ecx + 0x28]
jae 0x442840
lea eax, [esi*4 + 4]
test eax, eax
jle 0x4431c7
push eax
call fcn.00425a30
mov edi, eax
add esp, 4
test edi, edi
je 0x4431c7
xor eax, eax
test esi, esi
jle 0x44288d
lea ecx, [ecx]
mov ecx, dword [ebx]
mov dword [edi + eax*4], ecx
inc eax
sub ebx, 0x40
cmp eax, esi
jl 0x442880
lea edx, [ebp - 0x84]
mov dword [edi + eax*4], 0
push edx
mov eax, esi
call fcn.0043eca0
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.0042e0b0
add esp, 8
test eax, eax
je 0x44290d
cmp byte [eax], 0
je 0x442904
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4428e6
sub eax, edx
mov dword [ebx + 0x14], eax
mov ecx, 0x62
mov word [ebx + 0x18], cx
mov dword [ebx + 0x1c], 0
jmp 0x442924
push eax
call fcn.0049b3dd
add esp, 4
mov dword [ebx + 0x10], 0x4d5de8
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.00431020
push edi
call fcn.0049b3dd
add esp, 4
jmp 0x442f04
mov eax, ebx
call fcn.004314c0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edi, dword [ebp - 0x90]
push eax
push ecx
add edi, 0x64
call fcn.0044c130
add esp, 8
sub ebx, 0x40
mov dword [ebp - 0x84], ebx
jmp case.0x43f05b.47
mov esi, dword [ebp - 0x9c]
test byte [esi + 8], 4
jne 0x44317a
mov esi, dword [ebp - 0x90]
add esi, 0x64
lea edx, [ebp - 0x180]
call fcn.0044c1e0
cmp eax, 0x65
jne 0x4429af
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.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.0x43f05b.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 0x442a09
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.00425af0
cmp dword [edi], 0
je 0x4431c7
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.0x43f05b.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.0044c230
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.0x43f05b.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.004317d0
mov ecx, dword [ebp - 0x88]
sub dword [ebp - 0x84], 0x40
add esp, 4
cmp dword [ecx + 8], 0
mov dword [ebp - 0x8c], eax
jne 0x442f04
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.0x43f05b.47
and eax, 0xfd3f
or eax, 0x100
mov word [ebx + 0x18], ax
jmp case.0x43f05b.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.004314c0
mov eax, ebx
call fcn.004314c0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
cmp dword [esi + 4], eax
jg case.0x43f05b.47
jl 0x442b6a
cmp dword [esi], ecx
jae case.0x43f05b.47
mov dword [esi], ecx
mov dword [esi + 4], eax
jmp case.0x43f05b.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.0x43f05b.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.0x43f05b.47
jg 0x442bc3
cmp dword [eax + ecx], 0
jbe case.0x43f05b.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.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.0x43f05b.47
jl 0x442c04
cmp dword [eax + ecx], 0
jae case.0x43f05b.47
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.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.0x43f05b.47
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xa0], eax
jmp case.0x43f05b.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.004315f0
jmp case.0x43f05b.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.00431670
add esp, 8
jmp case.0x43f05b.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.004317d0
add esp, 4
mov dword [ebp - 0x8c], eax
jmp 0x442f04
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 0x442d0a
lea esp, [esp]
mov ecx, ebx
mov dword [edi + edx*4], ebx
call fcn.0043ec70
inc edx
add ebx, 0x40
cmp edx, esi
jl 0x442cf0
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 0x442d4a
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.0043eca0
add esp, 4
cmp byte [ebp - 0x34], 0
je 0x442d99
push 0
push ecx
lea edx, [ebp - 0x78]
push edx
call fcn.00424ce0
add esp, 8
push eax
mov eax, ebx
add eax, 0x230
push eax
call fcn.00425c30
add esp, 0xc
mov dword [ebp - 0x8c], 1
lea ecx, [ebp - 0x78]
push ecx
call fcn.00431340
add esp, 4
jmp 0x442f04
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.004312a0
mov dword [ebp - 0x8c], eax
cmp eax, 1
jne 0x442f04
push 0
push ecx
push ebx
call fcn.00424ce0
add esp, 8
push eax
mov eax, dword [ebp - 0x90]
add eax, 0x230
push eax
call fcn.00425c30
add esp, 0xc
jmp 0x442f04
mov esi, dword [ebp - 0x9c]
mov eax, esi
call fcn.004265b0
test eax, eax
jne 0x442e38
mov ecx, dword [ebp - 0x90]
add ecx, 0x230
push esi
push ecx
call fcn.00457d50
mov dword [ebp - 0x8c], eax
add esp, 8
mov eax, esi
call fcn.00426580
test eax, eax
je case.0x43f05b.47
mov dword [ebp - 0x8c], 0x15
jmp 0x440ec0
mov edx, dword [ebp - 0x88]
cmp dword [edx + 4], 0
jne 0x442e63
mov eax, dword [ebp - 0x9c]
call fcn.004343e0
jmp case.0x43f05b.47
mov eax, dword [ebp - 0x90]
mov byte [eax + 0x238], 1
jmp case.0x43f05b.47
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 4]
test eax, eax
sets cl
test cl, cl
je 0x442e8e
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.00426b70
add esp, 4
test eax, eax
jne 0x442ed4
mov eax, dword [ebp - 0x10c]
mov ebx, esi
push eax
mov esi, edi
call fcn.00426c20
add esp, 4
mov dword [ebp - 0x8c], eax
cmp eax, 6
jne 0x442f04
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.00425c30
add esp, 0x10
mov ebx, dword [ebp - 0x84]
inc dword [ebp - 0xa0]
cmp dword [ebp - 0x8c], 0
jne 0x44321f
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
jmp 0x43efb0
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 0x442f77
push 0
push eax
lea edx, [esi + 0x230]
push edx
call fcn.00425c30
add esp, 0xc
mov eax, esi
call fcn.00433500
cmp eax, 5
jne 0x442f9a
mov dword [esi + 0x80], eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049b315
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.0049b315
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 0x443005
mov edi, edi
mov edx, 0x100
test word [esi + 0x18], dx
je 0x442ffe
call fcn.004310e0
test eax, eax
jne 0x4431c7
mov eax, dword [ebp - 0x10c]
add esi, 0x40
cmp esi, eax
jb 0x442fe0
mov eax, dword [edi + 0x60]
add eax, 2
or eax, 1
mov dword [edi + 0x60], eax
cmp esi, ebx
ja 0x44302a
mov eax, esi
call fcn.004311a0
mov ecx, esi
call fcn.0043ec70
add esi, 0x40
cmp esi, ebx
jbe 0x443015
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.0049b315
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x8c], 0x14
jmp 0x440ec0
cmp dword [edi + 8], 0
je 0x44309a
call fcn.004235b0
mov byte [esi + 0x10], 1
mov eax, 0x65
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049b315
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.00433500
cmp eax, 5
jne 0x443084
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.0049b315
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.0049b315
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.0049b315
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x8c], 0xb
jmp 0x440ec0
mov dword [ebp - 0x8c], 0xd
jmp 0x440ec0
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 0x4431b4
call fcn.00423630
add edx, 0x230
jmp 0x44320a
mov eax, str.unknown_error
add edx, 0x230
jmp 0x44320a
mov ebx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x90]
push 0
add ecx, 0x230
push str.out_of_memory
push ecx
call fcn.00425c30
add esp, 0xc
mov dword [ebp - 0x8c], 7
jmp 0x44321f
cmp dword [ebp - 0x8c], 0x65
ja 0x443205
mov eax, dword [ebp - 0x8c]
call fcn.00423630
jmp 0x44320a
mov eax, str.unknown_error
push 0
push eax
push edx
call fcn.00425c30
add esp, 0xc
cmp dword [ebp - 0x8c], 0
je 0x443238
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x90]
mov dword [edi + 0x80], edx
mov esi, 1
jmp 0x443243
mov edi, dword [ebp - 0x90]
mov esi, 0x65
mov eax, edi
call fcn.00433500
mov ecx, dword [ebp - 4]
mov dword [edi + 0x2c], ebx
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049b315
mov esp, ebp
pop ebp
ret