Function at 0x7ff06c
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5cc
mov dword [ebp - 0x59c], eax
mov edx, dword [ebp - 0x59c]
mov eax, 0x15
cmp dword [edx + 0x44], 0xbdf20da3
jne 0x7ff171
mov ecx, dword [edx]
mov eax, 4
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x56c], ecx
cmp byte [edx + 0xfe], 0
jne 0x7ff171
mov eax, dword [edx + 0x70]
test eax, eax
jle 0x7ff5fc
test eax, eax
js 0x7ff621
mov esi, dword [ebp - 0x59c]
cmp byte [esi + 0xfc], 0
je 0x7ff17c
mov ebx, dword [esi + 0x4c]
mov eax, 0x15
add ebx, 0x48
cmp dword [esi + 0x44], 0xbdf20da3
mov dword [esi + 0xf8], ebx
mov dword [ebp - 0x360], ebx
je 0x7ff4f4
mov ebx, eax
cmp ebx, 0x64
je 0x7ff12c
mov edi, dword [ebp - 0x35c]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x7ff12c
cmp byte [edi + 0x50], 0
je 0x7ff3ff
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 4], ebx
xor edx, edx
mov dword [esp + 8], edx
mov edi, dword [ebp - 0x59c]
mov eax, dword [edi]
mov dword [esp], eax
call fcn.007d20bc
mov edx, dword [edi + 0x74]
mov eax, dword [edi]
call fcn.007d216c
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 0x59c]
mov eax, dword [eax + 0x148]
test eax, eax
je 0x7ff16f
movzx eax, bl
cmp eax, 0x63
jle 0x7ff4c3
mov eax, ebx
add esp, 0x5cc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x56c]
xor eax, eax
mov esi, dword [ebp - 0x59c]
mov dword [ebp - 0x388], eax
mov eax, dword [ebx + 8]
add esi, 0x114
mov eax, dword [eax + 0x14]
movzx eax, byte [eax + 0x59]
mov dword [ebp - 0x550], esi
mov byte [ebp - 0x389], al
xor eax, eax
mov dword [ebp - 0x3a0], eax
mov eax, esi
call fcn.007c9dec
mov edi, dword [ebp - 0x59c]
cmp dword [edi + 0x74], 7
je 0x802c43
mov dword [edi + 0x74], 0
xor eax, eax
mov dword [edi + 0xf8], eax
mov esi, dword [ebx + 0xa8]
xor eax, eax
mov dword [ebx + 0x114], eax
test esi, esi
jne 0x802c54
mov eax, dword [edi + 0x70]
mov dword [ebp - 0x380], eax
lea esi, [esi]
mov edx, dword [ebp - 0x56c]
cmp byte [edx + 0x1e], 0
jne 0x803e59
mov ebx, dword [ebp - 0x59c]
mov esi, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x380]
mov eax, dword [ebx + 0x14]
mov ebx, dword [esi + 0xb8]
lea edx, [ecx + ecx*4]
lea edx, [eax + edx*4]
test ebx, ebx
mov dword [ebp - 0x384], edx
je 0x7ff24f
mov edi, dword [ebp - 0x3a0]
cmp dword [esi + 0xc0], edi
je 0x7ff671
inc dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x384]
movzx eax, byte [eax]
mov byte [ebp - 0x56d], al
movzx eax, al
movzx ecx, byte [eax + 0x9ab4c0]
test cl, 2
jne 0x7ff37c
test cl, 4
je 0x7ff32c
mov edx, dword [ebp - 0x384]
test cl, 8
mov esi, dword [ebp - 0x59c]
mov ebx, dword [edx + 4]
lea eax, [ebx + ebx*8]
mov ebx, dword [esi + 0x4c]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x390], eax
je 0x7ff3dc
mov eax, dword [edx + 8]
test cl, 0x20
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x394], eax
je 0x7ff35c
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x39c], eax
movzx eax, byte [ebp - 0x56d]
cmp eax, 0x8e
jbe switch.0x007ff36e
nop
inc dword [ebp - 0x380]
mov ebx, dword [ebp - 0x388]
test ebx, ebx
je 0x7ff1fc
mov esi, dword [ebp - 0x388]
mov ecx, 1
mov ebx, dword [ebp - 0x59c]
mov dword [ebp - 0x388], ecx
mov eax, ebx
mov dword [ebx + 0x74], esi
call fcn.007e318c
mov eax, dword [ebp - 0x550]
call fcn.007c9e4c
mov ebx, dword [ebp - 0x388]
jmp 0x7ff102
test cl, 8
je 0x7ff3bc
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edx + 8]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x394], eax
mov esi, esi
lea edi, [edi]
movzx eax, byte [ebp - 0x56d]
cmp eax, 0x8e
ja case.0x7ff36e.0
jmp dword [eax*4 + 0x9e129c]
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edx + 8]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x39c], eax
call fcn.007d1c6c
mov ebx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x384]
mov word [ebx + 0x1c], 1
movzx eax, byte [eax]
mov byte [ebp - 0x56d], al
jmp 0x7ff35c
test cl, 0x10
je 0x7ff35c
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
jmp 0x7ff3f4
test cl, 0x10
je 0x7ff35c
mov edi, dword [ebp - 0x384]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x398], eax
jmp 0x7ff35c
mov eax, dword [ebp - 0x59c]
mov esi, dword [eax + 0xc]
test esi, esi
jle 0x7ff12c
mov eax, dword [eax + 0x14]
cmp byte [eax], 0x13
jne 0x7ff12c
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x7ff12c
mov eax, dword [edi]
lea edx, [ebp - 0x348]
call fcn.007c14bc
fnstcw word [ebp - 0x34a]
movzx eax, word [ebp - 0x34a]
fld qword [ebp - 0x348]
or ax, 0xc00
mov word [ebp - 0x34c], ax
fldcw word [ebp - 0x34c]
fist dword [ebp - 0x350]
fldcw word [ebp - 0x34a]
mov eax, dword [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x59c]
fild dword [esp]
add esp, 4
fsubp st(1)
fild qword [ecx + 0x108]
fxch st(1)
fmul dword [0x9e1290]
fmul dword [0x9e1294]
fmul dword [0x9e1298]
fsubrp st(1)
fstp qword [esp]
call fcn.008105a4
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov esi, dword [ebp - 0x59c]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x70]
mov dword [esp], eax
call dword [edi + 0x6c]
jmp 0x7ff12c
xor eax, eax
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x59c]
mov eax, dword [edx + 0x74]
mov dword [esp + 4], eax
mov eax, dword [edx]
mov dword [esp], eax
call fcn.007d20bc
mov ecx, dword [ebp - 0x59c]
mov eax, dword [ecx + 0x74]
add esp, 0x5cc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esi + 0x48]
mov eax, ebx
call fcn.007d4bfc
mov edi, dword [ebp - 0x59c]
mov esi, dword [edi + 0xc]
nop
lea esi, [esi]
mov eax, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x59c]
mov ecx, dword [eax + 0x70]
lea eax, [ecx + 1]
cmp esi, ecx
mov dword [edx + 0x70], eax
jle 0x802bac
movzx eax, byte [edx + 0xfc]
cmp al, 2
mov byte [ebp - 0x361], al
jne 0x7ff546
mov edx, dword [edx + 0x14]
lea eax, [ecx + ecx*4]
cmp byte [edx + eax*4], 0x6d
jne 0x7ff50c
mov edx, dword [ebp - 0x56c]
mov esi, dword [edx + 0xa8]
test esi, esi
jne 0x802c7b
cmp byte [ebp - 0x361], 1
lea edx, [ecx + ecx*4]
mov esi, dword [ebp - 0x59c]
mov eax, dword [esi + 0x14]
lea esi, [eax + edx*4]
je 0x803050
mov eax, dword [esi + 4]
mov ebx, dword [ebp - 0x360]
mov edi, eax
mov dword [ebx], eax
sar edi, 0x1f
mov dword [ebx + 4], edi
mov byte [ebx + 0x1e], 1
mov eax, dword [esi + 8]
mov word [ebx + 0x1c], 4
add ebx, 0x48
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov byte [ebx + 0x1e], 1
mov ecx, dword [ebp - 0x59c]
mov word [ebx + 0x1c], 4
add ebx, 0x48
mov dword [ebp - 0x360], ebx
cmp byte [ecx + 0xfc], 1
je 0x8030b0
mov eax, dword [ebp - 0x360]
mov word [eax + 0x1c], 0x122
add eax, 0x24
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x36c], eax
movsx eax, byte [esi + 1]
add eax, 0xe
cmp eax, 0xa
ja case.0x7ff5f0.11
jmp dword [eax*4 + 0x9e14d8]
cmp byte [edx + 0xff], 0
je 0x7ff0c1
mov ecx, dword [edx + 0x74]
test ecx, ecx
jne 0x7ff617
mov dword [edx + 0x74], 0x11
mov ebx, 1
jmp 0x7ff153
mov ebx, dword [ebp - 0x35c]
mov eax, dword [ebx + 0x60]
test eax, eax
jne 0x7ff636
xor edx, edx
mov dword [ebx + 0xa8], edx
mov esi, dword [ebp - 0x35c]
mov edi, dword [esi + 0x6c]
test edi, edi
je 0x7ff64d
cmp byte [esi + 0x50], 0
je 0x802bc5
mov ecx, dword [ebp - 0x59c]
inc eax
mov edx, dword [ebp - 0x35c]
mov ebx, dword [ecx]
mov dword [edx + 0x60], eax
mov dword [ecx + 0x70], 0
mov dword [ebp - 0x56c], ebx
jmp 0x7ff0c9
mov eax, dword [esi + 0xbc]
mov dword [esp], eax
call dword [esi + 0xb8]
test eax, eax
jne 0x8051e7
xor ecx, ecx
mov dword [ebp - 0x3a0], ecx
jmp 0x7ff249
mov edi, dword [ebp - 0x384]
xor ecx, ecx
lea eax, [ebp - 0x330]
mov dword [ebp - 0x330], ecx
mov ebx, dword [edi + 0x10]
mov esi, dword [ebx]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [esi + 0x18]
mov dword [ebp - 0x388], eax
test eax, eax
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x330]
mov edx, dword [edi + 4]
mov dword [eax], ebx
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x59c]
call fcn.007d6f6c
test eax, eax
mov edx, eax
je 0x8051ac
mov eax, dword [ebp - 0x330]
mov dword [edx + 0x60], eax
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [edx + 0x64], eax
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov edx, dword [ebp - 0x59c]
mov ebx, dword [eax + 4]
mov eax, dword [edx + 0x30]
mov edx, dword [eax + ebx*4]
mov eax, dword [ebp - 0x59c]
call fcn.007d4ffc
mov ecx, dword [ebp - 0x59c]
mov eax, dword [ecx + 0x30]
mov dword [eax + ebx*4], 0
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edi + 0x10]
mov edx, dword [ecx + 0x4c]
mov ebx, dword [edi + 4]
lea eax, [eax + eax*8]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0x398]
call fcn.007d2a0c
mov edx, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ebp - 0x468], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x464], edx
mov ebx, dword [eax + ebx*4]
mov dword [ebp - 0x45c], ebx
mov ebx, dword [ebx]
test ebx, ebx
mov dword [ebp - 0x460], ebx
je case.0x7ff36e.0
mov edi, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
lea esi, [ebp - 0x2b8]
mov dword [ebp - 0x46c], edi
mov eax, edi
call fcn.007d5b6c
sub ebx, eax
mov eax, dword [ebp - 0x45c]
mov edx, ebx
sar edx, 0x1f
mov dword [eax + 0x68], 0
xor eax, eax
mov dword [esp + 4], edx
mov edx, edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x460]
call fcn.007cd34c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov eax, dword [ebp - 0x2b8]
test eax, eax
js 0x8048dc
mov dword [esp + 4], esi
mov edx, ebx
mov esi, dword [ebp - 0x46c]
mov dword [esp], esi
mov eax, dword [ebp - 0x45c]
call fcn.007d5cac
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov eax, dword [ebp - 0x2b8]
test eax, eax
jle 0x804ed7
mov edi, dword [ebp - 0x384]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x380], eax
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x39c]
mov esi, dword [ebp - 0x384]
mov word [ebx + 0x1c], 4
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov ebx, dword [ebp - 0x380]
mov eax, dword [edx + 4]
mov dword [ecx + 0x70], ebx
mov dword [ecx + 0x74], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x7c], eax
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x803e15
mov eax, dword [ebp - 0x59c]
call fcn.007e318c
mov dword [ebp - 0x388], eax
cmp eax, 5
je 0x803e8b
mov esi, dword [ebp - 0x59c]
mov eax, 0x65
mov dword [ebp - 0x388], eax
mov eax, dword [esi + 0x74]
test eax, eax
je 0x7ff311
mov eax, 1
mov dword [ebp - 0x388], eax
jmp 0x7ff311
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x59c]
mov edx, dword [esi + 4]
mov eax, dword [edi + 0x30]
mov ebx, dword [eax + edx*4]
mov eax, ebx
call fcn.007d544c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
cmp byte [ebx + 0x19], 0
je 0x80337f
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
mov ecx, dword [ebp - 0x39c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov word [ecx + 0x1c], 4
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov edi, dword [eax + 4]
test edi, edi
jne 0x803a03
mov ebx, dword [ebp - 0x59c]
xor esi, esi
mov dword [ebx + 0x104], esi
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x30]
mov ebx, dword [eax + edx*4]
mov esi, dword [ebx]
test esi, esi
je case.0x7ff36e.0
mov edi, dword [ebp - 0x398]
lea eax, [ebp - 0x2c4]
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp], edx
xor edx, edx
mov dword [esp + 4], ecx
call fcn.007cd34c
mov dword [ebp - 0x388], eax
mov edi, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x398]
test edi, edi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sete byte [ebx + 0x19]
mov byte [ebx + 0x1c], 0
mov esi, dword [ebp - 0x2c4]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
test esi, esi
mov dword [ebx + 0x68], 0
je case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x380], esi
jmp case.0x7ff36e.0
xor edi, edi
mov edx, dword [ebp - 0x56c]
mov esi, dword [ebp - 0x59c]
mov dword [ebp - 0x4f0], edi
mov edi, dword [ebp - 0x56c]
add esi, 0xf4
mov edi, dword [edi + 0xc]
mov eax, edi
or eax, 0x2800
mov dword [ebp - 0x4ec], edi
cmp byte [edx + 0x1c], 0
mov dword [edx + 0xc], eax
je 0x803c93
mov ecx, dword [ebp - 0x56c]
mov edx, str.ATTACH__AS_vacuum_db_
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4e4], eax
mov eax, ecx
call fcn.007fef6c
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov ebx, dword [ebp - 0x56c]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
lea eax, [eax + eax*2]
lea eax, [edx + eax*8 - 0x18]
mov esi, dword [eax + 4]
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e8], esi
call fcn.007c9b4c
mov edi, dword [ebp - 0x4e4]
mov eax, dword [edi + 4]
movzx ebx, word [eax + 0x1c]
movzx eax, word [eax + 0x1e]
sub ebx, eax
mov eax, edi
call fcn.007c9c2c
mov eax, edi
call fcn.007cae7c
mov dword [esp], ebx
mov edx, eax
mov eax, esi
call fcn.007caddc
mov eax, dword [ebp - 0x56c]
mov ebx, 7
cmp byte [eax + 0x1e], 0
jne 0x7ffcce
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
call fcn.007fef6c
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov edx, dword [ebp - 0x56c]
movzx eax, byte [edx + 0x1f]
test al, al
movsx edx, al
js 0x805208
mov eax, dword [ebp - 0x4e8]
call fcn.007cae8c
mov eax, dword [ebp - 0x56c]
mov edx, str.BEGIN_EXCLUSIVE_
call fcn.007fef6c
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
call fcn.007fefdc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
call fcn.007fefdc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
call fcn.007fefdc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
call fcn.007fefdc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
call fcn.007fefdc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
call fcn.007fefdc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x56c]
mov edx, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
call fcn.007fef6c
test eax, eax
mov ebx, eax
jne 0x7ffcce
xor esi, esi
movzx ecx, byte [esi + 0x9e0be0]
lea ebx, [ebp - 0x320]
mov edx, ecx
mov dword [ebp - 0x4f4], ecx
mov dword [esp], ebx
mov eax, dword [ebp - 0x4e4]
call fcn.007d089c
test eax, eax
mov ebx, eax
jne 0x7ffcce
movzx eax, byte [esi + 0x9e0be1]
mov edx, dword [ebp - 0x320]
add eax, edx
mov dword [esp], eax
mov edx, dword [ebp - 0x4f4]
mov eax, dword [ebp - 0x4e8]
call fcn.007d095c
test eax, eax
mov ebx, eax
jne 0x7ffcce
add esi, 2
cmp esi, 7
jbe 0x7ffbd3
mov eax, dword [ebp - 0x4e4]
xor esi, esi
call fcn.007c9b4c
mov eax, dword [ebp - 0x4e8]
call fcn.007c9b4c
mov eax, dword [ebp - 0x4e8]
mov edx, dword [ebp - 0x4e4]
mov edi, dword [ebp - 0x4e4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x4e8]
mov edi, dword [edi + 4]
mov dword [ebp - 0x50c], eax
mov eax, dword [edx]
mov ebx, dword [ebp - 0x50c]
mov dword [ebp - 0x508], edi
mov dword [edi + 4], eax
mov eax, dword [ecx]
mov dword [ebx + 4], eax
cmp byte [edx + 8], 2
je 0x8053e8
mov ebx, 1
mov eax, dword [ebp - 0x4e8]
call fcn.007c9c2c
mov eax, dword [ebp - 0x4e4]
call fcn.007c9c2c
test ebx, ebx
jne 0x7ffcce
mov eax, dword [ebp - 0x4e8]
call fcn.007cc7bc
test eax, eax
mov ebx, eax
jne 0x7ffcce
mov eax, dword [ebp - 0x4e4]
call fcn.007cc7bc
mov ebx, eax
mov esi, dword [ebp - 0x56c]
mov edi, dword [ebp - 0x4ec]
mov byte [esi + 0x1c], 1
mov eax, dword [ebp - 0x4f0]
mov dword [esi + 0xc], edi
test eax, eax
je 0x7ffd0d
mov edx, dword [ebp - 0x4f0]
mov eax, dword [edx + 4]
call fcn.007cda1c
mov ecx, dword [ebp - 0x4f0]
mov dword [ecx + 4], 0
mov dword [ecx + 0x14], 0
mov eax, dword [ebp - 0x56c]
xor edx, edx
call fcn.007e218c
mov dword [ebp - 0x388], ebx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
test byte [ebx + 0x1c], 1
je 0x80390a
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 0xc]
test eax, eax
je case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0x390]
test byte [edi + 0x1c], 1
jne 0x8038f5
dec eax
add edi, 0x48
test eax, eax
mov dword [ebp - 0x390], edi
jg 0x7ffd64
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
test byte [eax + 0x1c], 1
jne case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x380], ecx
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
call fcn.007d2a0c
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x390]
mov eax, dword [ecx + 8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x56c]
cmp byte [esi + 0x1c], 0
je 0x7ffde7
cmp dword [esi + 0x60], 1
jle case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x56c]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0x440], eax
mov esi, dword [eax + 4]
test esi, esi
je 0x7ffe17
cmp byte [esi + 0x10], 0
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x440]
call fcn.007c9b4c
mov ebx, dword [ebp - 0x440]
mov eax, dword [ebx]
mov dword [esi + 4], eax
cmp byte [ebx + 8], 2
je 0x8048bd
movzx eax, byte [esi + 0x11]
cmp al, 1
sbb ebx, ebx
and ebx, 0xfffffff9
add ebx, 8
mov eax, dword [ebp - 0x440]
mov edi, 1
call fcn.007c9c2c
mov dword [ebp - 0x388], ebx
mov esi, dword [ebp - 0x59c]
mov dword [esi + 0x14c], edi
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x59c]
mov edx, dword [esi + 4]
mov eax, dword [edi + 0x30]
mov ebx, dword [eax + edx*4]
mov eax, ebx
mov esi, dword [ebx]
call fcn.007d544c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
cmp byte [ebx + 0x21], 0
je 0x8033db
lea edx, [ebp - 0x2d8]
mov eax, esi
call fcn.007cd75c
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d8]
test edx, edx
jl 0x7ffed0
jg 0x8005ca
cmp eax, 0x3b9aca00
ja 0x8005ca
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2dc], eax
mov edx, dword [ebp - 0x39c]
cmp eax, 0x20
mov dword [edx + 0x18], eax
ja 0x803a1f
mov word [edx + 0x1c], 0x210
mov eax, edx
add eax, 0x24
mov dword [edx + 0x14], eax
cmp byte [ebx + 0x21], 0
je 0x803305
mov dword [esp + 4], eax
xor edx, edx
mov eax, dword [ebp - 0x2dc]
mov dword [esp], eax
mov eax, esi
call fcn.007cd7fc
mov dword [ebp - 0x388], eax
mov ebx, dword [ebp - 0x39c]
mov byte [ebx + 0x1f], 1
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x56c]
mov eax, dword [esi + 4]
mov edx, dword [edi + 8]
xor edi, edi
mov ebx, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov esi, dword [edx + eax*8 + 0x14]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], edi
inc eax
add esi, 0x18
mov dword [esp], eax
mov edx, ebx
mov eax, esi
call fcn.007c522c
test eax, eax
mov ecx, eax
je 0x7fffa0
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 0x10]
cmp eax, ecx
je 0x8045f9
test eax, eax
mov edx, eax
je 0x7fff99
mov eax, dword [eax + 0x20]
cmp eax, ecx
jne 0x7fff7f
test edx, edx
je 0x7fff99
cmp dword [edx + 0x20], ecx
je 0x8050c9
mov eax, ecx
call fcn.007da95c
mov eax, dword [ebp - 0x56c]
or dword [eax + 0xc], 0x10
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x30]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx]
test eax, eax
je case.0x7ff36e.0
mov esi, dword [ebp - 0x398]
test byte [esi + 0x1d], 8
jne 0x804aec
mov edi, dword [ebp - 0x384]
mov edx, dword [ebx + 0x48]
movzx eax, byte [edi + 3]
mov byte [edx], al
mov eax, dword [ebp - 0x398]
mov edx, dword [eax + 0x18]
lea eax, [ebp - 0x304]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x398]
mov eax, dword [ecx + 0x14]
mov dword [esp], eax
mov eax, ebx
call fcn.007d5cac
mov dword [ebp - 0x388], eax
mov eax, dword [ebx + 0x48]
mov byte [eax], 0
mov eax, dword [ebp - 0x388]
test eax, eax
jne case.0x7ff36e.0
cmp byte [edi], 0x27
je 0x804d67
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
test eax, eax
jle case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x380], esi
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
xor edx, edx
mov edi, dword [ebp - 0x56c]
cmp byte [ebp - 0x56d], 0x31
mov ecx, dword [esi + 4]
mov ebx, dword [edi + 8]
lea ecx, [ecx + ecx*2]
sete dl
mov eax, dword [ebx + ecx*8 + 4]
lea edx, [edx + edx*2 + 2]
mov dword [esp], edx
lea edx, [ebp - 0x318]
call fcn.007d09ec
mov dword [ebp - 0x388], eax
test eax, eax
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x318]
mov edx, dword [ebp - 0x39c]
mov ecx, eax
mov dword [edx], eax
sar ecx, 0x1f
mov dword [edx + 4], ecx
mov word [edx + 0x1c], 4
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x384]
mov eax, dword [ecx + 0x30]
mov edx, dword [edi + 4]
mov ebx, dword [eax + edx*4]
lea edx, [ebp - 0x2ec]
mov eax, dword [ebx]
call fcn.007cdf2c
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x2ec]
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x68], 0
mov byte [ebx + 0x1c], al
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
je case.0x7ff36e.0
mov eax, dword [edi + 8]
test eax, eax
jle case.0x7ff36e.0
dec eax
mov dword [ebp - 0x380], eax
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x390]
mov ebx, dword [ebp - 0x398]
movzx eax, word [ecx + 0x1c]
movzx edx, word [ebx + 0x1c]
or eax, edx
test al, 1
je 0x8001b7
mov esi, dword [ebp - 0x384]
movzx eax, byte [esi + 3]
movzx edx, al
test dl, 0x10
je 0x80431d
mov edx, 4
lea edi, [ebp - 0xc8]
mov word [ebp - 0xac], dx
xor edx, edx
movzx eax, word [ecx + 0x1c]
mov dword [ebp - 0xc4], edx
xor edx, edx
mov dword [ebp - 0x390], edi
xor eax, 1
and eax, 1
mov dword [ebp - 0xc8], eax
mov eax, 4
mov word [ebp - 0xfc], ax
movzx eax, word [ebx + 0x1c]
mov dword [ebp - 0x114], edx
xor eax, 1
and eax, 1
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x398], eax
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx + 3]
and al, 0x67
jne 0x8043a5
mov ecx, dword [ebp - 0x390]
test byte [ecx + 0x1d], 8
jne 0x804399
mov ebx, dword [ebp - 0x398]
test byte [ebx + 0x1d], 8
jne 0x80441c
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 0x10]
mov dword [esp], eax
mov edx, dword [ebp - 0x390]
mov eax, dword [ebp - 0x398]
call fcn.007d3fec
mov ebx, eax
movzx eax, byte [esi]
sub eax, 0x43
cmp eax, 4
ja case.default.0x800217
jmp dword [eax*4 + 0x9e1504]
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x1c], 0
jne case.0x7ff36e.0
mov eax, dword [ecx + 0x60]
mov eax, dword [eax]
mov edx, dword [eax]
lea eax, [ebp - 0x338]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
call dword [edx + 0x30]
mov edi, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x334]
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x338]
mov word [edi + 0x1c], 4
mov dword [edi + 4], edx
mov dword [edi], eax
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x59c]
mov ebx, dword [eax + 0x64]
cmp dword [edx + 0x68], ebx
lea eax, [ebx + 1]
mov dword [edx + 0x64], eax
jle 0x80397a
mov edi, dword [ebp - 0x59c]
mov eax, dword [edi + 0x6c]
lea ecx, [ebx + ebx*2]
mov ebx, dword [ebp - 0x56c]
lea ecx, [eax + ecx*8]
mov esi, dword [ebp - 0x59c]
mov eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
mov dword [ecx], eax
mov eax, dword [esi + 0x104]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x58]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x5c]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x60]
mov dword [ecx + 0x14], eax
mov eax, esi
add eax, 0x58
call fcn.007d1b7c
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov esi, dword [edx + 0x10]
mov ebx, dword [edx + 4]
mov dword [esp], esi
lea ebx, [ebx + ebx*2]
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp - 0x56c]
mov edx, eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov eax, dword [eax + ebx*8 + 0x14]
mov dword [esp], edx
mov edx, esi
add eax, 0x2c
mov dword [esp + 4], ecx
call fcn.007c522c
test eax, eax
mov ebx, eax
je case.0x7ff36e.0
call fcn.007e272c
mov edx, eax
mov eax, dword [eax + 0x20]
cmp eax, ebx
je 0x804b6b
test eax, eax
mov edx, eax
je 0x800355
mov eax, dword [eax + 0x28]
cmp eax, ebx
jne 0x800342
mov eax, dword [ebx + 0x28]
mov dword [edx + 0x28], eax
mov eax, ebx
call fcn.007e204c
mov ebx, dword [ebp - 0x56c]
or dword [ebx + 0xc], 0x10
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov eax, dword [ebp - 0x56c]
mov ecx, dword [edi + 8]
cmp dword [eax + 0x60], 1
movzx ebx, byte [edi + 4]
mov byte [ebp - 0x441], cl
setg al
xor edx, edx
test bl, bl
setne dl
test eax, edx
je 0x8030d5
mov edx, dword [ebp - 0x56c]
movzx eax, byte [edx + 0x1c]
test al, al
jne 0x8030df
xor ebx, ebx
mov edx, str._transaction___SQL_statements_in_progress
test cl, cl
mov dword [esp + 0x10], ebx
mov eax, str.rollback
mov dword [esp + 0xc], edx
jne 0x8003c9
mov eax, str.commit
mov dword [esp + 8], eax
mov eax, str.cannot
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
mov eax, 1
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x390]
test byte [edi + 0x1c], 1
jne case.0x7ff36e.0
mov eax, edi
call fcn.007d2a0c
mov eax, dword [edi + 4]
or eax, dword [edi]
mov dword [edi + 4], 0
sete cl
movzx eax, cl
mov dword [edi], eax
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x10]
test eax, eax
je case.0x7ff36e.0
mov ecx, dword [ebp - 0x56c]
mov esi, dword [ecx + 0x64]
test esi, esi
je case.0x7ff36e.0
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x68]
mov dword [esp], eax
call dword [ecx + 0x64]
jmp case.0x7ff36e.0
movzx eax, byte [ebp - 0x389]
mov edx, 0x63
mov dword [esp], eax
mov eax, dword [ebp - 0x390]
call fcn.007d703c
mov ebx, dword [ebp - 0x390]
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x8032bd
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 8]
test eax, eax
je 0x8052ee
dec eax
mov dword [ebp - 0x380], eax
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
call fcn.007d2a0c
mov eax, dword [ebp - 0x394]
call fcn.007d2a0c
mov esi, dword [ebp - 0x390]
mov edi, dword [ebp - 0x394]
mov ebx, dword [esi + 4]
mov edx, dword [edi + 4]
mov ecx, dword [esi]
mov eax, dword [edi]
cmp ebx, edx
jg case.0x7ff36e.0
jl 0x8004e5
cmp ecx, eax
jae case.0x7ff36e.0
mov ecx, dword [ebp - 0x390]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov esi, dword [ecx + 0x10]
mov byte [ecx], 0x1a
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp byte [ebp - 0x389], 1
mov ebx, eax
mov edi, dword [ebp - 0x384]
mov dword [edi + 4], eax
je 0x803703
mov dword [esp], 0xffffffff
xor eax, eax
mov edx, esi
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x39c]
call fcn.007d1e1c
movzx edx, byte [ebp - 0x389]
mov eax, dword [ebp - 0x39c]
call fcn.007d22bc
test eax, eax
jne 0x8021c8
mov edx, dword [ebp - 0x39c]
movzx eax, word [edx + 0x1c]
test ah, 8
jne 0x8048a7
test eax, 0x380
jne 0x80483a
mov ebx, dword [ebp - 0x39c]
mov esi, dword [ebp - 0x384]
movzx eax, word [ebx + 0x1c]
and eax, 0xffffffbf
or eax, 0x80
mov word [ebx + 0x1c], ax
cmp byte [esi + 1], 0xff
je 0x804d13
mov edi, dword [ebp - 0x384]
mov byte [edi + 1], 0xff
mov edx, dword [ebp - 0x39c]
mov eax, dword [edx + 0x14]
mov dword [edi + 0x10], eax
mov ebx, dword [edx + 0x18]
cmp ebx, 0x3b9aca00
mov dword [edi + 4], ebx
jle case.0x7ff36e.0
xor edx, edx
mov eax, str.string_or_blob_too_big
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x59c]
add eax, 0xf4
mov dword [esp], eax
call fcn.007c2bfc
mov eax, 0x12
mov dword [ebp - 0x388], eax
jmp 0x7ff2f0
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x59c]
mov eax, dword [ecx + 4]
mov edx, dword [ebx + 0x4c]
lea eax, [eax + eax*8]
lea ebx, [edx + eax*8]
mov edx, dword [ecx + 0x10]
mov eax, ebx
call fcn.007d1bcc
mov dword [ebp - 0x388], eax
dec eax
je 0x804a2d
mov eax, ebx
call fcn.007d2bdc
test eax, eax
je case.0x7ff36e.0
jmp 0x8005ca
mov edi, dword [ebp - 0x56c]
mov edx, dword [edi + 0xa8]
test edx, edx
jne 0x802c54
mov eax, dword [ebp - 0x384]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov edx, dword [esi + 4]
mov ecx, edx
shr ecx, 0x1f
test cl, cl
je 0x800679
not edx
mov edi, dword [ebp - 0x56c]
lea edx, [edx + edx*2]
cmp cl, 1
sbb ebx, ebx
add bl, 2
mov eax, dword [edi + 8]
movzx ebx, bl
mov edx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x51c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x520], eax
mov eax, edx
call fcn.007c9b4c
mov dword [esp], ebx
mov edx, dword [ebp - 0x520]
mov eax, dword [ebp - 0x51c]
call fcn.007c9ebc
test eax, eax
mov esi, eax
je 0x803d59
mov eax, dword [ebp - 0x51c]
call fcn.007c9c2c
mov dword [ebp - 0x388], esi
cmp esi, 6
jne case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov edi, str.database_table_is_locked:
mov eax, dword [edx + 0x10]
mov dword [esp + 4], edi
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x56c]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
jne 0x802c54
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x59c]
mov eax, dword [esi + 4]
mov edx, dword [edi + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
test byte [eax + 0x1c], 0x40
mov dword [ebp - 0x39c], eax
jne 0x8039bc
mov edx, dword [ebp - 0x59c]
mov ebx, dword [ebp - 0x59c]
mov eax, dword [ebp - 0x39c]
mov edx, dword [edx + 0x58]
add ebx, 0x58
mov word [eax + 0x1c], 4
test edx, edx
jne 0x803326
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ecx + 8]
dec ebx
mov dword [ebp - 0x380], ebx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x30]
mov esi, dword [eax + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je case.0x7ff36e.0
mov edi, dword [ebp - 0x394]
lea eax, [ebp - 0x2f4]
mov edx, dword [edi + 0x14]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov ecx, eax
mov dword [esp], eax
sar ecx, 0x1f
mov eax, ebx
mov dword [esp + 4], ecx
call fcn.007cd34c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x8007fa
mov eax, dword [ebp - 0x2f4]
test eax, eax
je 0x804b92
mov dword [esi + 0x68], 0
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x390]
mov ebx, 2
test byte [ecx + 0x1c], 1
je 0x803a68
mov esi, dword [ebp - 0x394]
mov edx, 2
test byte [esi + 0x1c], 1
je 0x803a54
mov edi, dword [ebp - 0x384]
cmp byte [edi], 0x3d
je 0x803e7b
lea eax, [ebx + ebx*2]
movzx ebx, byte [eax + edx + 0x9e0bd1]
mov eax, dword [ebp - 0x39c]
test byte [eax + 0x1c], 0x40
jne 0x803a4a
cmp ebx, 2
je 0x803e6a
mov ecx, dword [ebp - 0x39c]
mov esi, ebx
sar esi, 0x1f
mov dword [ecx], ebx
mov dword [ecx + 4], esi
mov word [ecx + 0x1c], 4
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x384]
mov eax, dword [ecx + 0x30]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x5c]
mov eax, ecx
add eax, 1
mov dword [esi + 0x58], eax
mov edx, ebx
adc edx, 0
mov dword [esi + 0x5c], edx
mov esi, dword [ebp - 0x39c]
mov dword [esi], ecx
mov dword [esi + 4], ebx
mov word [esi + 0x1c], 4
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x30]
mov eax, dword [edx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x384]
mov word [edi + 0x1c], 8
mov eax, dword [edx + 0x10]
fld qword [eax]
fstp qword [edi + 8]
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x390]
movzx edx, word [ecx + 0x1c]
movzx eax, dx
test al, 1
jne case.0x7ff36e.0
and eax, 0x10
sar eax, 3
or eax, edx
mov word [ecx + 0x1c], ax
movzx eax, byte [ebp - 0x389]
mov edx, 0x61
mov dword [esp], eax
mov eax, ecx
call fcn.007d703c
mov ebx, dword [ebp - 0x390]
xor ecx, ecx
mov dword [ebp - 0x388], ecx
movzx ebx, word [ebx + 0x1c]
test bh, 8
mov word [ebp - 0x568], bx
jne 0x804d40
mov eax, dword [ebp - 0x568]
mov edi, dword [ebp - 0x390]
and eax, 0xffffffe3
mov word [edi + 0x1c], ax
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
movzx eax, word [eax + 0x1c]
mov word [ebp - 0x568], ax
movzx eax, ax
test al, 1
jne case.0x7ff36e.0
test al, 0x10
je 0x804af8
mov eax, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x390]
and eax, 0xfffffff1
mov word [ecx + 0x1c], ax
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x56c]
mov eax, dword [eax + 4]
mov ebx, dword [edx + 0xc]
mov esi, dword [edx + 8]
mov dword [ebp - 0x448], eax
mov eax, dword [ecx + 8]
lea edx, [ebx + ebx*2]
xor ecx, ecx
cmp byte [ebp - 0x56d], 8
lea eax, [eax + edx*8]
mov edi, dword [eax + 4]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x450], edi
je 0x803ef6
mov ecx, dword [ebp - 0x384]
cmp byte [ecx + 3], 0
jne 0x803dd1
mov dword [esp], ebx
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x59c]
call fcn.007d6f6c
test eax, eax
mov ebx, eax
je 0x8021c8
mov byte [eax + 0x1c], 1
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x10]
mov edx, esi
mov dword [esp + 8], eax
mov eax, fcn.007d582c
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x44c]
mov dword [esp], ecx
mov eax, dword [ebp - 0x450]
call fcn.007cdcac
mov dword [ebp - 0x388], eax
mov esi, dword [ebp - 0x384]
cmp byte [esi + 1], 0xfa
je 0x803f25
mov dword [ebx + 0x4c], 0
lea eax, [ebx + 0x22]
mov dword [ebx + 0x48], eax
cmp dword [ebp - 0x388], 5
je 0x805358
jg 0x8032d6
mov eax, dword [ebp - 0x388]
test eax, eax
jne 0x800afe
mov eax, dword [ebx]
call fcn.007d0e4c
test al, 0xf0
mov ecx, eax
jne 0x800af3
and eax, 7
cmp eax, 5
setne dl
cmp eax, 2
setne al
movzx eax, al
test edx, eax
jne 0x800af3
mov al, cl
shr ecx, 1
and al, 1
mov byte [ebx + 0x20], al
mov dl, cl
and dl, 1
mov byte [ebx + 0x21], dl
test al, al
je 0x800adb
mov ecx, dword [ebp - 0x384]
cmp byte [ecx + 1], 0xfa
je 0x800af3
test dl, dl
je case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
cmp byte [ebx + 1], 0xfa
je case.0x7ff36e.0
mov eax, 0xb
mov dword [ebp - 0x388], eax
mov edx, dword [ebp - 0x56c]
cmp byte [edx + 0x1e], 0
je 0x800b15
mov ebx, 7
mov dword [ebp - 0x388], ebx
mov eax, dword [ebp - 0x388]
call fcn.007d4c2c
mov dword [esp + 4], eax
xor edx, edx
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x59c]
add eax, 0xf4
mov dword [esp], eax
call fcn.007c2bfc
jmp 0x7ff2f0
mov edi, dword [ebp - 0x56c]
xor ecx, ecx
mov edx, dword [edi + 0x5c]
test edx, edx
jne 0x800b67
jmp 0x8031b4
mov edx, dword [edx + 8]
test edx, edx
je 0x80302c
cmp dword [edx + 0x44], 0xbdf20da3
jne 0x800b5c
cmp byte [edx + 0x101], 1
ja 0x800b5c
mov eax, dword [edx + 0x70]
cmp eax, 0x80000000
adc ecx, 0
jmp 0x800b5c
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
test eax, eax
js 0x804516
mov edi, dword [ebp - 0x56c]
lea eax, [eax + eax*2]
inc edx
mov ecx, dword [edi + 8]
mov eax, dword [ecx + eax*8 + 4]
lea ecx, [ebp - 0x2a4]
mov dword [esp], ecx
call fcn.007d089c
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x39c]
mov ecx, eax
sar ecx, 0x1f
mov dword [edx], eax
mov dword [edx + 4], ecx
mov word [edx + 0x1c], 4
jmp case.0x7ff36e.0
movzx eax, byte [ebp - 0x389]
mov edx, 0x63
mov dword [esp], eax
mov eax, dword [ebp - 0x390]
call fcn.007d703c
mov esi, dword [ebp - 0x390]
movzx esi, word [esi + 0x1c]
movzx eax, si
test al, 0xc
mov word [ebp - 0x568], si
jne 0x803394
mov edi, dword [ebp - 0x384]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x380], eax
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x59c]
mov eax, dword [ebp - 0x390]
add esi, 0x58
call fcn.007d28ac
mov dword [ebp - 0x4d8], eax
mov ebx, dword [esi + 8]
mov dword [ebp - 0x4d4], edx
test ebx, ebx
je 0x804c61
mov eax, dword [ebx + 4]
cmp eax, dword [ebx]
jge 0x803eac
mov edx, dword [ebp - 0x4d8]
mov ecx, dword [ebp - 0x4d4]
mov dword [ebx + eax*8 + 0x10], edx
mov dword [ebx + eax*8 + 0x14], ecx
inc eax
mov dword [ebx + 4], eax
inc dword [esi]
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x38]
dec eax
lea eax, [eax + eax*8]
lea ebx, [edx + eax*8]
mov eax, ebx
call fcn.007d2bdc
test eax, eax
jne 0x8005ca
mov dword [esp], pe_nt_image_headers32
mov edx, ebx
mov eax, dword [ebp - 0x39c]
call fcn.007d2c0c
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ecx + 4]
mov esi, dword [ebp - 0x39c]
mov edi, dword [ebp - 0x384]
mov word [esi + 0x1c], 0xa2
mov eax, dword [edi + 0x10]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], eax
movzx eax, byte [ebp - 0x389]
mov byte [esi + 0x1f], al
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov edi, dword [ebp - 0x39c]
mov eax, dword [edx + 4]
mov word [edi + 0x1c], 4
mov ecx, eax
sar ecx, 0x1f
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov ebx, dword [ebp - 0x384]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x30]
mov edx, dword [eax + edx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x53c], edx
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
mov esi, dword [ebp - 0x53c]
lea eax, [edx + eax*8]
mov dword [ebp - 0x538], eax
cmp byte [esi + 0x1c], 0
je 0x80346f
call fcn.007d2a6c
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x380]
mov ebx, dword [ebp - 0x384]
mov eax, dword [ecx + 0xe8]
inc edx
mov dword [ecx + eax*4 + 0x84], edx
inc eax
mov dword [ecx + 0xe8], eax
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x380], esi
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov edi, 0x65
mov esi, dword [ebp - 0x56c]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 8]
lea eax, [eax + eax*2]
mov ebx, dword [edx + eax*8 + 4]
mov esi, dword [ebx + 4]
mov eax, ebx
call fcn.007c9b4c
mov dword [ebp - 0x518], edi
mov eax, dword [ebx]
cmp byte [esi + 0x16], 0
mov dword [esi + 4], eax
jne 0x803dfa
mov eax, ebx
call fcn.007c9c2c
mov edi, dword [ebp - 0x518]
cmp edi, 0x65
mov dword [ebp - 0x388], edi
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
xor ebx, ebx
mov dword [ebp - 0x388], ebx
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x30]
mov edx, dword [eax + edx*4]
mov eax, dword [edx]
test eax, eax
je case.0x7ff36e.0
cmp byte [edx + 0x1c], 0
jne case.0x7ff36e.0
lea edx, [ebp - 0x300]
call fcn.007d5b9c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov edi, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x300]
mov edx, dword [ebp - 0x2fc]
mov word [edi + 0x1c], 4
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x30]
mov edx, dword [eax + edx*4]
mov eax, dword [ebx + 8]
mov dword [edx + 0x50], eax
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x56c]
mov eax, dword [ecx + 4]
mov edx, dword [ebx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
test eax, eax
je case.0x7ff36e.0
mov edx, dword [ecx + 8]
call fcn.007cb01c
mov dword [ebp - 0x388], eax
cmp eax, 5
je 0x80539e
test eax, eax
setne al
xor edx, edx
cmp dword [ebp - 0x388], 8
setne dl
test eax, edx
je case.0x7ff36e.0
jmp 0x800afe
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov esi, dword [ebp - 0x59c]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea ecx, [edx + eax*8]
mov eax, dword [esi + 0x30]
mov edx, dword [ebx + 4]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x60]
mov dword [ebp - 0x530], edx
mov edx, dword [esi + 0x24]
mov eax, dword [eax]
xor esi, esi
mov eax, dword [eax]
mov dword [ebp - 0x52c], eax
mov edi, dword [ecx + 0x48]
test edi, edi
mov dword [ebp - 0x524], edi
mov eax, dword [ecx]
mov dword [ebp - 0x534], edx
mov dword [ebp - 0x528], eax
jle 0x800f6e
lea ebx, [ecx + 0x90]
mov ecx, dword [ebp - 0x534]
mov eax, ebx
mov dword [ecx + esi*4], ebx
inc esi
call fcn.007d6f1c
add ebx, 0x48
cmp esi, dword [ebp - 0x524]
jl 0x800f52
mov ebx, dword [ebp - 0x59c]
mov byte [ebx + 0x101], 1
mov esi, dword [ebp - 0x534]
mov dword [esp + 0x10], esi
mov edi, dword [ebp - 0x524]
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x10]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x528]
mov dword [esp + 4], ecx
mov ebx, dword [ebp - 0x530]
mov eax, dword [ebx + 0x60]
mov dword [esp], eax
mov esi, dword [ebp - 0x52c]
call dword [esi + 0x20]
mov edi, dword [ebp - 0x59c]
test eax, eax
mov dword [ebp - 0x388], eax
mov byte [edi + 0x101], 0
je 0x803cb4
mov ecx, dword [ebp - 0x530]
mov byte [ecx + 0x1c], 0
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x803d74
mov ebx, dword [ebp - 0x59c]
mov byte [ebx + 0xff], 1
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov edi, dword [ebp - 0x56c]
mov eax, dword [ebx + 4]
mov edx, dword [edi + 8]
mov ebx, dword [ebx + 0x10]
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
mov dword [ebp - 0x4b0], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [ebp - 0x4b0]
inc eax
mov ecx, dword [edx + 0x14]
mov dword [esp], eax
xor edx, edx
mov dword [esp + 4], edx
add ecx, 4
mov edx, ebx
mov eax, ecx
call fcn.007c522c
mov dword [ebp - 0x4ac], eax
test eax, eax
je 0x802cc6
mov esi, dword [eax + 0x24]
test esi, esi
je 0x802cbb
mov ebx, dword [esi + 8]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp - 0x4b0]
inc eax
mov edx, ebx
mov dword [ebp - 0x4b4], eax
mov edi, dword [ebp - 0x4b4]
mov eax, dword [ecx + 0x14]
mov dword [esp], edi
add eax, 0x40
call fcn.007c51bc
cmp eax, esi
mov edx, eax
jne 0x8010a4
jmp 0x803297
mov edx, eax
test edx, edx
je 0x8010b9
mov eax, dword [edx + 0xc]
cmp eax, esi
jne 0x8010a2
test edx, edx
je 0x8010b9
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
mov esi, dword [esi + 4]
jmp 0x801061
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x30]
mov esi, dword [eax + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je 0x803897
mov eax, ebx
call fcn.007cd26c
test eax, eax
jne 0x8010fd
mov edx, 1
mov dword [ebp - 0x49c], edx
cmp byte [ebx + 0x49], 0
jne 0x804c4d
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x49c]
mov dword [esi + 0x68], 0
mov byte [esi + 0x1f], 0
test eax, eax
sete byte [esi + 0x1a]
movzx eax, byte [ebp - 0x49c]
mov byte [esi + 0x1c], al
mov eax, dword [ebp - 0x49c]
test eax, eax
je case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x380], ecx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x30]
mov ebx, dword [eax + edx*4]
mov esi, dword [ebx]
test esi, esi
je case.0x7ff36e.0
movzx esi, byte [ebp - 0x56d]
mov byte [ebx + 0x1c], 0
mov eax, dword [ebx + 0x48]
cmp esi, 5
sete dl
cmp esi, 0x3f
sete cl
or dl, cl
mov byte [eax], dl
cmp byte [ebx + 0x20], 0
jne 0x804922
mov ecx, dword [ebp - 0x398]
test byte [ecx + 0x1d], 8
jne 0x804b86
mov edi, dword [ebp - 0x398]
lea eax, [ebp - 0x2b0]
mov edx, dword [edi + 0x14]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov ecx, eax
mov dword [esp], eax
sar ecx, 0x1f
mov dword [esp + 4], ecx
mov eax, dword [ebx]
call fcn.007cd34c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x1f], 0
mov eax, dword [ebx + 0x48]
cmp esi, 0x74
mov dword [ebx + 0x68], 0
sete dl
cmp esi, 5
mov byte [eax], 0
sete al
or eax, edx
test al, 1
je 0x80451f
mov eax, dword [ebp - 0x2b0]
test eax, eax
js 0x8051c7
xor eax, eax
mov dword [ebp - 0x2b0], eax
mov edi, dword [ebp - 0x2b0]
test edi, edi
je case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x380], esi
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x384]
mov edx, dword [esi + 0xdc]
mov ebx, dword [ecx + 0x10]
xor ecx, ecx
test edx, edx
jne 0x803152
mov esi, dword [esi + 0xe0]
mov eax, 6
test esi, esi
jle 0x803152
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov eax, dword [ebp - 0x384]
mov esi, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov edi, dword [esi]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x540], esi
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x544], edi
test eax, eax
je 0x8039d0
mov edx, dword [ebp - 0x59c]
xor esi, esi
mov ecx, dword [ebp - 0x384]
cmp esi, dword [ebp - 0x548]
mov edx, dword [edx + 0x24]
mov ebx, dword [ebp - 0x59c]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x54c], edx
mov edx, dword [ebx + 0x4c]
lea eax, [eax + eax*8]
lea ebx, [edx + eax*8]
jge 0x8012fa
mov eax, ebx
call fcn.007d6f1c
mov edi, dword [ebp - 0x54c]
mov dword [edi + esi*4], ebx
add ebx, 0x48
inc esi
cmp esi, dword [ebp - 0x548]
jl 0x8012de
mov eax, dword [ebp - 0x540]
call fcn.007d7ddc
lea eax, [ebp - 0x340]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x54c]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x548]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x540]
mov dword [esp], ecx
mov ebx, dword [ebp - 0x544]
call dword [ebx + 0x34]
mov edx, dword [ebp - 0x540]
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x56c]
call fcn.007d7dec
mov esi, dword [ebp - 0x384]
mov edi, dword [esi + 4]
test edi, edi
setne dl
xor eax, eax
cmp dword [ebp - 0x388], 0
sete al
test edx, eax
je case.0x7ff36e.0
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov edi, dword [ebp - 0x56c]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov esi, edx
or esi, eax
jne case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x380], eax
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x56c]
mov esi, dword [ebp - 0x59c]
mov eax, dword [edx + 4]
mov ecx, dword [ebx + 8]
mov edx, dword [edx + 0x10]
lea eax, [eax + eax*2]
add esi, 0xf4
mov eax, dword [ecx + eax*8]
mov dword [esp], eax
mov eax, ebx
call fcn.007d9e2c
mov edx, dword [eax + 0x3c]
mov ebx, eax
mov eax, dword [eax + 0x48]
test edx, edx
mov eax, dword [eax]
je 0x80457b
mov dword [esp + 8], esi
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov dword [esp], edx
mov edx, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x56c]
call fcn.007e2c9c
test eax, eax
jne 0x801424
mov edx, dword [ebx + 0x40]
test edx, edx
jne 0x804b54
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x384]
movzx ebx, byte [ebx + 3]
mov esi, dword [esi + 0x24]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edi + 8]
mov dword [ebp - 0x3c8], ebx
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
mov dword [ebp - 0x3c4], esi
xor esi, esi
lea ebx, [edx + eax*8]
cmp esi, dword [ebp - 0x3c8]
jge 0x80148c
mov edi, dword [ebp - 0x3c4]
mov eax, ebx
mov dword [edi + esi*4], ebx
inc esi
call fcn.007d6f1c
add ebx, 0x48
cmp esi, dword [ebp - 0x3c8]
jl 0x801470
mov eax, dword [ebp - 0x384]
cmp byte [eax + 1], 0xfb
je 0x803e9d
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], edx
mov word [ebp - 0x54], 1
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x24], 0
cmp byte [edx + 3], 0
je 0x8014e3
mov ebx, dword [ebp - 0x384]
mov eax, dword [ebx - 4]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x3c4]
lea eax, [ebp - 0x78]
mov dword [esp + 8], esi
mov edi, dword [ebp - 0x3c8]
mov dword [esp], eax
mov dword [esp + 4], edi
call dword [edx + 0x10]
mov eax, dword [ebp - 0x56c]
cmp byte [eax + 0x1e], 0
jne 0x8052fe
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x803e36
mov ecx, dword [ebp - 0x24]
lea ebx, [ebp - 0x70]
test ecx, ecx
jne 0x803d25
movzx edx, byte [ebp - 0x389]
mov eax, ebx
call fcn.007d22bc
mov edi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x39c], eax
mov edx, ebx
call fcn.007d2cac
mov eax, dword [ebp - 0x39c]
call fcn.007d2bdc
jmp 0x800632
mov eax, dword [ebp - 0x390]
mov eax, dword [eax + 4]
test eax, eax
jns case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x380], ecx
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x59c]
mov eax, dword [edi + 0xe8]
dec eax
mov dword [edi + 0xe8], eax
mov eax, dword [edi + eax*4 + 0x84]
dec eax
mov dword [ebp - 0x380], eax
jmp case.0x7ff36e.0
xor ecx, ecx
mov edi, dword [ebp - 0x384]
xor ebx, ebx
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x59c]
mov edx, dword [edi + 4]
mov dword [ebp - 0x2d0], ebx
mov eax, dword [ecx + 0x30]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x470], edx
mov eax, dword [edx]
test eax, eax
jne 0x803ace
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x39c]
mov word [edx + 0x1c], 4
mov edx, dword [ebp - 0x2cc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 4]
test eax, eax
jne 0x80163f
mov edi, dword [ebp - 0x56c]
lea edx, [ebx + ebx*2]
mov eax, dword [edi + 8]
mov eax, dword [eax + edx*8 + 0x14]
test byte [eax + 0x5a], 1
je case.0x7ff36e.0
cmp ebx, 1
mov edx, str.sqlite_temp_master
je 0x80164e
mov edx, str.sqlite_master
mov dword [ebp - 0x194], ebx
mov esi, dword [ebp - 0x59c]
mov eax, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x384]
add esi, 0xf4
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x190], esi
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x56c]
lea eax, [ebx + ebx*2]
mov edx, dword [edi + 8]
mov eax, dword [edx + eax*8]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
mov dword [esp + 4], eax
call fcn.007c41ac
test eax, eax
mov ebx, eax
je 0x801704
mov byte [edi + 0x50], 1
xor eax, eax
mov ecx, fcn.007e7b9c
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x198]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.007e77dc
mov dword [ebp - 0x388], eax
cmp eax, 4
je 0x804388
mov dword [esp], ebx
call fcn.007c20bc
mov edx, dword [ebp - 0x56c]
mov byte [edx + 0x50], 0
cmp dword [ebp - 0x388], 7
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x56c]
mov byte [eax + 0x1e], 1
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0x9dcc01
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.007c2bfc
mov eax, 7
jmp 0x8005f1
mov esi, dword [ebp - 0x384]
mov esi, dword [esi + 8]
lea eax, [esi*4 + 4]
mov dword [ebp - 0x4b8], esi
mov dword [esp], eax
call fcn.007c217c
mov dword [ebp - 0x4bc], eax
test eax, eax
je 0x8021c8
mov edi, dword [ebp - 0x384]
xor esi, esi
mov ecx, dword [ebp - 0x59c]
cmp esi, dword [ebp - 0x4b8]
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x4c0], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x390], eax
jge 0x8017b0
mov ebx, eax
mov eax, ebx
add ebx, 0x48
call fcn.007d28ac
mov edi, dword [ebp - 0x4bc]
mov dword [edi + esi*4], eax
inc esi
cmp esi, dword [ebp - 0x4b8]
jl 0x801794
mov eax, dword [ebp - 0x4bc]
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x56c]
mov dword [eax + esi*4], 0
mov esi, dword [ebp - 0x4c0]
movzx eax, byte [edx + 3]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
mov edi, dword [eax + 4]
mov dword [ebp - 0x4c4], eax
mov ebx, dword [esi]
mov dword [ebp - 0x4cc], edi
call fcn.007c9b4c
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx]
mov dword [edi + 4], eax
mov eax, dword [edi]
call fcn.007c91bc
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x4c4]
call fcn.007cb49c
test eax, eax
je 0x8033fe
mov eax, dword [ebp - 0x4c4]
call fcn.007c9c2c
mov eax, str.Unable_to_acquire_a_read_lock_on_the_database
call fcn.007c2adc
mov ebx, eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x4c0]
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
mov eax, dword [ebp - 0x390]
call fcn.007d2a6c
mov esi, dword [ebp - 0x31c]
test esi, esi
je 0x80187d
mov esi, dword [ebp - 0x390]
mov dword [esi + 0x14], ebx
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], 0x62
mov dword [esi + 0x20], 0
mov edi, dword [ebp - 0x390]
mov eax, edi
mov byte [edi + 0x1f], 1
movzx edx, byte [ebp - 0x389]
call fcn.007d22bc
mov eax, dword [ebp - 0x4bc]
mov dword [esp], eax
call fcn.007c20bc
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
test byte [eax + 0x1c], 4
je case.0x7ff36e.0
call fcn.007d2a3c
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edi + 8]
mov edx, dword [ecx + 0x4c]
mov ebx, dword [edi + 4]
mov dword [ebp - 0x3dc], eax
xor eax, eax
mov word [ebp - 0x14c], ax
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x3f8], eax
call fcn.007d2a6c
mov esi, dword [ebp - 0x59c]
mov eax, dword [esi + 0x30]
mov ebx, dword [eax + ebx*4]
mov dword [ebp - 0x3e0], ebx
mov eax, dword [ebx]
test eax, eax
jne 0x803cda
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x34]
mov ecx, dword [edx + 0x38]
mov ebx, dword [edx + 0x50]
mov dword [ebp - 0x28c], eax
xor eax, eax
mov dword [ebp - 0x3e4], ecx
mov dword [edx + 0x68], 0
mov dword [ebp - 0x3f4], ebx
mov dword [ebp - 0x3e8], eax
mov edx, dword [ebp - 0x28c]
test edx, edx
je case.0x7ff36e.0
cmp edx, 0x3b9aca00
ja 0x8005ca
mov esi, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x3e0]
mov eax, dword [esi + 0x54]
cmp dword [edi + 0x68], eax
je 0x8037ce
mov ecx, dword [ebp - 0x3e0]
mov ecx, dword [ecx + 0x70]
test ecx, ecx
mov dword [ebp - 0x3ec], ecx
je 0x804fa4
mov edi, dword [ebp - 0x3ec]
mov esi, dword [ebp - 0x3f4]
mov ebx, dword [ebp - 0x3e4]
lea esi, [edi + esi*4]
mov edi, dword [ebp - 0x3e0]
test ebx, ebx
mov dword [ebp - 0x3f0], esi
mov dword [edi + 0x6c], edx
mov edx, dword [ebp - 0x59c]
mov dword [edi + 0x74], esi
mov eax, dword [edx + 0x54]
mov dword [edi + 0x68], eax
je 0x804ba4
movzx edx, byte [ebx]
mov esi, 1
cmp edx, 0x7f
mov dword [ebp - 0x294], edx
ja 0x80498c
mov edi, dword [ebp - 0x3e4]
test edi, edi
je 0x804be7
lea edx, [ebx + edx]
add ebx, esi
xor esi, esi
cmp esi, dword [ebp - 0x3f4]
mov dword [ebp - 0x3fc], edx
jae 0x8036c0
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x574], eax
jmp 0x801a37
mov edi, dword [ebp - 0x3f0]
mov dword [edi + esi*4], 0
add dword [ebp - 0x574], 4
inc esi
cmp esi, dword [ebp - 0x3f4]
jae 0x8036c0
cmp ebx, dword [ebp - 0x3fc]
jae 0x801a16
mov eax, dword [ebp - 0x294]
mov edx, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x3ec]
mov dword [edx + esi*4], eax
lea edx, [ebx + 1]
movzx eax, byte [ebx]
cmp eax, 0x7f
mov dword [ecx + esi*4], eax
ja 0x803713
mov ebx, edx
call fcn.007d55cc
add dword [ebp - 0x294], eax
jmp 0x801a23
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x56c]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 8]
lea eax, [eax + eax*2]
lea ebx, [edx + eax*8]
mov eax, dword [ebp - 0x398]
call fcn.007d2a0c
mov edi, dword [ebp - 0x384]
mov esi, dword [ebp - 0x398]
mov eax, dword [ebx + 4]
mov edx, dword [edi + 8]
mov ecx, dword [esi]
inc edx
mov dword [esp], ecx
call fcn.007d095c
mov dword [ebp - 0x388], eax
mov eax, dword [edi + 8]
test eax, eax
jne 0x803622
mov eax, dword [esi]
mov edx, dword [ebx + 0x14]
mov edi, dword [ebp - 0x56c]
mov dword [edx], eax
or dword [edi + 0xc], 0x10
mov ebx, dword [ebp - 0x384]
cmp dword [ebx + 4], 1
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x56c]
call fcn.007d5d8c
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x59c]
mov eax, dword [ecx + 4]
mov edx, dword [ebx + 0x4c]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*8]
lea ebx, [edx + eax*8]
movzx eax, word [ebx + 0x1c]
test al, 0x12
jne 0x801b30
movzx edx, byte [ebp - 0x389]
mov eax, ebx
call fcn.007d27bc
test eax, eax
jne 0x802c43
mov eax, esi
call fcn.007d7ddc
mov eax, dword [ebx + 0x14]
mov edx, dword [esi]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [edx + 0x4c]
mov edx, esi
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x56c]
call fcn.007d7dec
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x384]
mov eax, dword [ebx + 0x30]
mov edx, dword [ecx + 4]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 0x1c], 0
jne case.0x7ff36e.0
mov eax, dword [ebx + 0x60]
mov edi, dword [ebp - 0x59c]
mov eax, dword [eax]
mov esi, dword [eax]
mov byte [edi + 0x101], 1
mov eax, dword [ebx + 0x60]
mov dword [esp], eax
call dword [esi + 0x24]
mov dword [ebp - 0x388], eax
test eax, eax
mov byte [edi + 0x101], 0
je 0x804d2a
mov eax, dword [ebp - 0x384]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
test byte [eax + 0x1c], 1
jne case.0x7ff36e.0
call fcn.007d2a0c
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x56c]
mov eax, dword [esi + 4]
mov edx, dword [edi + 8]
lea eax, [eax + eax*2]
mov ecx, dword [edx + eax*8 + 4]
test ecx, ecx
je 0x803882
lea eax, [ebp - 0x2a8]
mov edx, 1
mov dword [esp], eax
mov eax, ecx
call fcn.007d089c
mov dword [ebp - 0x388], eax
test eax, eax
jne case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x2a8]
cmp dword [edx + 8], eax
je case.0x7ff36e.0
mov ecx, dword [ebp - 0x59c]
mov eax, dword [ecx + 0xf4]
mov dword [esp], eax
call fcn.007c20bc
mov eax, dword [ebp - 0x56c]
mov edx, str.database_schema_has_changed
call fcn.007c2b7c
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x56c]
mov ebx, dword [ebp - 0x59c]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 8]
mov dword [ebx + 0xf4], eax
lea eax, [ecx + ecx*2]
mov edx, dword [edx + eax*8 + 0x14]
mov eax, dword [ebp - 0x2a8]
cmp dword [edx], eax
je 0x801c93
mov edx, ecx
mov eax, edi
call fcn.007e218c
mov eax, dword [ebp - 0x56c]
mov ebx, 0x11
call fcn.007d5d8c
mov dword [ebp - 0x388], ebx
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x384]
movzx edx, byte [edx + 3]
mov esi, dword [esi + 0x24]
mov ebx, dword [ebp - 0x59c]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x4dc], edx
mov edx, dword [ebx + 0x4c]
lea eax, [eax + eax*8]
mov dword [ebp - 0x4e0], esi
xor esi, esi
lea ebx, [edx + eax*8]
cmp esi, dword [ebp - 0x4dc]
jl 0x801d9b
mov ebx, dword [ebp - 0x384]
xor edi, edi
mov esi, dword [ebp - 0x56c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x200], esi
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
inc dword [eax + 0x18]
mov dword [ebp - 0x1c8], eax
mov eax, 1
mov word [ebp - 0x1f4], ax
xor eax, eax
mov dword [ebp - 0x1fc], eax
xor eax, eax
mov dword [ebp - 0x1f0], eax
xor eax, eax
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edi
cmp byte [ecx + 3], 0
je 0x801d5b
mov eax, dword [ebx - 4]
mov dword [ebp - 0x1c0], eax
mov edi, dword [ebp - 0x4e0]
lea ebx, [ebp - 0x210]
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x4dc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
call dword [ecx + 0x14]
mov esi, dword [ebp - 0x1c4]
test esi, esi
jne 0x803943
mov eax, ebx
call fcn.007d1c6c
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x4e0]
mov eax, ebx
mov dword [edi + esi*4], ebx
inc esi
call fcn.007d6f1c
add ebx, 0x48
cmp esi, dword [ebp - 0x4dc]
jl 0x801d9b
mov eax, dword [ebp - 0x59c]
mov edx, dword [eax + 0x4c]
jmp 0x801cf3
mov eax, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x56c]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 8]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 4]
call fcn.007d0dac
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
xor eax, eax
mov esi, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x408], eax
xor eax, eax
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x404], eax
xor eax, eax
mov dword [ebp - 0x40c], eax
xor eax, eax
mov dword [ebp - 0x41c], eax
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x10]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x420], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x428], edi
mov ebx, dword [ebp - 0x420]
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8 - 0x48]
cmp ebx, eax
mov dword [ebp - 0x424], eax
movzx esi, byte [ecx + 0x100]
mov dword [ebp - 0x42c], esi
mov esi, ebx
jmp 0x801e7e
xor eax, eax
cmp dword [ebp - 0x434], 0
sete al
neg eax
and dword [ebp - 0x41c], eax
add esi, 0x48
cmp esi, dword [ebp - 0x424]
ja 0x802cd5
mov eax, dword [ebp - 0x428]
test eax, eax
je 0x801ebc
mov edi, dword [ebp - 0x420]
mov eax, esi
sub eax, edi
sar eax, 3
mov edi, dword [ebp - 0x428]
imul eax, eax, 0x38e38e39
movsx edx, byte [edi + eax]
movzx eax, byte [ebp - 0x389]
mov dword [esp], eax
mov eax, esi
call fcn.007d703c
test byte [esi + 0x1d], 8
je 0x801ed0
mov ebx, dword [esi + 0x18]
test ebx, ebx
jle 0x801ed0
mov eax, esi
call fcn.007d1ccc
mov edx, dword [ebp - 0x42c]
mov eax, esi
call fcn.007d54dc
mov ebx, eax
call fcn.007d55cc
mov dword [ebp - 0x434], eax
cdq
add dword [ebp - 0x408], eax
mov eax, ebx
adc dword [ebp - 0x404], edx
xor edx, edx
call fcn.007c4c6c
add dword [ebp - 0x40c], eax
test byte [esi + 0x1d], 8
je 0x801e61
mov edx, dword [esi]
add dword [ebp - 0x41c], edx
jmp 0x801e75
mov ecx, dword [ebp - 0x59c]
xor esi, esi
mov ebx, dword [ebp - 0x384]
mov eax, dword [ecx + 0x54]
mov edx, dword [ecx + 0x4c]
add eax, 2
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
test ebx, ebx
mov dword [ecx + 0xf8], eax
jle 0x801f6f
mov ebx, eax
mov eax, ebx
inc esi
call fcn.007d21ec
mov eax, ebx
add ebx, 0x48
call fcn.007d6f1c
mov edi, dword [ebp - 0x384]
cmp dword [edi + 8], esi
jg 0x801f52
mov eax, dword [ebp - 0x59c]
mov ecx, 0x64
mov edx, dword [ebp - 0x59c]
mov dword [ebp - 0x388], ecx
inc dword [eax + 0x50]
mov eax, dword [ebp - 0x380]
inc eax
mov dword [edx + 0x70], eax
jmp 0x7ff311
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov esi, dword [ebp - 0x56c]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x30]
mov ebx, dword [eax + edx*4]
mov eax, dword [esi + 0x88]
test eax, eax
je 0x801fdc
mov edi, dword [ebp - 0x384]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x801fdc
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
mov eax, ebx
call fcn.007d544c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov eax, dword [ebx]
call fcn.007d054c
mov dword [ebp - 0x388], eax
test eax, eax
mov byte [ebx + 0x1d], 0
mov dword [ebx + 0x68], 0
jne 0x80206c
mov edx, dword [ebp - 0x56c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x80206c
mov esi, dword [ebp - 0x384]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x80206c
mov eax, dword [ebx + 4]
mov edi, edx
mov edx, dword [edx + 8]
mov ebx, dword [ebp - 0x498]
lea eax, [eax + eax*2]
mov esi, dword [ebp - 0x494]
mov eax, dword [edx + eax*8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 8], eax
mov eax, 9
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [edi + 0x84]
mov dword [esp], eax
call dword [edi + 0x88]
mov esi, dword [ebp - 0x384]
test byte [esi + 8], 1
je case.0x7ff36e.0
mov edi, dword [ebp - 0x59c]
inc dword [edi + 0x104]
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov edx, dword [edi + 4]
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x59c]
call fcn.007d6f6c
test eax, eax
mov edx, eax
je 0x8049c0
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
lea eax, [eax + 0x22]
mov dword [edx + 0x48], eax
mov byte [edx + 0x20], 1
mov byte [edx + 0x21], 0
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x384]
mov edx, dword [edi + 4]
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x59c]
call fcn.007d6f6c
test eax, eax
mov ebx, eax
je 0x8039a9
mov byte [eax + 0x1c], 1
lea eax, [eax + 0x30]
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, 0x41e
mov dword [esp + 8], eax
mov eax, 0x1f4
mov dword [esp + 4], eax
mov dword [esp], 1
mov eax, dword [ebp - 0x56c]
call fcn.007d72ac
mov dword [ebp - 0x388], eax
test eax, eax
je 0x803a7c
cmp byte [ebx + 0x20], 0
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 8]
sete byte [ebx + 0x21]
mov dword [ebx + 0x50], eax
jmp case.0x7ff36e.0
cmp byte [ebp - 0x56d], 0x71
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x390], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
mov dword [ebp - 0x39c], eax
je 0x803ed2
mov dword [esp], 0x100
mov edx, dword [ebp - 0x390]
mov eax, dword [ebp - 0x39c]
call fcn.007d2c0c
mov edi, dword [ebp - 0x384]
cmp byte [edi], 0x12
jne case.0x7ff36e.0
mov eax, dword [ebp - 0x39c]
test byte [eax + 0x1d], 1
je case.0x7ff36e.0
call fcn.007d1d6c
test eax, eax
je case.0x7ff36e.0
mov edx, dword [ebp - 0x59c]
lea esi, [edx + 0xf4]
jmp 0x801704
mov ecx, dword [ebp - 0x384]
xor esi, esi
xor edi, edi
mov edx, dword [ecx + 0x10]
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov eax, dword [ecx + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0x39c]
call fcn.007d1e1c
movzx ebx, byte [ebp - 0x389]
mov esi, dword [ebp - 0x39c]
mov byte [esi + 0x1f], bl
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x56c]
mov edx, dword [ecx + 4]
call fcn.007e7adc
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x59c]
xor ecx, ecx
mov edi, dword [ebp - 0x384]
mov eax, dword [ebx + 0x30]
mov edx, dword [edi + 4]
mov ebx, dword [eax + edx*4]
mov esi, dword [ebx]
test esi, esi
je 0x8022d0
cmp byte [ebp - 0x56d], 0x79
je 0x804a62
mov esi, dword [ebp - 0x398]
xor ecx, ecx
lea eax, [ebp - 0x2b4]
mov edx, dword [esi + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov eax, dword [esi + 0x18]
mov edi, eax
mov dword [esp], eax
sar edi, 0x1f
mov dword [esp + 4], edi
mov eax, dword [ebx]
call fcn.007cd34c
mov dword [ebp - 0x388], eax
mov eax, dword [ebx + 0x4c]
mov byte [eax + 6], 0
mov eax, dword [ebp - 0x388]
test eax, eax
jne case.0x7ff36e.0
xor ecx, ecx
cmp dword [ebp - 0x2b4], 0
mov byte [ebx + 0x1f], 0
mov eax, dword [ebp - 0x384]
mov dword [ebx + 0x68], 0
sete cl
movzx eax, byte [eax]
mov byte [ebp - 0x56d], al
cmp byte [ebp - 0x56d], 0x79
je 0x80436b
test ecx, ecx
jne case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x380], esi
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
test edx, edx
jl case.0x7ff36e.0
jle 0x804604
mov esi, dword [ebp - 0x384]
mov edi, dword [esi + 8]
dec edi
mov dword [ebp - 0x380], edi
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
movzx eax, word [ebx + 0x1c]
test al, 0xd
jne case.0x7ff36e.0
mov eax, ebx
call fcn.007d294c
fst qword [ebp - 0x3d8]
fstp qword [esp]
call fcn.007d284c
push edx
push eax
fild qword [esp]
add esp, 8
fld qword [ebp - 0x3d8]
fucompp
fnstsw ax
sahf
jne 0x80496d
jp 0x80496d
mov eax, ebx
call fcn.007d2a0c
jmp case.0x7ff36e.0
mov edi, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x56c]
mov ebx, dword [edi + 0x64]
mov eax, dword [edi + 0x6c]
dec ebx
mov dword [edi + 0x64], ebx
lea ebx, [ebx + ebx*2]
lea ebx, [eax + ebx*8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 8]
mov dword [ecx + 0x2c], edx
mov dword [edi + 0x104], eax
mov eax, edi
add eax, 0x58
call fcn.007d1b9c
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x58], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x5c], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x60], eax
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
mov esi, dword [ebp - 0x394]
movzx ecx, word [ebx + 0x1c]
movzx edx, word [esi + 0x1c]
mov eax, ecx
or eax, edx
movzx esi, ax
test esi, 1
jne 0x8038e5
mov eax, ecx
and eax, edx
test al, 4
je 0x803f4b
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov ebx, dword [ebp - 0x394]
mov dword [ebp - 0x3b0], eax
movzx eax, byte [ebp - 0x56d]
mov dword [ebp - 0x3ac], edx
mov ecx, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, 0x4f
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3b4], ebx
je 0x8045dc
jg 0x804428
cmp eax, 0x4e
je 0x804ea4
mov edi, dword [ebp - 0x3ac]
or edi, dword [ebp - 0x3b0]
je 0x8038e5
mov eax, dword [ebp - 0x3b0]
mov edi, dword [ebp - 0x3ac]
and eax, edi
inc eax
jne 0x80247b
mov esi, 1
xor ebx, ebx
mov dword [ebp - 0x3b0], esi
mov dword [ebp - 0x3ac], ebx
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x3b0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x3b8]
mov ecx, dword [ebp - 0x3b4]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00810694
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], edx
mov ecx, dword [ebp - 0x39c]
test byte [ecx + 0x1c], 0x40
jne 0x804612
mov edi, dword [ebp - 0x39c]
mov ebx, dword [ebp - 0x3b8]
mov esi, dword [ebp - 0x3b4]
mov word [edi + 0x1c], 4
mov dword [edi], ebx
mov dword [edi + 4], esi
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x390]
mov ebx, dword [ebp - 0x394]
movzx ecx, word [ecx + 0x1c]
movzx eax, word [ebx + 0x1c]
mov word [ebp - 0x568], cx
or eax, ecx
test al, 1
je 0x803502
mov esi, dword [ebp - 0x39c]
test byte [esi + 0x1c], 0x40
jne 0x804ab2
mov edi, dword [ebp - 0x39c]
mov word [edi + 0x1c], 1
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x59c]
xor esi, esi
mov byte [eax + 0x101], 2
mov edx, dword [ebp - 0x384]
mov ebx, dword [ebp - 0x56c]
mov eax, dword [edx + 4]
mov ecx, dword [ebx + 8]
mov edx, dword [edx + 0x10]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8]
mov dword [esp], eax
mov eax, ebx
call fcn.007d9e2c
mov edx, dword [eax + 0x40]
mov ebx, eax
test edx, edx
je 0x802586
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x80257f
mov dword [esp], edx
call eax
test eax, eax
mov esi, eax
jne 0x802586
mov dword [ebx + 0x40], 0
mov dword [ebp - 0x388], esi
mov esi, dword [ebp - 0x59c]
mov byte [esi + 0x101], 0
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x390]
test byte [edx + 0x1c], 1
jne case.0x7ff36e.0
mov eax, edx
call fcn.007d2a3c
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
test byte [eax + 0x1c], 1
jne case.0x7ff36e.0
call fcn.007d2a0c
mov ecx, dword [ebp - 0x390]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
not eax
not edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
mov esi, dword [ebp - 0x394]
movzx eax, word [ebx + 0x1c]
movzx edx, word [esi + 0x1c]
or eax, edx
test al, 1
je 0x80363d
mov eax, dword [ebp - 0x39c]
call fcn.007d2a6c
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x384]
mov eax, dword [ebx + 0x30]
mov edx, dword [ecx + 4]
mov esi, dword [eax + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je case.0x7ff36e.0
mov edi, dword [ebp - 0x394]
test byte [edi + 0x1d], 8
jne 0x8040e9
mov edi, dword [ebp - 0x384]
mov edx, dword [ebp - 0x394]
mov ecx, dword [edi + 0xc]
mov eax, dword [edx + 0x18]
xor edi, edi
mov edx, dword [edx + 0x14]
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov ecx, 0x9dc24b
mov dword [esp + 8], ecx
mov ecx, eax
sar ecx, 0x1f
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], ecx
call fcn.007d030c
mov dword [ebp - 0x388], eax
mov dword [esi + 0x68], 0
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x56c]
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x802c54
mov esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x59c]
mov edx, dword [esi + 4]
mov eax, dword [edi + 0x30]
mov ebx, dword [eax + edx*4]
test ebx, ebx
je case.0x7ff36e.0
cmp byte [ebx + 0x1c], 0
mov eax, dword [ebx]
je 0x803731
mov edi, 1
mov dword [ebp - 0x2f0], edi
mov byte [ebx + 0x19], 0
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x384]
mov esi, dword [ebp - 0x59c]
mov edi, dword [ebp - 0x59c]
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0x4c]
lea eax, [eax + eax*8]
lea esi, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*8]
lea ecx, [edx + eax*8]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x30]
mov ebx, dword [eax + edx*4]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [ebp - 0x484], edx
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x488], eax
movzx eax, byte [edx + 3]
test al, 1
je 0x802742
inc dword [edi + 0x104]
movzx eax, byte [edx + 3]
test al, 2
je 0x802757
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov edi, dword [ebp - 0x56c]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
cmp byte [ebx + 0x1d], 0
je 0x80278e
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [ebp - 0x48c], edx
mov edx, dword [ebx + 0x14]
cmp dword [ebp - 0x48c], edx
mov dword [ebp - 0x490], eax
mov eax, dword [ebx + 0x10]
jl 0x80278e
jg 0x8045d3
cmp dword [ebp - 0x490], eax
jae 0x8045d3
movzx eax, word [esi + 0x1c]
test al, 1
je 0x8027a4
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
cmp byte [ebx + 0x1e], 0
jne 0x803d84
xor edx, edx
test ah, 8
je 0x8027b7
mov edx, dword [esi]
mov ecx, dword [ebp - 0x384]
movzx eax, byte [ecx + 3]
mov dword [esp + 0x10], edx
xor edx, edx
and eax, 8
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x488]
mov edi, dword [ebp - 0x484]
mov dword [esp], esi
mov dword [esp + 4], edi
mov eax, dword [ebx]
call fcn.007d030c
mov dword [ebp - 0x388], eax
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x1f], 0
mov eax, dword [ebp - 0x388]
mov dword [ebx + 0x68], 0
test eax, eax
jne case.0x7ff36e.0
mov edi, dword [ebp - 0x56c]
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.0x7ff36e.0
mov eax, dword [ebx + 4]
mov edx, dword [edi + 8]
mov ebx, dword [ebp - 0x384]
lea eax, [eax + eax*2]
mov edi, dword [ebp - 0x484]
mov edx, dword [edx + eax*8]
movzx eax, byte [ebx + 3]
mov esi, dword [ebp - 0x488]
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ecx
and eax, 4
cmp eax, 1
mov dword [esp + 0x10], esi
sbb eax, eax
and eax, 0xfffffffb
mov dword [esp + 8], edx
add eax, 0x17
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x56c]
mov eax, dword [edi + 0x84]
mov dword [esp], eax
call dword [edi + 0x88]
jmp case.0x7ff36e.0
mov edi, dword [esi + 0x10]
test edi, edi
mov dword [ebp - 0x36c], edi
je 0x803ee2
mov edx, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x36c]
mov dword [edx + 0x14], ecx
mov dword [esp], ecx
call sub.msvcrt.dll_strlen
mov ebx, dword [ebp - 0x360]
mov byte [ebx + 0x1e], 3
mov byte [ebx + 0x1f], 1
mov edi, dword [ebp - 0x59c]
mov dword [ebx + 0x18], eax
add ebx, 0x48
mov dword [ebp - 0x360], ebx
movzx eax, byte [edi + 0xfc]
cmp al, 1
je 0x803786
movzx eax, al
mov ecx, dword [ebp - 0x59c]
mov ebx, 0x64
lea eax, [eax + eax*4]
neg eax
add eax, 0xd
mov dword [ecx + 0xec], eax
mov eax, ebx
mov dword [ecx + 0x74], 0
jmp 0x7ff100
mov edx, dword [esi + 0x10]
mov eax, dword [edx]
mov dword [esp + 0xc], edx
mov edx, str.vtab:_p:_p
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x368]
mov dword [esp + 4], ebx
mov dword [esp], 0x20
call fcn.007c40dc
jmp 0x8028ad
mov eax, dword [esi + 0x10]
mov edi, str._.16g
fld qword [eax]
mov dword [esp + 8], edi
fstp qword [esp + 0xc]
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], eax
jmp 0x80293d
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, str.collseq__.20s_
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x368]
mov dword [esp + 4], edx
mov dword [esp], 0x20
call fcn.007c40dc
jmp 0x8028ad
mov eax, dword [esi + 0x10]
movsx edx, word [eax]
add eax, 0x1c
mov dword [esp + 0xc], eax
mov eax, str._s__d_
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x368]
mov dword [esp + 4], ecx
jmp 0x80293d
mov ecx, dword [esi + 0x10]
mov edx, str.keyinfo__d
mov eax, dword [ecx + 8]
mov dword [ebp - 0x374], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov ebx, dword [ebp - 0x368]
mov dword [esp], 0x20
mov dword [esp + 4], ebx
call fcn.007c40dc
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [ebp - 0x374]
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x370], eax
mov eax, dword [edi + 8]
cmp eax, 0
jmp 0x802aaa
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x37c], eax
lea eax, [ebx + eax]
cmp eax, 0x1a
jg 0x804819
mov ecx, dword [ebp - 0x368]
mov byte [ebx + ecx], 0x2c
mov edi, dword [ebp - 0x374]
inc ebx
mov eax, dword [edi + 0xc]
test eax, eax
je 0x802a59
mov edx, dword [ebp - 0x370]
cmp byte [edx + eax], 0
je 0x802a59
mov byte [ebx + ecx], 0x2d
inc ebx
mov ecx, dword [ebp - 0x37c]
mov edi, dword [ebp - 0x378]
mov eax, dword [ebp - 0x368]
inc ecx
mov edx, dword [edi]
mov dword [ebp - 0x5a0], ecx
mov edi, dword [ebp - 0x5a0]
lea ecx, [ebx + eax]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], edi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x37c]
mov edx, dword [ebp - 0x374]
add ebx, eax
mov eax, dword [edx + 8]
inc dword [ebp - 0x370]
cmp eax, dword [ebp - 0x370]
jle 0x804826
mov edx, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + edx*4 + 0x10]
mov dword [ebp - 0x378], edx
test edx, edx
jne 0x802a14
lea edx, [ebx + 4]
cmp edx, 0x1a
jge 0x802a9e
mov ecx, dword [ebp - 0x368]
mov dword [ebx + ecx], 0x6c696e2c
mov edi, dword [ebp - 0x374]
mov ebx, edx
mov eax, dword [edi + 8]
jmp 0x802a9e
mov eax, dword [esi + 0x10]
movzx ecx, word [eax + 0x1c]
test cl, 2
je 0x804d74
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x36c], eax
jmp 0x8028ad
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, str._lld
mov dword [esp + 8], eax
jmp 0x802933
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc], eax
mov eax, 0x9dc750
mov dword [esp + 8], eax
mov edi, dword [ebp - 0x368]
mov dword [esp + 4], edi
jmp 0x802988
not ebx
shr ebx, 0x1f
mov edi, dword [ebp - 0x384]
cmp byte [edi + 3], 0
js 0x8047dc
test ebx, ebx
je case.0x7ff36e.0
mov eax, dword [ebp - 0x384]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
jmp case.0x7ff36e.0
test ebx, ebx
setle al
movzx ebx, al
jmp 0x802b50
test ebx, ebx
sete al
movzx ebx, al
jmp 0x802b50
test ebx, ebx
setne al
movzx ebx, al
jmp 0x802b50
test ebx, ebx
setg al
movzx ebx, al
jmp 0x802b50
mov eax, dword [ebp - 0x59c]
mov ebx, 0x65
mov dword [eax + 0x74], 0
mov eax, ebx
jmp 0x7ff100
mov eax, dword [esi]
lea edx, [ebp - 0x280]
call fcn.007c14bc
fnstcw word [ebp - 0x34a]
movzx eax, word [ebp - 0x34a]
fld qword [ebp - 0x280]
or ax, 0xc00
mov word [ebp - 0x34c], ax
fldcw word [ebp - 0x34c]
fist dword [ebp - 0x350]
fldcw word [ebp - 0x34a]
mov eax, dword [ebp - 0x350]
push eax
mov edi, dword [ebp - 0x59c]
mov eax, dword [esi + 0x60]
fild dword [esp]
add esp, 4
fsubp st(1)
fmul dword [0x9e1290]
fmul dword [0x9e1294]
fmul dword [0x9e1298]
fldcw word [ebp - 0x34c]
fistp qword [edi + 0x108]
fldcw word [ebp - 0x34a]
jmp 0x7ff64d
mov edi, dword [ebp - 0x59c]
lea esi, [edi + 0xf4]
jmp 0x801704
mov ecx, 9
mov eax, 9
mov dword [ebp - 0x388], ecx
mov ecx, dword [ebp - 0x59c]
mov dword [ecx + 0x74], 9
call fcn.007d4c2c
jmp 0x800b20
mov ecx, dword [ebp - 0x59c]
mov eax, 9
mov ebx, 1
mov dword [ecx + 0x74], 9
call fcn.007d4c2c
mov dword [esp + 4], eax
xor ecx, ecx
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x59c]
add eax, 0xf4
mov dword [esp], eax
call fcn.007c2bfc
mov eax, ebx
jmp 0x7ff100
mov eax, dword [ebp - 0x4ac]
call fcn.007dffec
mov ebx, dword [ebp - 0x56c]
or dword [ebx + 0xc], 0x10
jmp case.0x7ff36e.0
mov esi, dword [ebp - 0x40c]
mov edi, esi
mov eax, esi
sar edi, 0x1f
mov edx, edi
call fcn.007c4c6c
add dword [ebp - 0x40c], eax
mov ebx, eax
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x5a8], eax
cdq
mov dword [ebp - 0x5a4], edx
call fcn.007c4c6c
cmp eax, ebx
mov esi, dword [ebp - 0x41c]
setg al
movzx eax, al
mov ecx, dword [ebp - 0x404]
mov edi, esi
add dword [ebp - 0x40c], eax
mov eax, dword [ebp - 0x40c]
cdq
mov dword [ebp - 0x414], edx
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x418], eax
add dword [ebp - 0x418], edx
adc dword [ebp - 0x414], ecx
sar edi, 0x1f
sub dword [ebp - 0x418], esi
sbb dword [ebp - 0x414], edi
cmp dword [ebp - 0x414], 0
ja 0x8005ca
cmp dword [ebp - 0x418], 0x3b9aca00
ja 0x8005ca
cmp dword [ebp - 0x414], 0
ja 0x802d8c
cmp dword [ebp - 0x418], 0x20
jbe 0x8038a7
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x56c]
call fcn.007c29dc
mov dword [ebp - 0x400], eax
test eax, eax
je 0x802c43
mov eax, dword [ebp - 0x40c]
cdq
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x400]
call fcn.007c49bc
mov dword [ebp - 0x430], eax
mov esi, dword [ebp - 0x420]
cmp esi, dword [ebp - 0x424]
jbe 0x802ed0
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edx + 0xc]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
test byte [eax + 0x1c], 0x40
mov dword [ebp - 0x39c], eax
jne 0x8039c6
cmp dword [ebp - 0x414], 0
mov esi, dword [ebp - 0x418]
mov ebx, dword [ebp - 0x39c]
mov dword [ebx + 0x18], esi
ja 0x803131
cmp esi, 0x20
ja 0x803131
mov edx, dword [ebp - 0x418]
mov eax, ebx
lea esi, [ebp - 0x188]
add eax, 0x24
mov dword [ebx + 0x14], eax
cmp edx, 7
mov ebx, eax
jbe 0x802e65
test al, 4
je 0x802e65
mov edi, dword [ebp - 0x39c]
lea esi, [ebp - 0x184]
sub edx, 4
mov eax, dword [ebp - 0x188]
mov ebx, edi
add ebx, 0x28
mov dword [edi + 0x24], eax
cld
mov ecx, edx
shr ecx, 2
mov edi, ebx
test dl, 2
rep movsd dword es:[edi], dword [esi]
mov ebx, edi
je 0x802e82
movzx eax, word [esi]
add ebx, 2
add esi, 2
mov word [edi], ax
test dl, 1
je 0x802e8c
movzx eax, byte [esi]
mov byte [ebx], al
mov eax, dword [ebp - 0x39c]
mov word [eax + 0x1c], 0x210
mov eax, dword [ebp - 0x41c]
test eax, eax
je 0x802ec1
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x39c]
cdq
mov dword [ecx], eax
movzx eax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
or eax, 0x800
mov word [ecx + 0x1c], ax
mov ebx, dword [ebp - 0x39c]
mov byte [ebx + 0x1f], 1
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x42c]
mov eax, esi
add esi, 0x48
call fcn.007d54dc
mov ebx, eax
mov ecx, dword [ebp - 0x430]
xor edx, edx
mov eax, dword [ebp - 0x400]
mov dword [esp], ebx
mov dword [esp + 4], edx
add eax, ecx
call fcn.007c49bc
add dword [ebp - 0x430], eax
cmp esi, dword [ebp - 0x424]
jbe 0x802ed0
mov esi, dword [ebp - 0x420]
cmp esi, dword [ebp - 0x424]
ja 0x802ddc
mov ecx, dword [ebp - 0x430]
mov eax, esi
mov edx, dword [ebp - 0x418]
mov ebx, dword [ebp - 0x400]
mov edi, dword [ebp - 0x430]
sub edx, ecx
mov dword [ebp - 0x438], edx
mov edx, dword [ebp - 0x42c]
add ebx, edi
call fcn.007d54dc
mov ecx, eax
lea eax, [eax - 1]
cmp eax, 6
ja 0x802fc5
cmp ecx, 7
je 0x80386b
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edx
mov eax, ecx
call fcn.007d55cc
mov dword [ebp - 0x43c], eax
mov ecx, eax
jmp 0x802fab
movzx eax, byte [ebp - 0x2a0]
mov byte [ecx + ebx], al
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x2a0]
shrd eax, edx, 8
shr edx, 8
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edx
dec ecx
cmp ecx, 0xffffffff
jne 0x802f82
mov eax, dword [ebp - 0x43c]
add dword [ebp - 0x430], eax
add esi, 0x48
jmp 0x802f12
xor eax, eax
cmp ecx, 0xb
jbe 0x802fb7
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x43c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
test byte [esi + 0x1d], 8
je 0x802fb1
mov edi, dword [esi]
mov eax, dword [ebp - 0x438]
add dword [ebp - 0x43c], edi
cmp dword [ebp - 0x43c], eax
jle 0x80300a
mov dword [ebp - 0x43c], eax
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x43c]
sub edx, eax
mov dword [esp + 8], edx
lea eax, [ebx + eax]
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x802fb1
dec ecx
jle 0x8031b4
mov eax, 6
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x59c]
mov dword [eax + 0x7c], 2
jmp case.0x7ff36e.0
mov dword [ebx], ecx
mov edi, ecx
lea eax, [ebx + 0x48]
mov byte [ebx + 0x1e], 1
sar edi, 0x1f
mov dword [ebx + 4], edi
mov word [ebx + 0x1c], 4
add ebx, 0x90
mov dword [ebp - 0x360], eax
mov edx, dword [ebp - 0x360]
mov word [eax + 0x1c], 0xa2
movzx eax, byte [esi]
mov eax, dword [eax*4 + 0x9e098c]
mov dword [edx + 0x14], eax
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp - 0x360]
mov byte [ecx + 0x1e], 3
mov byte [ecx + 0x1f], 1
mov dword [ecx + 0x18], eax
mov dword [ebp - 0x360], ebx
jmp 0x7ff576
mov word [ebx + 0x1c], 4
mov eax, dword [esi + 0xc]
mov byte [ebx + 0x1e], 1
mov edi, eax
sar edi, 0x1f
mov dword [ebx], eax
mov dword [ebx + 4], edi
add ebx, 0x48
mov dword [ebp - 0x360], ebx
jmp 0x7ff5c5
mov esi, dword [ebp - 0x56c]
movzx eax, byte [esi + 0x1c]
cmp al, bl
jne 0x8052a7
xor eax, eax
test bl, bl
mov dword [esp + 8], eax
mov eax, str.cannot_start_a_transaction_within_a_transaction
je 0x803109
cmp byte [ebp - 0x441], 0
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x803109
mov eax, str.cannot_commit___no_transaction_is_active
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
mov eax, 1
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x400]
mov word [edx + 0x1c], 0x50
mov dword [edx + 0x14], ecx
mov dword [edx + 0x20], 0
jmp 0x802e98
xor eax, eax
test ebx, ebx
je 0x801271
mov esi, dword [ebx]
mov edi, dword [esi + 0x38]
test edi, edi
je 0x8031ad
mov edi, dword [ebp - 0x56c]
mov ecx, dword [edi + 0xe0]
cmp ecx, 0
jle 0x803190
cmp dword [edx], 0
je 0x803190
cmp dword [edx + eax*4], ebx
je 0x8051d9
inc eax
cmp ecx, eax
jle 0x803190
mov edi, dword [edx + eax*4]
test edi, edi
jne 0x80317b
mov dword [esp], ebx
call dword [esi + 0x38]
test eax, eax
jne 0x801271
mov eax, dword [ebp - 0x56c]
mov edx, ebx
call fcn.007e2f3c
mov ecx, eax
mov eax, ecx
jmp 0x801271
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x56c]
mov ebx, dword [ebp - 0x384]
mov edx, dword [edx + 0xc]
mov eax, dword [ecx + 8]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x4a0], edx
lea edx, [edx + edx*2]
mov edx, dword [eax + edx*8 + 4]
mov dword [ebp - 0x4a8], ebx
mov eax, edx
mov dword [ebp - 0x4a4], edx
call fcn.007c9b4c
mov edi, dword [ebp - 0x4a4]
mov eax, dword [edi]
mov esi, dword [edi + 4]
mov dword [esi + 4], eax
xor eax, eax
cmp byte [edi + 8], 2
mov dword [ebp - 0x30c], eax
je 0x80461e
movzx eax, byte [esi + 0x11]
cmp al, 1
sbb ebx, ebx
and ebx, 0xfffffff9
add ebx, 8
mov eax, dword [ebp - 0x4a4]
call fcn.007c9c2c
mov dword [ebp - 0x388], ebx
mov ecx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x39c]
mov edx, ecx
sar edx, 0x1f
test ebx, ebx
mov word [eax + 0x1c], 4
mov dword [eax], ecx
mov dword [eax + 4], edx
jne case.0x7ff36e.0
test ecx, ecx
je case.0x7ff36e.0
mov esi, dword [ebp - 0x56c]
mov ebx, dword [ebp - 0x4a0]
mov edi, dword [ebp - 0x384]
mov eax, dword [esi + 8]
lea edx, [ebx + ebx*2]
mov esi, dword [edi + 4]
mov ebx, dword [eax + edx*8 + 0x14]
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x804abe
mov edx, dword [eax + 8]
cmp dword [edx + 0x14], ecx
je 0x803290
mov eax, dword [eax]
jmp 0x80327c
mov dword [edx + 0x14], esi
mov eax, dword [eax]
jmp 0x80327c
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
mov ecx, dword [esi + 0xc]
mov dword [esp], edi
add eax, 0x40
mov dword [esp + 4], ecx
call fcn.007c522c
mov esi, dword [esi + 4]
jmp 0x801061
test al, 0x40
jne 0x804adc
mov edi, dword [ebp - 0x390]
mov word [edi + 0x1c], 4
jmp case.0x7ff36e.0
cmp dword [ebp - 0x388], 0x10
jne 0x800afe
mov esi, dword [ebp - 0x384]
cmp byte [esi + 1], 0xfa
setne al
mov byte [ebx + 0x20], al
xor al, 1
mov byte [ebx + 0x21], al
xor eax, eax
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov dword [esp + 0xc], eax
xor ebx, ebx
mov eax, dword [ebp - 0x2dc]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.007cdb3c
jmp 0x7fff1c
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0x59c]
mov esi, dword [ebp - 0x39c]
mov edx, dword [ecx + 8]
lea eax, [edx + 1]
mov dword [ecx + 8], eax
mov eax, dword [ecx + edx*8 + 0x10]
mov edx, dword [ecx + edx*8 + 0x14]
dec dword [edi + 0x58]
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
jl case.0x7ff36e.0
mov eax, dword [ecx + 0xc]
mov dword [ebx + 4], eax
mov dword [esp], ecx
call fcn.007c20bc
mov eax, dword [edi + 0x58]
test eax, eax
jne case.0x7ff36e.0
mov dword [ebx + 8], 0
jmp case.0x7ff36e.0
cmp byte [ebx + 0x1e], 0
je 0x804343
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
jmp 0x7ff918
test al, 4
je 0x80405b
mov edx, dword [ebp - 0x384]
xor ebx, ebx
mov ecx, dword [ebp - 0x390]
cmp dword [edx + 0xc], 0
setne bl
xor esi, esi
add ebx, dword [ecx]
adc esi, dword [ecx + 4]
test byte [ebp - 0x568], 0x40
jne 0x804912
mov ecx, dword [ebp - 0x390]
mov dword [ecx], ebx
mov dword [ecx + 4], esi
mov word [ecx + 0x1c], 4
jmp case.0x7ff36e.0
lea edx, [ebp - 0x2dc]
mov eax, esi
call fcn.007cdb9c
mov eax, dword [ebp - 0x2dc]
cmp eax, 0x3b9aca00
jbe 0x7ffedc
jmp 0x8005ca
mov ecx, dword [ebp - 0x4cc]
xor edi, edi
mov eax, dword [ecx]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], eax
call fcn.007c770c
mov dword [ebp - 0x1a8], ebx
mov ebx, dword [ebp - 0x4cc]
mov ecx, eax
mov dword [ebp - 0x1b0], eax
xor eax, eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x31c], edi
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x80344a
mov dword [ebp - 0x1b0], eax
mov ecx, eax
test ecx, ecx
jne 0x804103
mov eax, dword [ebp - 0x4cc]
xor ebx, ebx
call fcn.007caf4c
mov eax, dword [ebp - 0x4c4]
call fcn.007c9c2c
jmp 0x801835
mov edi, dword [ebp - 0x53c]
lea ebx, [ebp - 0x278]
mov edx, 0x60
mov eax, dword [edi + 0x60]
mov eax, dword [eax]
mov esi, dword [eax]
mov dword [esp + 8], edx
xor eax, eax
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memset
mov eax, 1
mov edx, dword [ebp - 0x384]
mov word [ebp - 0x254], ax
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x260], eax
mov eax, dword [edx + 8]
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x270]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x60]
mov dword [esp], eax
call dword [esi + 0x2c]
movzx edx, byte [ebp - 0x389]
mov dword [ebp - 0x388], eax
mov eax, ebx
call fcn.007d22bc
mov eax, dword [ebp - 0x538]
mov edx, ebx
call fcn.007d2cac
mov eax, dword [ebp - 0x538]
call fcn.007d2bdc
jmp 0x800632
test word [ebp - 0x568], 0x800
jne 0x804a0c
mov edx, dword [ebp - 0x568]
test dl, 0x12
je 0x8049e7
mov ecx, dword [ebp - 0x394]
movzx eax, word [ecx + 0x1c]
test ah, 8
jne 0x8049d1
test al, 0x12
je 0x8049a6
mov esi, dword [ebp - 0x394]
mov edi, dword [ebp - 0x390]
mov eax, dword [esi + 0x18]
mov edx, dword [edi + 0x18]
add eax, edx
mov esi, eax
sar esi, 0x1f
mov ebx, eax
test esi, esi
jl 0x80356b
jg 0x8005ca
cmp eax, 0x3b9aca00
ja 0x8005ca
mov eax, dword [ebp - 0x56c]
lea edx, [ebx + 2]
call fcn.007c29dc
mov dword [ebp - 0x3a4], eax
test eax, eax
je 0x802c43
mov eax, dword [ebp - 0x394]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov edi, dword [ebp - 0x3a4]
mov dword [esp], edi
call sub.msvcrt.dll_memcpy
mov ecx, edi
mov edi, dword [ebp - 0x394]
mov eax, dword [ebp - 0x390]
mov esi, dword [edi + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
add ecx, esi
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x3a4]
mov eax, edx
add eax, ebx
mov byte [edx + ebx], 0
mov byte [eax + 1], 0
mov ecx, dword [ebp - 0x39c]
test byte [ecx + 0x1c], 0x40
jne 0x804b2f
movzx eax, byte [ebp - 0x389]
mov edi, dword [ebp - 0x39c]
mov byte [edi + 0x1f], al
mov edx, dword [ebp - 0x3a4]
mov dword [edi + 0x18], ebx
mov word [edi + 0x1c], 0x62
mov dword [edi + 0x20], 0
mov dword [edi + 0x14], edx
jmp case.0x7ff36e.0
dec eax
jne 0x801ad7
mov ecx, dword [ebp - 0x398]
mov edx, dword [ebx + 0x14]
movzx eax, byte [ecx]
mov byte [edx + 0x58], al
jmp 0x801ad7
mov eax, dword [ebp - 0x394]
call fcn.007d28ac
mov ebx, eax
mov eax, dword [ebp - 0x390]
mov esi, edx
call fcn.007d28ac
mov dword [ebp - 0x3d0], eax
mov edi, dword [ebp - 0x384]
mov dword [ebp - 0x3cc], edx
movzx eax, byte [edi]
cmp eax, 0x4b
je 0x804b3b
jg 0x8045ac
cmp eax, 0x4a
je 0x804e32
movzx ecx, byte [ebp - 0x3d0]
shrd ebx, esi, cl
sar esi, cl
test cl, 0x20
je 0x80369a
mov ebx, esi
sar esi, 0x1f
mov eax, dword [ebp - 0x39c]
test byte [eax + 0x1c], 0x40
jne 0x804a58
mov edx, dword [ebp - 0x39c]
mov dword [edx], ebx
mov dword [edx + 4], esi
mov word [edx + 0x1c], 4
jmp case.0x7ff36e.0
test byte [ebp - 0x14c], 0x40
jne 0x80495d
cmp ebx, dword [ebp - 0x3fc]
mov esi, 1
mov word [ebp - 0x14c], si
ja 0x8036f3
mov eax, dword [ebp - 0x28c]
cmp dword [ebp - 0x294], eax
jbe 0x8037e0
mov ecx, 0xb
mov dword [ebp - 0x388], ecx
jmp case.0x7ff36e.0
cmp eax, 0x3b9aca00
jle 0x800cca
jmp 0x8005ca
mov edx, dword [ebp - 0x574]
mov eax, ebx
call fcn.007c4bcc
lea edx, [eax + ebx]
mov ebx, dword [ebp - 0x3ec]
mov eax, dword [ebx + esi*4]
jmp 0x801a66
cmp byte [ebp - 0x56d], 0x66
je 0x804b76
lea edx, [ebp - 0x2f0]
call fcn.007ce0bc
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebx + 0x68], 0
mov byte [ebx + 0x1c], al
mov esi, dword [ebp - 0x2f0]
test esi, esi
jne 0x8026e0
mov eax, dword [ebp - 0x384]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
mov byte [ebx + 0x19], 0
jmp case.0x7ff36e.0
mov word [ebx + 0x1c], 0x222
add ebx, 0x24
movzx eax, byte [esi + 3]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, str._.2x
mov dword [esp + 4], eax
call sub.msvcrt.dll_sprintf
mov edx, dword [ebp - 0x360]
mov dword [edx + 0x18], eax
mov dword [edx + 0x14], ebx
mov byte [edx + 0x1e], 3
mov byte [edx + 0x1f], 1
mov word [edx + 0x64], 1
movzx eax, byte [edi + 0xfc]
jmp 0x8028f3
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x3f0]
mov ebx, dword [edx + eax*4]
test ebx, ebx
je 0x804551
mov edx, dword [ebp - 0x3e4]
test edx, edx
je 0x805216
mov eax, dword [ebp - 0x3e4]
add ebx, eax
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x3ec]
mov esi, dword [ebp - 0x3f8]
mov edx, dword [ecx + eax*4]
mov eax, ebx
mov dword [esp], esi
call fcn.007d55ec
movzx eax, byte [ebp - 0x389]
mov byte [esi + 0x1f], al
test byte [ebp - 0x14c], 0x40
je 0x803855
mov ebx, dword [ebp - 0x3f8]
movzx eax, word [ebx + 0x1c]
and eax, 0xfffffeff
or eax, 0x60
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x3f8]
call fcn.007d1d6c
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov eax, dword [esi + 8]
mov dword [ebp - 0x2a0], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x29c], eax
jmp 0x802f71
xor edi, edi
xor esi, esi
mov dword [ebp - 0x388], edi
mov dword [ebp - 0x2a8], esi
jmp 0x801c22
mov eax, 1
mov dword [ebp - 0x49c], eax
jmp 0x80111a
lea eax, [ebp - 0x188]
mov dword [ebp - 0x400], eax
jmp 0x802dab
cmp eax, 0x50
je 0x8051e0
cmp eax, 0x51
jne 0x803f8e
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jp 0x804d23
jne 0x804d23
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x39c]
call fcn.007d2a6c
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ecx + 8]
dec ebx
mov dword [ebp - 0x380], ebx
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
call fcn.007d294c
fldz
mov edi, dword [ebp - 0x384]
fucompp
fnstsw ax
sahf
setne al
setp dl
or al, dl
movzx eax, al
cmp byte [edi], 0x40
jne 0x7ffd3e
test eax, eax
sete al
movzx eax, al
jmp 0x7ffd3e
mov dword [esp], ebx
call fcn.007d2dac
mov dword [esp + 4], eax
xor ecx, ecx
mov dword [esp + 8], ecx
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x388], edx
jmp 0x801d8f
mov dword [edx + 0x68], eax
lea eax, [ebx + ebx*2]
mov edx, dword [edx + 0x6c]
lea eax, [eax*8 + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x56c]
call fcn.007c2a9c
mov esi, dword [ebp - 0x59c]
test eax, eax
mov dword [esi + 0x6c], eax
jne 0x8002a6
mov ecx, dword [ebp - 0x59c]
lea esi, [ecx + 0xf4]
jmp 0x801704
call fcn.007d1c6c
jmp 0x800759
call fcn.007d1c6c
jmp 0x802e04
xor eax, eax
mov dword [esp + 8], eax
mov eax, str.read_only_table
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
mov eax, 1
mov dword [ebp - 0x388], eax
jmp case.0x7ff36e.0
mov ecx, dword [ebp - 0x59c]
mov eax, dword [ebp - 0x56c]
mov edx, dword [ecx + 0x104]
call fcn.007d534c
jmp 0x7ff94b
mov dword [esp], eax
call fcn.007c217c
test eax, eax
je 0x803e59
mov ecx, dword [ebp - 0x39c]
mov word [ecx + 0x1c], 0x50
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x14], eax
jmp 0x7ffefc
call fcn.007d1c6c
jmp 0x80085a
mov eax, esi
call fcn.007d28ac
or eax, edx
setne al
movzx edx, al
jmp 0x800830
mov eax, ecx
call fcn.007d28ac
or eax, edx
setne al
movzx ebx, al
jmp 0x80081b
mov eax, dword [ebx + 0x30]
mov edx, 1
call fcn.007cb01c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x802131
mov esi, dword [edi + 0x10]
test esi, esi
je 0x804cda
mov eax, dword [ebx + 0x30]
lea edx, [ebp - 0x2ac]
mov dword [esp], 2
call fcn.007d09ec
mov dword [ebp - 0x388], eax
test eax, eax
je 0x805150
mov byte [ebx + 0x20], 0
jmp 0x802131
xor edx, edx
mov dword [ebp - 0x474], edx
call fcn.007d0e4c
and eax, 3
dec eax
jne 0x800af3
mov ebx, dword [ebp - 0x470]
cmp byte [ebx + 0x1b], 0
jne 0x803b6f
cmp byte [ebx + 0x1d], 0
je 0x805065
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edx
mov esi, dword [ebp - 0x384]
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x804fda
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2d0]
cmp edx, 0x7fffffff
ja 0x804c3a
jb 0x803b41
cmp eax, 0xfffffffe
ja 0x804c3a
mov esi, dword [ebp - 0x470]
mov byte [esi + 0x1d], 1
mov eax, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
add eax, 1
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x1b]
adc edx, 0
mov dword [esi + 0x14], edx
test al, al
je 0x803c79
mov ecx, dword [ebp - 0x56c]
mov eax, dword [ecx + 0x30]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2d0], eax
xor eax, eax
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x478], eax
jmp 0x803c01
lea edx, [ebp - 0x2d0]
mov eax, 8
call fcn.007c423c
cmp dword [ebp - 0x478], 4
jg 0x803bc3
mov eax, dword [ebp - 0x2d0]
xor edx, edx
mov dword [ebp - 0x2cc], edx
and eax, 0xffffff
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2d0]
mov ebx, ecx
or ebx, edx
jne 0x803c42
cmp dword [ebp - 0x478], 0x63
setle al
xor edx, edx
cmp dword [ebp - 0x474], 0
sete dl
test eax, edx
je 0x8043d4
mov ebx, dword [ebp - 0x2c8]
test ebx, ebx
jne 0x8043d4
mov edi, dword [ebp - 0x478]
test edi, edi
jne 0x803b91
mov ebx, dword [ebp - 0x2d0]
xor edx, edx
mov esi, dword [ebp - 0x2cc]
mov ecx, edx
mov eax, ebx
and eax, 0xffffff
xor ecx, esi
xor eax, ebx
or ecx, eax
jne 0x803b91
add ebx, 1
adc esi, 0
mov dword [ebp - 0x2d0], ebx
mov dword [ebp - 0x2cc], esi
jmp 0x803bc3
mov dword [esp], edx
lea eax, [ebp - 0x2c8]
xor esi, esi
mov dword [esp + 0xc], eax
xor edx, edx
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov esi, dword [ebp - 0x470]
mov eax, dword [esi]
call fcn.007cd34c
inc dword [ebp - 0x478]
mov dword [ebp - 0x474], eax
jmp 0x803bd5
mov eax, dword [ebp - 0x470]
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x68], 0
jmp 0x8015ed
mov dword [esp], esi
xor ebx, ebx
mov ecx, str.cannot_VACUUM_from_within_a_transaction
mov dword [esp + 8], ebx
mov ebx, 1
mov dword [esp + 4], ecx
call fcn.007c2bfc
jmp 0x7ffcce
mov eax, dword [ebx + 0x60]
mov dword [esp], eax
call dword [esi + 0x28]
test eax, eax
je 0x800fd6
mov eax, dword [ebp - 0x384]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x380], edx
jmp 0x800fd6
mov eax, ebx
call fcn.007d544c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov edi, dword [ebx]
xor eax, eax
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e8], edi
cmp byte [ebx + 0x1c], 0
je 0x804a6e
xor eax, eax
mov dword [ebp - 0x28c], eax
mov edi, dword [ebp - 0x3e0]
mov edi, dword [edi + 0x50]
mov dword [ebp - 0x3f4], edi
jmp 0x801946
mov dword [esp], ebx
call fcn.007d2dac
mov dword [esp + 4], eax
xor edx, edx
mov dword [esp + 8], edx
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x388], esi
jmp 0x801529
mov dword [esp], ebx
mov edx, dword [ebp - 0x520]
mov eax, dword [ebp - 0x51c]
call fcn.007c9f6c
mov esi, eax
jmp 0x8006ce
mov eax, dword [ebp - 0x56c]
call fcn.007d5d8c
jmp case.0x7ff36e.0
mov eax, dword [ebx + 0x38]
mov dword [esp], eax
call fcn.007c20bc
mov edx, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x484]
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x40], edx
movzx edx, word [esi + 0x1c]
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x34], eax
test dl, 0x40
je 0x804dac
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x38], eax
mov eax, edx
and eax, 0xffffffbf
or eax, 0x100
mov word [esi + 0x1c], ax
mov byte [ebx + 0x1c], 0
jmp 0x8027fc
lea edx, [esi + esi*8]
mov esi, dword [ebp - 0x59c]
mov eax, dword [esi + 0x4c]
lea edx, [eax + edx*8]
mov eax, edx
mov dword [ebp - 0x394], edx
call fcn.007d2a0c
mov edi, dword [ebp - 0x394]
mov esi, dword [edi]
jmp 0x800a05
mov eax, esi
call fcn.007ca0bc
xor edx, edx
mov eax, esi
call fcn.007cbf4c
mov dword [ebp - 0x518], eax
jmp 0x800dd8
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 4], eax
mov eax, ecx
add eax, 0xf4
mov dword [esp], eax
call fcn.007c2bfc
jmp 0x7ff898
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 4]
call fcn.007d486c
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x384]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
jmp 0x80151b
mov eax, dword [ebp - 0x59c]
lea esi, [eax + 0xf4]
jmp 0x801704
mov edx, dword [ebp - 0x39c]
mov word [edx + 0x1c], 1
jmp case.0x7ff36e.0
lea eax, [ebx + ebx*2]
movzx ebx, byte [eax + edx + 0x9e0bc8]
jmp 0x80084a
mov esi, dword [ebp - 0x59c]
mov dword [esi + 0x74], 5
jmp 0x7ff311
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x74], 0
jmp 0x8014aa
mov edx, dword [ebp - 0x59c]
mov eax, dword [edx + 0x58]
call fcn.007d1b2c
mov dword [ebx + 0xc], eax
test eax, eax
je 0x8039a9
mov dword [esi + 8], eax
mov ebx, eax
mov eax, dword [ebx + 4]
jmp 0x800c61
mov edx, dword [ebp - 0x390]
call fcn.007d2cac
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x36c], eax
mov byte [eax], 0
jmp 0x8028ad
mov eax, dword [eax + 0x14]
mov edx, 1
mov dword [ebp - 0x44c], edx
mov edx, dword [ebp - 0x59c]
movzx eax, byte [eax + 0x58]
cmp al, byte [edx + 0x100]
jae 0x8009f5
mov byte [edx + 0x100], al
jmp 0x8009f5
mov edx, dword [esi + 0x10]
mov edi, dword [ebp - 0x59c]
lea eax, [edx + 5]
mov dword [ebx + 0x48], eax
mov eax, dword [edi]
mov dword [ebx + 0x4c], edx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
movzx eax, byte [eax + 0x59]
mov byte [edx + 4], al
jmp 0x800a7a
mov eax, dword [ebp - 0x390]
call fcn.007d294c
mov eax, dword [ebp - 0x394]
fstp qword [ebp - 0x598]
call fcn.007d294c
fld qword [ebp - 0x598]
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx]
cmp eax, 0x4f
je 0x804cd3
jg 0x8038b8
cmp eax, 0x4e
je 0x8051f1
fnstcw word [ebp - 0x34a]
movzx eax, word [ebp - 0x34a]
or ax, 0xc00
mov word [ebp - 0x34c], ax
fldcw word [ebp - 0x34c]
fistp qword [ebp - 0x358]
fldcw word [ebp - 0x34a]
fldcw word [ebp - 0x34c]
fistp qword [ebp - 0x3c0]
fldcw word [ebp - 0x34a]
mov ebx, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x358]
mov edx, ebx
or edx, ecx
je 0x8038e5
mov eax, ecx
and eax, ebx
inc eax
jne 0x803fee
mov ecx, 1
xor ebx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [ebp - 0x3c0]
mov ebx, dword [ebp - 0x3bc]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.00810694
push edx
push eax
fild qword [esp]
add esp, 8
fucom st(0)
fnstsw ax
sahf
jne 0x8038e3
jp 0x8038e3
mov edx, dword [ebp - 0x39c]
test byte [edx + 0x1c], 0x40
jne 0x804f8c
mov ecx, dword [ebp - 0x39c]
and esi, 8
fstp qword [ecx + 8]
mov word [ecx + 0x1c], 8
jne case.0x7ff36e.0
mov eax, ecx
call fcn.007d29cc
jmp case.0x7ff36e.0
mov ebx, dword [ebp - 0x390]
fld qword [ebx + 8]
fnstcw word [ebp - 0x34a]
movzx eax, word [ebp - 0x34a]
fld st(0)
or ax, 0xc00
mov word [ebp - 0x34c], ax
fldcw word [ebp - 0x34c]
fistp qword [ebp - 0x358]
fldcw word [ebp - 0x34a]
mov esi, dword [ebp - 0x354]
mov ebx, dword [ebp - 0x358]
push esi
push ebx
fild qword [esp]
fxch st(1)
add esp, 8
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x8040b5
add ebx, 1
adc esi, 0
mov edx, dword [ebp - 0x384]
mov edi, dword [edx + 0xc]
test edi, edi
je 0x804b64
push esi
push ebx
fild qword [esp]
add esp, 8
fucompp
fnstsw ax
sahf
setnp al
sete cl
and cl, al
xor edx, edx
movzx eax, cl
add ebx, eax
adc esi, edx
jmp 0x8033b8
mov eax, edi
call fcn.007d1ccc
mov dword [ebp - 0x388], eax
test eax, eax
jne case.0x7ff36e.0
jmp 0x802645
lea eax, [ecx*4 + 4]
mov dword [esp], eax
call fcn.007c217c
mov dword [ebp - 0x1ac], eax
test eax, eax
mov ebx, eax
je 0x804c83
mov ecx, dword [ebp - 0x1b0]
xor esi, esi
cmp ecx, 0
jmp 0x80413f
mov dword [ebx + esi*4], 0
mov ecx, dword [ebp - 0x1b0]
inc esi
cmp ecx, esi
jge 0x80412f
mov edi, dword [ebp - 0x4cc]
mov eax, 0x40000000
cdq
movzx esi, word [edi + 0x1c]
idiv esi
mov esi, eax
inc esi
cmp ecx, esi
jl 0x804161
mov dword [ebx + esi*4], 1
xor ecx, ecx
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 0x4cc]
mov eax, dword [ecx + 0xc]
mov esi, dword [eax + 0x44]
lea eax, [esi + 0x24]
call fcn.007c4cac
mov ebx, eax
lea eax, [esi + 0x20]
xor esi, esi
call fcn.007c4cac
mov dword [esp], eax
mov edx, str.Main_freelist:
lea eax, [ebp - 0x1b8]
mov dword [esp + 8], edx
mov edx, 1
mov dword [esp + 4], ebx
call fcn.007d10bc
cmp esi, dword [ebp - 0x4b8]
jge 0x8041d5
mov eax, dword [ebp - 0x1a8]
test eax, eax
je 0x8041d5
mov ebx, dword [ebp - 0x4bc]
mov edx, dword [ebx + esi*4]
test edx, edx
jne 0x8044c3
inc esi
cmp esi, dword [ebp - 0x4b8]
jl 0x8041b1
mov ebx, dword [ebp - 0x1b0]
mov esi, 1
test ebx, ebx
jle 0x804257
mov ecx, dword [ebp - 0x1a8]
test ecx, ecx
je 0x804257
mov ebx, dword [ebp - 0x1ac]
mov edx, dword [ebx + esi*4]
test edx, edx
jne 0x8042d2
mov eax, dword [ebp - 0x4cc]
mov edx, esi
call fcn.007ca13c
cmp eax, esi
jne 0x80421c
mov eax, dword [ebp - 0x4cc]
cmp byte [eax + 0x16], 0
jne 0x804243
mov dword [esp + 0xc], esi
mov eax, str.Page__d_is_never_used
lea edx, [ebp - 0x1b8]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.007d0e9c
mov ebx, dword [ebp - 0x1ac]
mov eax, dword [ebx + esi*4]
test eax, eax
jne 0x8042d2
inc esi
cmp dword [ebp - 0x1b0], esi
jge 0x8041e4
mov eax, dword [ebp - 0x4cc]
call fcn.007caf4c
mov esi, dword [ebp - 0x4cc]
mov eax, dword [esi]
call fcn.007c91bc
cmp eax, dword [ebp - 0x4c8]
je 0x8042a2
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x4c8]
mov eax, str.Outstanding_page_count_goes_from__d_to__d_during_this_analysis
mov dword [esp + 8], eax
lea eax, [ebp - 0x1b8]
mov dword [esp + 0xc], edi
xor edi, edi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.007d0e9c
mov eax, dword [ebp - 0x4c4]
call fcn.007c9c2c
mov eax, dword [ebp - 0x1ac]
mov dword [esp], eax
call fcn.007c20bc
mov eax, dword [ebp - 0x1a0]
mov ebx, dword [ebp - 0x1a4]
mov dword [ebp - 0x31c], eax
jmp 0x801835
mov eax, dword [ebp - 0x4cc]
mov edx, esi
call fcn.007ca13c
cmp eax, esi
jne 0x80424e
mov ecx, dword [ebp - 0x4cc]
cmp byte [ecx + 0x16], 0
je 0x80424e
mov dword [esp + 0xc], esi
mov eax, str.Pointer_map_page__d_is_referenced
lea ebx, [ebp - 0x1b8]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007d0e9c
jmp 0x80424e
test al, al
js 0x804df8
test dl, 8
je case.0x7ff36e.0
mov esi, dword [ebp - 0x384]
mov edi, dword [esi + 8]
dec edi
mov dword [ebp - 0x380], edi
jmp case.0x7ff36e.0
cmp byte [ebx + 0x1c], 0
jne case.0x7ff36e.0
mov eax, dword [ebx]
lea edx, [ebp - 0x2e8]
call fcn.007cd75c
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
jmp 0x7ff924
test ecx, ecx
je case.0x7ff36e.0
mov edx, dword [ebp - 0x384]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x380], ecx
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x388], eax
jmp 0x8016e5
mov eax, ecx
call fcn.007d1ccc
jmp 0x8001d9
movzx ebx, byte [ebp - 0x389]
movsx esi, al
mov edx, esi
mov dword [esp], ebx
mov eax, dword [ebp - 0x390]
call fcn.007d703c
mov dword [esp], ebx
mov edx, esi
mov eax, dword [ebp - 0x398]
call fcn.007d703c
jmp 0x8001c9
mov ecx, dword [ebp - 0x474]
mov eax, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
mov edi, dword [ebp - 0x56c]
test ecx, ecx
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
jne 0x803c79
mov edx, dword [ebp - 0x2c8]
test edx, edx
jne 0x803c79
mov edi, 0xd
mov dword [ebp - 0x388], edi
jmp 0x800afe
mov eax, ebx
call fcn.007d1ccc
jmp 0x8001e9
cmp eax, 0x50
je 0x804e4b
cmp eax, 0x51
jne 0x802445
mov ecx, dword [ebp - 0x3ac]
or ecx, dword [ebp - 0x3b0]
je 0x8038e5
mov eax, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x3ac]
not eax
not edx
or eax, edx
mov edx, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3b8]
sete cl
xor edx, 0x80000000
or eax, edx
sete al
movzx eax, al
test ecx, eax
je 0x804492
mov eax, 1
mov dword [ebp - 0x3b0], eax
xor eax, eax
mov dword [ebp - 0x3ac], eax
mov esi, dword [ebp - 0x3ac]
mov ebx, dword [ebp - 0x3b0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov esi, dword [ebp - 0x3b8]
mov edi, dword [ebp - 0x3b4]
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00810444
jmp 0x8024a7
mov edi, dword [ebp - 0x4cc]
cmp byte [edi + 0x16], 0
je 0x8044f5
cmp edx, 1
jle 0x8044f5
mov dword [esp], 1
xor eax, eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x1b8]
call fcn.007d0ffc
mov edx, dword [ebx + esi*4]
mov dword [esp], 0
mov edi, str.List_of_tree_roots:
lea eax, [ebp - 0x1b8]
mov dword [esp + 4], edi
inc esi
call fcn.007d133c
jmp 0x8041a9
not eax
neg edx
jmp 0x800b9a
mov eax, dword [ebp - 0x2b0]
test eax, eax
js 0x804d9b
mov eax, dword [ebx]
lea edx, [ebp - 0x2b0]
call fcn.007ce0bc
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov byte [ebx + 0x19], 0
jmp 0x80121c
mov edx, dword [ebp - 0x384]
cmp byte [edx + 1], 0xf8
jne 0x803836
mov edx, dword [edx + 0x10]
mov dword [esp], pe_nt_image_headers32
mov eax, dword [ebp - 0x3f8]
call fcn.007d2c0c
jmp 0x803836
mov dword [esp + 8], eax
mov ebx, str.no_such_module:__s
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0x56c]
mov dword [esp], esi
call fcn.007c41ac
mov edi, dword [ebp - 0x59c]
mov dword [edi + 0xf4], eax
mov eax, 1
jmp 0x801424
cmp eax, 0x4c
jne 0x803684
movzx ecx, byte [ebp - 0x3d0]
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
je 0x80369a
mov esi, ebx
xor ebx, ebx
jmp 0x80369a
mov byte [ebx + 0x1d], 0
jmp 0x80278e
mov eax, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x3ac]
sub dword [ebp - 0x3b8], eax
sbb dword [ebp - 0x3b4], edx
jmp 0x8024b3
mov eax, dword [ecx + 0x20]
mov dword [edx + 0x10], eax
jmp 0x7fff99
cmp eax, 0
jbe case.0x7ff36e.0
jmp 0x802313
mov eax, ecx
call fcn.007d1c6c
jmp 0x8024c3
mov edi, dword [esi + 8]
mov ebx, 6
test edi, edi
jne 0x80321d
xor ecx, ecx
lea eax, [ebp - 0x30c]
mov dword [esp], eax
mov eax, esi
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0x4a8]
call fcn.007cac3c
test eax, eax
mov ebx, eax
jne 0x80321d
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x4a4]
call fcn.007d0dac
test eax, eax
mov ebx, eax
jne 0x8053c6
xor edx, edx
cmp dword [ebp - 0x4a8], 1
mov dword [ebp - 0x308], edx
jle 0x8053d6
cmp byte [esi + 0x16], 0
je 0x8053b9
lea eax, [ebp - 0x310]
mov edx, 4
mov dword [esp], eax
mov eax, dword [ebp - 0x4a4]
call fcn.007d089c
test eax, eax
mov ebx, eax
jne 0x8053c6
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [ebp - 0x310]
je 0x805373
mov eax, dword [ebp - 0x30c]
call fcn.007ca0ec
mov edx, dword [ebp - 0x310]
xor eax, eax
lea ecx, [ebp - 0x314]
mov dword [esp + 4], eax
mov eax, esi
mov dword [esp], ecx
call fcn.007cac3c
test eax, eax
mov ebx, eax
jne 0x80321d
mov edx, dword [ebp - 0x314]
xor eax, eax
mov ebx, dword [ebp - 0x4a8]
mov dword [esp + 4], eax
mov eax, esi
mov dword [esp + 8], ebx
mov dword [esp], 1
call fcn.007cb4fc
mov ebx, eax
mov eax, dword [ebp - 0x314]
call fcn.007ca0ec
test ebx, ebx
jne 0x80321d
mov edx, dword [ebp - 0x310]
xor eax, eax
lea edi, [ebp - 0x314]
mov dword [esp + 4], eax
mov eax, esi
mov dword [esp], edi
call fcn.007cac3c
test eax, eax
mov ebx, eax
jne 0x80321d
mov eax, dword [ebp - 0x314]
call fcn.007ce1ec
mov ebx, eax
mov eax, dword [ebp - 0x314]
call fcn.007ca0ec
test ebx, ebx
jne 0x80321d
mov ebx, dword [ebp - 0x310]
mov dword [ebp - 0x308], ebx
movzx edx, word [esi + 0x1c]
mov ecx, 0x40000000
mov eax, ecx
dec ebx
mov dword [ebp - 0x310], ebx
mov edi, edx
cdq
idiv edi
mov ecx, eax
lea eax, [eax + 1]
cmp eax, ebx
jne 0x8047a7
mov dword [ebp - 0x310], ecx
mov ebx, ecx
mov edx, ebx
mov eax, esi
call fcn.007ca13c
cmp eax, ebx
jne 0x8047bb
dec ebx
mov dword [ebp - 0x310], ebx
mov dword [esp], ebx
mov edx, 4
mov eax, dword [ebp - 0x4a4]
call fcn.007d095c
mov ebx, eax
jmp 0x80321d
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edi + 8]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
test byte [eax + 0x1c], 0x40
mov dword [ebp - 0x39c], eax
jne 0x8050a8
mov esi, dword [ebp - 0x39c]
mov edi, ebx
sar edi, 0x1f
mov word [esi + 0x1c], 4
mov dword [esi], ebx
mov dword [esi + 4], edi
jmp case.0x7ff36e.0
mov edx, dword [ebp - 0x368]
mov dword [ebx + edx], 0x2e2e2e2c
mov eax, dword [ebp - 0x368]
mov byte [ebx + eax], 0x29
mov byte [ebx + eax + 1], 0
jmp 0x8028ad
mov ebx, dword [ebp - 0x39c]
mov esi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x10]
lea edx, [esi + 2]
call fcn.007c29dc
test eax, eax
mov ebx, eax
je 0x802c43
mov edx, dword [ebp - 0x39c]
movzx eax, word [edx + 0x1c]
mov dword [edx + 0x20], 0
or eax, 0x60
mov word [edx + 0x1c], ax
mov eax, dword [edx + 0x14]
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov byte [esi + ebx], 0
mov byte [ebx + esi + 1], 0
mov ecx, dword [ebp - 0x39c]
movzx eax, word [ecx + 0x1c]
mov dword [ecx + 0x14], ebx
and eax, 0xfffffc7f
mov word [ecx + 0x1c], ax
jmp 0x80057c
mov eax, edx
call fcn.007d1ccc
mov ecx, dword [ebp - 0x39c]
movzx eax, word [ecx + 0x1c]
jmp 0x800571
cmp byte [esi + 0x10], 0
jne 0x7ffe37
xor ebx, ebx
cmp byte [esi + 0x11], 0
je 0x8050fc
mov byte [esi + 0x10], 1
jmp 0x7ffe45
mov eax, dword [ebp - 0x460]
mov edx, esi
call fcn.007cdf7c
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x2b8]
test eax, eax
je 0x7ff7fd
mov ecx, dword [ebp - 0x384]
mov ebx, dword [ecx + 8]
dec ebx
mov dword [ebp - 0x380], ebx
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x390]
call fcn.007d1c6c
jmp 0x8033c5
mov eax, dword [ebp - 0x398]
call fcn.007d28ac
mov dword [ebp - 0x458], eax
mov edi, dword [ebp - 0x384]
mov dword [ebp - 0x454], edx
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x804f2f
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x1f], 1
jmp case.0x7ff36e.0
lea eax, [ebp - 0x168]
call fcn.007d1c6c
jmp 0x8036cd
fld qword [ebp - 0x3d8]
mov eax, dword [ebp - 0x390]
fstp qword [eax + 8]
mov word [eax + 0x1c], 8
call fcn.007d1c6c
jmp case.0x7ff36e.0
lea edx, [ebp - 0x294]
mov eax, ebx
call fcn.007c4bcc
mov edx, dword [ebp - 0x294]
mov esi, eax
jmp 0x8019e1
movzx edx, byte [ebp - 0x389]
mov eax, dword [ebp - 0x394]
call fcn.007d27bc
test eax, eax
je 0x80353b
mov ebx, dword [ebp - 0x59c]
lea esi, [ebx + 0xf4]
jmp 0x801704
mov eax, ecx
call fcn.007d1ccc
mov ebx, dword [ebp - 0x394]
movzx eax, word [ebx + 0x1c]
jmp 0x803533
movzx edx, byte [ebp - 0x389]
mov eax, dword [ebp - 0x390]
call fcn.007d27bc
test eax, eax
je 0x803520
jmp 0x8039a9
mov eax, dword [ebp - 0x390]
call fcn.007d1ccc
mov eax, dword [ebp - 0x390]
movzx eax, word [eax + 0x1c]
mov word [ebp - 0x568], ax
jmp 0x803511
mov dword [esp], ebx
call fcn.007d2dac
mov dword [esp + 4], eax
xor edx, edx
mov dword [esp + 8], edx
mov esi, dword [ebp - 0x59c]
add esi, 0xf4
mov dword [esp], esi
call fcn.007c2bfc
jmp 0x80062b
call fcn.007d1c6c
jmp 0x8036aa
mov eax, dword [ebx + 0x4c]
mov byte [eax + 6], 1
jmp 0x802260
mov edx, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x54]
cmp dword [ecx + 0x68], eax
je 0x8050b2
mov esi, dword [ebp - 0x3e0]
cmp byte [esi + 0x21], 0
je 0x804ec1
mov eax, dword [ebp - 0x3e8]
lea edx, [ebp - 0x288]
call fcn.007cd75c
mov eax, dword [ebp - 0x288]
jmp 0x803d0b
mov eax, esi
call fcn.007d1c6c
jmp 0x80251a
mov eax, dword [ebx + 0x24]
test eax, eax
je case.0x7ff36e.0
mov edx, dword [eax + 8]
cmp dword [edx + 0x14], ecx
je 0x804ad5
mov eax, dword [eax]
jmp 0x804ac1
mov dword [edx + 0x14], esi
mov eax, dword [eax]
jmp 0x804ac1
mov eax, dword [ebp - 0x390]
call fcn.007d1c6c
jmp 0x8032c5
mov eax, esi
call fcn.007d1ccc
jmp 0x7fffde
movzx eax, byte [ebp - 0x389]
mov edx, 0x61
mov dword [esp], eax
mov eax, dword [ebp - 0x390]
call fcn.007d703c
mov edx, dword [ebp - 0x390]
movzx eax, word [edx + 0x1c]
or eax, 0x10
mov word [edx + 0x1c], ax
mov word [ebp - 0x568], ax
jmp 0x800995
mov eax, ecx
call fcn.007d1c6c
jmp 0x8035f4
mov eax, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x3cc]
or eax, ebx
or edx, esi
mov ebx, eax
mov esi, edx
jmp 0x80369a
mov eax, dword [ebp - 0x56c]
call fcn.007e2f3c
jmp 0x801424
fstp st(0)
jmp 0x8033b8
mov eax, dword [ebx + 0x28]
mov dword [edx + 0x20], eax
jmp 0x800355
lea edx, [ebp - 0x2f0]
call fcn.007cdf7c
jmp 0x803749
mov eax, ecx
call fcn.007d1ccc
jmp 0x80119e
mov eax, ebx
call fcn.007d054c
mov dword [ebp - 0x388], eax
jmp 0x8007fa
cmp byte [edi + 0x21], 0
je 0x8050e6
mov eax, dword [ebp - 0x3e8]
lea edx, [ebp - 0x290]
call fcn.007cd12c
mov ebx, eax
mov eax, dword [ebp - 0x28c]
cmp dword [ebp - 0x290], eax
jb 0x8050d4
mov dword [ebp - 0x3e4], ebx
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x78], ebx
jmp 0x8019ca
cmp dword [ebp - 0x290], edx
jae 0x8019ef
lea eax, [ebp - 0x168]
mov dword [esp + 8], eax
mov edi, dword [ebp - 0x3e0]
movzx eax, byte [edi + 0x21]
mov dword [esp], edx
xor edx, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3e8]
call fcn.007d41fc
mov dword [ebp - 0x388], eax
test eax, eax
jne case.0x7ff36e.0
mov ebx, dword [ebp - 0x154]
mov edx, dword [ebp - 0x294]
jmp 0x8019ef
mov edi, dword [ebp - 0x470]
movzx eax, byte [edi + 0x1b]
mov byte [edi + 0x1d], 0
jmp 0x803b67
xor eax, eax
mov dword [ebp - 0x49c], eax
mov eax, ebx
call fcn.007cde6c
jmp 0x8010fd
mov eax, 0x14
call fcn.007d1b2c
mov dword [esi + 4], eax
test eax, eax
mov ebx, eax
mov dword [esi + 8], eax
je 0x8039a9
mov eax, dword [ebx + 4]
jmp 0x800c61
mov eax, dword [ebp - 0x4cc]
mov esi, 1
mov ebx, str.Unable_to_malloc__d_bytes
call fcn.007caf4c
mov dword [ebp - 0x31c], esi
mov eax, dword [ebp - 0x4c4]
call fcn.007c9c2c
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 4], ebx
lea eax, [eax*4 + 4]
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x4c4]
mov eax, dword [esi]
mov dword [esp], eax
call fcn.007c41ac
jmp 0x801833
fsubp st(1)
jmp 0x804016
mov eax, dword [ebx + 0x30]
xor edx, edx
xor edi, edi
mov dword [esp + 8], edx
mov edx, 1
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov dword [esp], 1
call fcn.007cdcac
mov dword [ebp - 0x388], eax
lea eax, [ebx + 0x22]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x48], eax
jmp 0x802131
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.007c20bc
jmp 0x8005a2
fdivp st(1)
jmp 0x804016
mov eax, dword [ebx + 0x60]
mov dword [esp], eax
call dword [esi + 0x28]
test eax, eax
jne case.0x7ff36e.0
jmp 0x801baf
mov eax, dword [ebp - 0x390]
call fcn.007d1ccc
mov dword [ebp - 0x388], eax
mov esi, dword [ebp - 0x390]
movzx esi, word [esi + 0x1c]
mov word [ebp - 0x568], si
jmp 0x800959
mov eax, dword [ebp - 0x304]
neg eax
jmp 0x80003d
test cl, 4
jne 0x80526b
test cl, 8
je 0x8028ad
fld qword [eax + 8]
mov ecx, str._.16g
mov dword [esp + 8], ecx
fstp qword [esp + 0xc]
jmp 0x8029b3
mov eax, dword [ebx]
cmp byte [eax + 0x49], 1
setne al
movzx eax, al
jmp 0x801216
add eax, 2
mov dword [esp], eax
call fcn.007c217c
mov dword [ebx + 0x38], eax
test eax, eax
mov ecx, eax
je 0x802c43
mov edx, dword [esi + 0x14]
mov eax, dword [ebx + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x38]
mov byte [edx + eax], 0
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x34]
mov byte [edx + eax + 1], 0
mov byte [ebx + 0x1c], 0
jmp 0x8027fc
mov edx, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x59c]
mov eax, dword [edx + 8]
mov edx, dword [ecx + 0x4c]
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
test byte [eax + 0x1c], 0x40
mov dword [ebp - 0x39c], eax
je 0x804e21
call fcn.007d1c6c
mov ebx, dword [ebp - 0x39c]
mov word [ebx + 0x1c], 1
jmp case.0x7ff36e.0
mov eax, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x3cc]
and eax, ebx
and edx, esi
mov ebx, eax
mov esi, edx
jmp 0x80369a
mov eax, dword [ebp - 0x3b8]
mov ebx, dword [ebp - 0x3b8]
mul dword [ebp - 0x3b0]
mov ecx, edx
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x3ac]
mov edx, dword [ebp - 0x5a8]
imul ebx, eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], edx
add ecx, ebx
mov ebx, dword [ebp - 0x3b0]
imul ebx, eax
add ecx, ebx
mov dword [ebp - 0x5a4], ecx
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x3b4], ecx
jmp 0x8024b3
mov esi, dword [ebp - 0x3b0]
mov edi, dword [ebp - 0x3ac]
add dword [ebp - 0x3b8], esi
adc dword [ebp - 0x3b4], edi
jmp 0x8024b3
mov eax, dword [ebp - 0x3e8]
lea edx, [ebp - 0x28c]
call fcn.007cdb9c
jmp 0x803d11
mov eax, dword [ebp - 0x460]
lea edx, [ebp - 0x2c0]
call fcn.007d5b9c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov ecx, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x468]
xor edx, ebx
xor eax, ecx
or edx, eax
jne 0x8051f8
mov edx, dword [ebp - 0x384]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x380], ecx
jmp case.0x7ff36e.0
lea eax, [ebp - 0x2b0]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x458]
mov edx, dword [ebp - 0x454]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [ebx]
xor edx, edx
call fcn.007cd34c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov eax, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x454]
test eax, eax
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], ecx
sete byte [ebx + 0x19]
jmp 0x8011df
fstp qword [ebp - 0x588]
mov eax, edx
call fcn.007d1c6c
fld qword [ebp - 0x588]
jmp 0x804037
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x56c]
shl edx, 3
call fcn.007c29dc
mov dword [ebp - 0x3ec], eax
mov ebx, dword [ebp - 0x3e0]
test eax, eax
mov dword [ebx + 0x70], eax
je 0x803e59
mov edx, dword [ebp - 0x28c]
jmp 0x80198f
mov edi, dword [ebp - 0x59c]
lea edx, [eax + eax*8]
mov eax, dword [edi + 0x4c]
lea edx, [eax + edx*8]
mov eax, edx
mov dword [ebp - 0x47c], edx
call fcn.007d2a0c
mov eax, dword [ebp - 0x47c]
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
mov edx, ebx
mov eax, ecx
xor edx, 0x7fffffff
not eax
or edx, eax
je 0x804408
mov edx, dword [ebp - 0x470]
cmp byte [edx + 0x1b], 0
jne 0x804408
mov esi, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0x2cc]
add ebx, 1
mov edx, dword [ebp - 0x2d0]
adc esi, 0
cmp esi, ecx
jl 0x805055
jg 0x805045
cmp ebx, edx
jbe 0x805055
mov dword [ebp - 0x2d0], ebx
mov edx, ebx
mov ecx, esi
mov dword [ebp - 0x2cc], esi
mov ebx, dword [ebp - 0x47c]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
jmp 0x803b1e
mov edi, dword [ebp - 0x470]
lea edx, [ebp - 0x2c8]
mov eax, dword [edi]
call fcn.007cdf2c
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x800afe
mov eax, dword [ebp - 0x2c8]
test eax, eax
je 0x80510e
mov eax, 1
mov dword [ebp - 0x2d0], eax
xor eax, eax
mov dword [ebp - 0x2cc], eax
jmp 0x803b0d
call fcn.007d1c6c
jmp 0x8047fe
mov eax, dword [ecx + 0x6c]
mov ebx, dword [ecx + 0x78]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x3e4], ebx
jmp 0x803d11
mov eax, dword [ecx + 0x20]
mov dword [edx + 0x20], eax
jmp 0x7fff99
mov esi, dword [ebp - 0x3e0]
mov dword [esi + 0x78], 0
jmp 0x8019ca
mov eax, dword [ebp - 0x3e8]
lea edx, [ebp - 0x290]
call fcn.007cd14c
jmp 0x804bbf
mov eax, dword [esi]
call fcn.007c91cc
mov byte [esi + 0x10], 1
mov ebx, eax
jmp 0x7ffe45
mov ecx, dword [ebp - 0x470]
lea edx, [ebp - 0x2d0]
mov eax, dword [ecx]
call fcn.007cd75c
mov ecx, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2cc]
mov eax, ecx
mov edx, ebx
not eax
xor edx, 0x7fffffff
or edx, eax
jne 0x805290
mov ebx, dword [ebp - 0x470]
mov byte [ebx + 0x1b], 1
jmp 0x803b0d
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0xc], ebx
mov ecx, dword [edi + 0x10]
mov dword [esp], 1
mov dword [esp + 8], ecx
mov ecx, fcn.007d582c
mov dword [esp + 4], ecx
call fcn.007cdcac
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x59c]
mov edx, dword [edi + 0x10]
mov eax, dword [ecx]
mov dword [ebx + 0x4c], edx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
movzx eax, byte [eax + 0x59]
mov byte [edx + 4], al
mov eax, dword [ebx + 0x4c]
mov byte [ebx + 0x20], 0
add eax, 5
mov dword [ebx + 0x48], eax
jmp 0x802131
mov eax, dword [ebp - 0x56c]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x330]
mov dword [esp], eax
call dword [esi + 0x1c]
jmp case.0x7ff36e.0
mov eax, dword [ebx]
lea edx, [ebp - 0x2b0]
call fcn.007cdf7c
jmp 0x80453a
xor eax, eax
jmp 0x801271
fmulp st(1)
jmp 0x804016
mov eax, 9
jmp 0x8005f1
faddp st(1)
jmp 0x804016
mov esi, dword [ebp - 0x398]
mov dword [esi], ecx
mov dword [esi + 4], ebx
jmp case.0x7ff36e.0
mov eax, edi
call fcn.007caf0c
mov edx, eax
jmp 0x7ffaf6
mov ecx, dword [ebp - 0x3dc]
mov esi, dword [ebp - 0x3ec]
mov eax, dword [esi + ecx*4]
call fcn.007d55cc
lea edx, [ebp - 0x168]
mov dword [esp + 8], edx
mov edi, dword [ebp - 0x3e0]
movzx edx, byte [edi + 0x21]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x3e8]
mov edx, ebx
call fcn.007d41fc
mov dword [ebp - 0x388], eax
test eax, eax
jne case.0x7ff36e.0
mov ebx, dword [ebp - 0x154]
jmp 0x80380d
mov edx, dword [eax + 4]
mov ebx, str._lld
mov eax, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x368]
mov dword [esp + 4], edx
jmp 0x80293d
add ecx, 1
adc ebx, 0
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], ebx
jmp 0x803b0d
test ecx, ecx
jne 0x80533e
mov eax, dword [ebp - 0x56c]
mov byte [eax + 0x1c], bl
mov eax, dword [ebp - 0x59c]
call fcn.007e318c
cmp eax, 5
je 0x80530b
mov edx, dword [ebp - 0x59c]
mov eax, 1
mov dword [ebp - 0x388], eax
mov eax, dword [edx + 0x74]
test eax, eax
jne 0x7ff311
mov eax, 0x65
jmp 0x7ff8d3
mov esi, 0x14
mov dword [ebp - 0x388], esi
jmp 0x800afe
lea eax, [ebp - 0x70]
call fcn.007d1c6c
jmp 0x8049c0
mov edi, dword [ebp - 0x59c]
mov al, 1
mov esi, dword [ebp - 0x380]
mov edx, dword [ebp - 0x56c]
sub al, bl
mov dword [edi + 0x70], esi
mov byte [edx + 0x1c], al
mov eax, 5
mov dword [ebp - 0x388], eax
mov dword [edi + 0x74], 5
jmp 0x7ff311
mov eax, dword [ebp - 0x56c]
call fcn.007e30cc
mov edi, dword [ebp - 0x56c]
mov byte [edi + 0x1c], 1
jmp 0x8052c8
mov edx, dword [ebp - 0x59c]
mov eax, dword [ebp - 0x380]
mov dword [edx + 0x74], 5
mov dword [edx + 0x70], eax
jmp 0x7ff311
mov eax, dword [ebp - 0x30c]
call fcn.007ce1ec
mov ebx, eax
mov eax, dword [ebp - 0x30c]
call fcn.007ca0ec
test ebx, ebx
jne 0x80321d
mov ebx, dword [ebp - 0x310]
jmp 0x80477f
mov ebx, dword [ebp - 0x59c]
mov ecx, dword [ebp - 0x380]
mov dword [ebx + 0x74], 5
mov dword [ebx + 0x70], ecx
jmp 0x7ff311
mov eax, dword [ebp - 0x30c]
call fcn.007ce1ec
mov ebx, eax
mov eax, dword [ebp - 0x30c]
call fcn.007ca0ec
jmp 0x80321d
mov eax, dword [ebp - 0x30c]
mov edx, 9
call fcn.007cab7c
jmp 0x8053c6
cmp byte [ecx + 8], 2
jne 0x7ffc91
mov edi, dword [ebp - 0x508]
mov ebx, 5
mov eax, dword [edi + 8]
test eax, eax
jne 0x7ffc96
mov eax, dword [edi]
mov ebx, 0x40000000
call fcn.007c770c
mov dword [ebp - 0x500], eax
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
call fcn.007c770c
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0x4fc], eax
mov eax, ebx
cdq
idiv ecx
mov ecx, eax
mov eax, 1
mov dword [ebp - 0x4f8], eax
mov eax, dword [ebp - 0x4fc]
inc ecx
cmp dword [ebp - 0x4f8], eax
mov dword [ebp - 0x504], ecx
ja 0x805487
mov edx, dword [ebp - 0x504]
cmp dword [ebp - 0x4f8], edx
jne 0x8054da
inc dword [ebp - 0x4f8]
test esi, esi
mov edx, dword [ebp - 0x4fc]
sete al
cmp dword [ebp - 0x4f8], edx
setbe dl
movzx edx, dl
test eax, edx
jne 0x805458
mov ecx, dword [ebp - 0x4fc]
mov ebx, dword [ebp - 0x500]
inc ecx
mov dword [ebp - 0x4f8], ecx
test esi, esi
sete al
cmp ecx, ebx
setbe dl
movzx edx, dl
test eax, edx
je 0x8055a3
mov edi, dword [ebp - 0x504]
cmp dword [ebp - 0x4f8], edi
jne 0x805553
inc dword [ebp - 0x4f8]
test esi, esi
mov ebx, dword [ebp - 0x500]
sete al
cmp dword [ebp - 0x4f8], ebx
jmp 0x8054a1
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x324]
mov dword [esp], eax
mov ecx, dword [ebp - 0x50c]
mov edx, dword [ebp - 0x4f8]
mov eax, dword [ecx]
call fcn.007c88bc
test eax, eax
mov esi, eax
jne 0x805487
mov eax, dword [ebp - 0x324]
mov ebx, dword [ebp - 0x508]
call fcn.007c916c
mov dword [ebp - 0x514], eax
xor eax, eax
mov esi, dword [ebx]
mov dword [esp + 4], eax
lea eax, [ebp - 0x328]
mov dword [esp], eax
mov edx, dword [ebp - 0x4f8]
mov eax, esi
call fcn.007c88bc
test eax, eax
mov ebx, eax
je 0x8055e8
mov eax, dword [ebp - 0x324]
mov esi, ebx
call fcn.007c87ec
jmp 0x805466
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x32c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x508]
mov edx, dword [ebp - 0x4f8]
mov eax, dword [ecx]
call fcn.007c88bc
test eax, eax
mov esi, eax
jne 0x8055a3
mov eax, dword [ebp - 0x32c]
call fcn.007c990c
mov esi, eax
mov eax, dword [ebp - 0x32c]
call fcn.007c917c
mov eax, dword [ebp - 0x32c]
call fcn.007c87ec
jmp 0x8054c1
test esi, esi
mov edi, dword [ebp - 0x500]
sete al
xor edx, edx
cmp dword [ebp - 0x4fc], edi
setb dl
test eax, edx
je 0x8055d2
mov ecx, dword [ebp - 0x508]
mov edx, dword [ebp - 0x4fc]
mov eax, dword [ecx]
call fcn.007c829c
mov esi, eax
test esi, esi
je 0x8055e1
mov eax, dword [ebp - 0x4e4]
call fcn.007cd92c
mov ebx, esi
jmp 0x7ffc96
mov eax, dword [ebp - 0x328]
call fcn.007c990c
test eax, eax
mov ebx, eax
jne 0x80561d
mov eax, dword [ebp - 0x328]
call fcn.007c916c
mov edx, dword [esi + 0x40]
mov dword [esp + 8], edx
mov esi, dword [ebp - 0x514]
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x328]
call fcn.007c87ec
jmp 0x805541