Function at 0x452fa5
Capabilities:
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x18c
mov dword [ebp - 0xe8], eax
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
mov al, byte [eax + 0x42]
mov byte [ebp - 0x135], al
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x11c], edx
call fcn.004033c9
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x28], 7
je 0x45a453
mov dword [eax + 0x28], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x184], 0
mov eax, dword [eax + 0xf8]
test eax, eax
jne 0x45a4a0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x14c], 0
cmp dword [eax + 0x130], 0
je 0x45308a
mov ecx, dword [eax + 0x138]
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov eax, dword [eax + 0xac]
div ecx
sub ecx, edx
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x136], 0
mov dword [ebp - 0x100], 0
imul eax, dword [eax + 0x24], 0x18
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
movzx eax, byte [ebp - 0x135]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xf4]
inc dword [ebp - 0x12c]
mov cl, byte [eax]
cmp cl, 0x9e
ja case.0x4530f6.112
movzx edi, cl
jmp dword [edi*4 + 0x49b55c]
mov edx, dword [edi + 0x24]
mov eax, dword [edx + 4]
mov dword [edi + 0x24], eax
mov dword [edx + 4], 0
cmp dword [edi + 0x28], 0
je 0x4573d3
xor eax, eax
cmp dword [edi + 0x24], 0
mov dword [ebp - 0x100], 0
sete al
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x100], 0
mov dword [ebx + 0x1c], 0
jne 0x45a31c
cmp dword [ebp - 0x80], 0
jne 0x45744a
mov eax, dword [ebp - 0xf4]
mov byte [ebx + 2], 0
mov edi, dword [ebp - 0xe8]
movzx eax, byte [eax + 3]
inc dword [edi + eax*4 + 0x9c]
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x108]
imul eax, dword [eax + 8], 0x18
lea eax, [edi + eax - 0x18]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xf8]
test eax, eax
jne 0x45a4bd
mov edi, dword [ebp - 0x12c]
cmp dword [ebp - 0x14c], edi
mov eax, dword [ebp - 0xf8]
mov ebx, dword [eax + 0x130]
ja case.0x4530f6.112
test ebx, ebx
je case.0x4530f6.112
mov ecx, dword [eax + 0x138]
xor edx, edx
mov eax, edi
div ecx
mov eax, dword [ebp - 0xf8]
lea esi, [edi + ecx]
mov eax, dword [eax + 0x134]
sub esi, edx
mov dword [ebp - 0x14c], esi
mov dword [esp], eax
call ebx
test eax, eax
je case.0x4530f6.112
jmp 0x45a2e2
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
sub eax, dword [ebp - 0x108]
add edx, dword [ebp - 0x104]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov word [edx + 8], 4
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x108]
imul eax, dword [eax + 8], 0x18
lea eax, [edi + eax - 0x18]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0x104]
imul eax, dword [edx], 0x18
mov word [edx + 8], pe_nt_image_headers32
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
mov edi, dword [edi + 0xc]
add eax, dword [ebp - 0x104]
lea edx, [edi - 1]
mov dword [ebp - 0x110], edi
mov dword [eax], edx
sar edx, 0x1f
mov word [eax + 8], 4
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jmp 0x454675
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x108]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
imul edx, dword [eax], 0x18
imul edx, dword [edi + edx + 8], 0x18
mov word [eax + 8], pe_nt_image_headers32
lea edi, [edi + edx - 0x18]
mov dword [ebp - 0xf4], edi
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x108]
imul edx, dword [eax + 4], 0x28
sar ecx, 3
add edx, dword [ebp - 0x104]
imul ecx, ecx, 0xaaaaaaab
mov eax, dword [edx]
mov dword [edx], ecx
sar ecx, 0x1f
mov word [edx + 8], 4
mov dword [edx + 4], ecx
imul eax, eax, 0x18
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 0xc], 0x28
test byte [edi + eax + 8], 1
je case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
test edx, edx
jne 0x4533e3
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x4533e3
mov edx, dword [eax + 4]
mov edi, dword [ebp - 0xe8]
mov dword [edi + 0xb8], edx
dec dword [edi + 0xc0]
mov edx, dword [edi + 0x2c]
mov edi, dword [ebp - 0xf8]
add dword [edi + 0x5c], edx
mov dword [edi + 0x58], edx
call fcn.0044f2a6
mov edi, dword [ebp - 0xf8]
mov esi, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0x120], esi
cmp dword [edi + 8], 4
mov edi, dword [ebp - 0xe8]
mov edx, dword [edi + 0x58]
jne 0x4533be
imul eax, eax, 0x18
mov eax, dword [edx + eax + 8]
dec eax
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x108], edx
imul eax, eax, 0x18
mov edi, dword [edi + 0x5c]
add eax, edx
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edi
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xf4]
sub ebx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0xf4]
sar ebx, 3
imul ebx, ebx, 0xaaaaaaab
mov eax, dword [eax + 8]
test edx, edx
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], ebx
je 0x4534e6
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax + 3]
test al, al
je 0x453489
mov eax, dword [eax*4 + 0x4a0ab4]
mov dword [esp + 4], str._s_constraint_failed
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0042e35b
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4534ac
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 4], str._z:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call fcn.0042e3ed
mov edi, dword [ebp - 0xe8]
mov dword [edi + 0x6c], eax
jmp 0x4534ac
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x498aa0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call fcn.0042e35b
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.abort_at__d_in___s_:__s
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.004246e5
mov eax, dword [ebp - 0xe8]
call fcn.0044f774
cmp eax, 5
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
jne 0x4558d1
mov dword [eax + 0x28], 5
jmp 0x45a957
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 0x10]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edi, dword [ebp - 0xf4]
mov word [eax + 8], 8
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax]
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov byte [eax], 0x4e
mov eax, esi
call fcn.00407d30
cmp byte [ebp - 0x135], 1
mov edi, dword [ebp - 0xf4]
mov dword [edi + 4], eax
je 0x453654
or ecx, 0xffffffff
mov edx, esi
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebx
call fcn.0041da42
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x100], eax
mov eax, ebx
call fcn.0041f1a3
test eax, eax
jne 0x45a470
mov eax, dword [ebp - 0xf4]
or word [ebx + 8], 0x800
mov dword [ebx + 0x18], 0
cmp byte [eax + 1], 0xff
jne 0x453638
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.0040f362
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
mov byte [eax + 1], 0xff
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov edi, dword [edi + 0x60]
cmp dword [eax + 4], edi
jg 0x45a42e
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edi, dword [ebp - 0xf4]
mov word [eax + 8], 0xa02
mov cl, byte [ebp - 0x135]
mov edx, dword [edi + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [edi + 4]
mov byte [eax + 0xa], cl
mov dword [eax + 0xc], edx
mov edx, dword [edi + 0xc]
test edx, edx
jle case.0x4530f6.112
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
movzx ecx, byte [edi + 3]
cmp dword [edx + 4], 0
jne case.0x4530f6.112
cmp dword [edx], ecx
jne case.0x4530f6.112
mov word [eax + 8], 0xa10
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
cmp dword [eax + 4], 1
mov dword [ebx + 0xc], 0
sbb esi, esi
and si, 0xff00
add si, 0x101
mov word [ebx + 8], si
test edi, edi
jle case.0x4530f6.112
add ebx, 0x28
dec edi
mov eax, ebx
call fcn.00415ff0
mov word [ebx + 8], si
mov dword [ebx + 0xc], 0
jmp 0x453719
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0x104]
mov eax, dword [edx + 8]
and al, 0x7f
or eax, 1
mov word [edx + 8], ax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov eax, ebx
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0041da42
mov al, byte [ebp - 0x135]
mov byte [ebx + 0xa], al
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xe8]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + 0x74]
lea ebx, [edx + eax - 0x28]
mov eax, ebx
call fcn.00403311
test eax, eax
jne 0x45a42e
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [edi + 0x5c]
call fcn.0041630f
mov ecx, 0x800
mov edx, ebx
call fcn.00416386
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
add ebx, dword [ebp - 0x104]
mov eax, ebx
mov edi, ebx
call fcn.0041567a
mov eax, dword [ebp - 0x110]
mov ecx, 0xa
mov esi, dword [ebp - 0x110]
rep movsd dword es:[edi], dword [esi]
mov word [eax + 8], 1
mov dword [eax + 0x18], 0
test byte [ebx + 9], 0x10
jne 0x453866
add dword [ebp - 0x110], 0x28
add ebx, 0x28
dec dword [ebp - 0x128]
jne 0x453820
jmp case.0x4530f6.112
mov eax, ebx
call fcn.0041d9d0
test eax, eax
je 0x45384f
jmp 0x45a470
mov eax, dword [ebp - 0xf4]
xor edi, edi
imul esi, dword [eax + 4], 0x28
imul ebx, dword [eax + 8], 0x28
mov eax, dword [eax + 0xc]
add esi, dword [ebp - 0x104]
add ebx, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov ecx, 0x1000
mov edx, esi
mov eax, ebx
call fcn.00416386
test byte [ebx + 9], 0x10
jne 0x4538c4
cmp edi, dword [ebp - 0x110]
je case.0x4530f6.112
add ebx, 0x28
add esi, 0x28
inc edi
jmp 0x45389b
mov eax, ebx
call fcn.0041d9d0
test eax, eax
je 0x4538af
jmp 0x45a470
mov eax, dword [ebp - 0xf4]
mov ecx, 0x1000
imul edx, dword [eax + 4], 0x28
imul eax, dword [eax + 8], 0x28
add edx, dword [ebp - 0x104]
add eax, dword [ebp - 0x104]
call fcn.00416386
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + eax]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, edi
call fcn.00416241
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x130]
test eax, eax
je 0x453948
mov esi, dword [ebp - 0x12c]
cmp dword [ebp - 0x14c], esi
jbe 0x4539a8
mov eax, dword [ebp - 0xe8]
xor edx, edx
call fcn.0042e381
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebp - 0xe8]
mov edx, 1
xor ebx, ebx
call fcn.0043b658
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe8]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x100], eax
add eax, 2
or eax, 1
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0x104]
mov dword [edi + 0x68], esi
jmp 0x4539eb
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x134]
mov dword [esp], edx
call eax
test eax, eax
je 0x453948
mov dword [ebp - 0x100], 9
jmp 0x45a31c
test byte [esi + 9], 0x10
jne 0x4539f8
mov ax, word [esi + 8]
and ax, 0x202
cmp ax, 2
jne 0x4539e7
mov eax, esi
call fcn.0041f4b2
inc ebx
add esi, 0x28
mov eax, dword [ebp - 0xf4]
cmp ebx, dword [eax + 8]
jl 0x4539cc
jmp 0x453a08
mov eax, esi
call fcn.0041d9d0
test eax, eax
je 0x4539d2
jmp 0x45a470
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x45], 0
jne 0x45a470
test byte [eax + 0x4c], 4
je 0x453a53
mov eax, dword [ebp - 0xe8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xbc]
mov dword [esp], 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xb8]
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 0x64
sar eax, 3
imul eax, eax, 0xaaaaaaab
inc eax
mov dword [edi + 0x24], eax
jmp 0x45a957
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x128]
add ebx, dword [ebp - 0x104]
mov eax, dword [eax + 8]
mov edx, eax
or edx, dword [edi + 8]
and dl, 1
je 0x453ae2
mov eax, ebx
call fcn.00415ff0
jmp case.0x4530f6.112
test ah, 0x40
jne 0x453af5
mov eax, dword [ebp - 0x110]
test byte [eax + 9], 0x40
je 0x453b1c
jmp 0x453b09
mov eax, dword [ebp - 0x128]
call fcn.0041d97c
test eax, eax
je 0x453ae7
jmp 0x45a470
mov eax, dword [ebp - 0x110]
call fcn.0041d97c
test eax, eax
jne 0x45a470
mov eax, dword [ebp - 0x128]
test byte [eax + 8], 0x12
jne 0x453b43
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x128]
xor ecx, ecx
call fcn.00421c41
test eax, eax
jne 0x45a470
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x12
jne 0x453b6a
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
xor ecx, ecx
call fcn.00421c41
test eax, eax
jne 0x45a470
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
add eax, dword [edi + 0xc]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x134]
cmp edi, dword [eax + 0x60]
jg 0x45a42e
mov eax, dword [ebp - 0x134]
xor ecx, ecx
cmp dword [ebp - 0x110], ebx
lea edx, [eax + 2]
mov eax, ebx
sete cl
call fcn.0041d68c
test eax, eax
jne 0x45a470
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 2
cmp dword [ebp - 0x110], ebx
mov word [ebx + 8], ax
je 0x453be1
mov eax, dword [ebp - 0x110]
mov edi, dword [ebx + 0x10]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
mov eax, dword [eax + 0xc]
add eax, dword [ebx + 0x10]
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x134]
mov eax, dword [ebx + 0x10]
mov byte [eax + edi], 0
mov eax, dword [ebx + 0x10]
mov byte [eax + edi + 1], 0
mov al, byte [ebp - 0x135]
or word [ebx + 8], 0x200
mov dword [ebx + 0xc], edi
mov byte [ebx + 0xa], al
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x134], eax
call fcn.0040383c
mov word [ebp - 0x148], ax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x140], eax
call fcn.0040383c
mov word [ebp - 0x158], ax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x140]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
test al, 1
jne 0x45413a
mov eax, dword [ebp - 0x148]
and eax, dword [ebp - 0x158]
test al, 4
je 0x453fcb
mov eax, dword [ebp - 0x134]
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x10c], edx
mov al, byte [eax]
cmp al, 0x30
je 0x453d08
ja 0x453cf7
cmp al, 0x2f
jne 0x453f42
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
jmp 0x453d32
cmp al, 0x31
je 0x453d62
cmp al, 0x32
je 0x453eef
jmp 0x453f42
mov eax, dword [ebp - 0x10c]
add eax, 0x80000000
or eax, dword [ebp - 0x110]
je 0x453d4c
mov ecx, dword [ebp - 0x110]
mov ebx, dword [ebp - 0x10c]
neg ecx
adc ebx, 0
mov edx, ecx
neg ebx
mov ecx, ebx
lea eax, [ebp - 0x80]
call fcn.00402197
test eax, eax
je 0x453fa0
mov esi, 1
jmp 0x453fcd
test edi, edi
jns 0x453d42
mov eax, esi
mov edx, edi
add eax, 0
adc edx, 0x80000000
jmp 0x453f9a
cmp dword [ebp - 0x10c], 0
jl 0x453de2
jg 0x453d76
cmp dword [ebp - 0x110], 0
jbe 0x453de2
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004903bc
cmp edi, edx
jg 0x453d42
jl 0x453da8
cmp esi, eax
ja 0x453d42
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], 0
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004903bc
cmp edi, edx
jl 0x453d42
jg 0x453ecc
cmp esi, eax
jmp 0x453e34
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x453ecc
cmp edi, 0
jl 0x453e3f
jg 0x453e00
cmp esi, 0
jbe 0x453e3f
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp], 0
mov dword [esp + 4], 0x80000000
call fcn.004903bc
cmp dword [ebp - 0x10c], edx
jl 0x453d42
jg 0x453ecc
cmp dword [ebp - 0x110], eax
jb 0x453d42
jmp 0x453ecc
mov eax, edi
or eax, esi
je 0x453ecc
lea edx, [edi - 0x80000000]
mov eax, esi
or eax, edx
je 0x453d42
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
lea edx, [ecx - 0x80000000]
or eax, edx
je 0x453d42
mov eax, esi
mov edx, edi
mov dword [esp], 1
neg eax
mov dword [esp + 4], 0x80000000
adc edx, 0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x110]
neg edx
mov dword [ebp - 0x15c], edx
mov edx, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004903bc
cmp dword [ebp - 0x15c], edx
jg 0x453d42
jl 0x453ecc
cmp dword [ebp - 0x160], eax
ja 0x453d42
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
imul ebx, esi
imul eax, edi
add ebx, eax
mov eax, dword [ebp - 0x110]
mul esi
add edx, ebx
jmp 0x453f9a
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x45413a
mov eax, dword [ebp - 0x110]
and eax, dword [ebp - 0x10c]
inc eax
jne 0x453f20
lea edx, [edi - 0x80000000]
mov eax, esi
or eax, edx
je 0x453d42
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004903bc
jmp 0x453f9a
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x45413a
cmp dword [ebp - 0x10c], 0xffffffff
jne 0x453f7a
cmp dword [ebp - 0x110], 0xffffffff
jne 0x453f7a
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004904f8
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x7c]
mov dword [edi], eax
mov eax, dword [edi + 8]
mov dword [edi + 4], edx
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 4
mov word [edi + 8], ax
jmp case.0x4530f6.112
xor esi, esi
mov eax, dword [ebp - 0x134]
call fcn.0040ae14
mov eax, dword [ebp - 0x140]
fstp qword [ebp - 0x110]
call fcn.0040ae14
mov eax, dword [ebp - 0xf4]
fld qword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x30
je 0x454012
ja 0x454008
cmp al, 0x2f
jne 0x454037
faddp st(1)
jmp 0x4540d1
cmp al, 0x31
je 0x454019
cmp al, 0x32
je 0x454020
jmp 0x454037
fsubp st(1)
jmp 0x4540d1
fmulp st(1)
jmp 0x4540d1
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x454030
je 0x454136
fdivp st(1)
jmp 0x4540d1
fnstcw word [ebp - 0xe2]
mov ax, word [ebp - 0xe2]
or ah, 0xc
mov word [ebp - 0xe4], ax
fldcw word [ebp - 0xe4]
fistp qword [ebp - 0xf0]
fldcw word [ebp - 0xe2]
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf0]
fldcw word [ebp - 0xe4]
fistp qword [ebp - 0xf0]
fldcw word [ebp - 0xe2]
mov edi, ebx
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
or edi, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
je 0x45413a
cmp ebx, 0xffffffff
jne 0x4540ab
cmp ecx, 0xffffffff
jne 0x4540ab
mov ecx, 1
xor ebx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004904f8
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edx
fild qword [ebp - 0x110]
fst qword [esp]
fstp qword [ebp - 0x110]
call fcn.004018ec
test eax, eax
jne 0x45413a
mov eax, dword [ebp - 0x128]
fld qword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
fstp qword [eax]
mov eax, dword [eax + 8]
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 8
mov word [edi + 8], ax
mov eax, dword [ebp - 0x148]
or eax, dword [ebp - 0x158]
test al, 8
jne case.0x4530f6.112
mov eax, esi
test al, al
jne case.0x4530f6.112
mov eax, edi
call fcn.0040327a
jmp case.0x4530f6.112
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x128]
call fcn.00415ff0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
test eax, eax
je case.0x4530f6.112
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
xor edx, edx
xor ecx, ecx
call fcn.00416241
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
movzx eax, byte [eax + 3]
lea edx, [eax*4 + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0xf8]
call fcn.00410432
test eax, eax
je 0x45a470
mov edi, dword [ebp - 0xf4]
mov dword [eax], 0
mov edx, dword [edi + 0x10]
mov byte [eax + 0x1a], bl
mov dword [eax + 4], edx
mov edx, edi
sub edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
sar edx, 3
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0xf4]
imul edx, edx, 0xaaaaaaab
mov dword [eax + 0x10], edx
mov byte [edi + 1], 0xf0
mov dword [edi + 0x10], eax
mov byte [edi], 0x5a
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 0xc], 0x28
mov ebx, dword [eax + 0x10]
add esi, dword [ebp - 0x104]
cmp esi, dword [ebx]
jne 0x45425a
mov edx, dword [ebx]
mov edi, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
mov byte [ebx + 0x19], 0
mov dword [edi + 0x24], edx
lea edx, [ebx + 0x1c]
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x1a]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
mov eax, dword [ebp - 0xf8]
cmp byte [ebx + 0x19], 0
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x120], eax
jne 0x454280
jmp 0x4542e6
movzx eax, byte [ebx + 0x1a]
mov dword [ebx], esi
dec eax
cmp eax, 0xffffffff
je 0x4541f3
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 8]
add edx, eax
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebx + eax*4 + 0x1c], edx
jmp 0x454260
cmp dword [ebx + 0x14], 0
je 0x4542b3
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00421e94
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x498aa0
mov dword [esp], eax
call fcn.0042e35b
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + 0xcc]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0xf8]
call fcn.0040f4bc
cmp dword [ebp - 0x100], 0
jne 0x45a31c
test byte [esi + 8], 0x12
je case.0x4530f6.112
mov edx, dword [ebp - 0x114]
mov eax, dword [ebx]
call fcn.0041f1a3
mov eax, dword [ebx]
jmp 0x458e76
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
imul edx, dword [edi + 0xc], 0x28
imul eax, dword [eax + 8], 0x28
add ebx, dword [ebp - 0x104]
add edx, dword [ebp - 0x104]
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x128], edx
mov edx, dword [ebx + 8]
or edx, dword [eax + 8]
and dl, 1
je 0x45434f
mov eax, dword [ebp - 0x128]
call fcn.00415ff0
jmp case.0x4530f6.112
call fcn.0040ad09
mov dword [ebp - 0x110], eax
mov eax, ebx
mov dword [ebp - 0x10c], edx
call fcn.0040ad09
mov edi, dword [ebp - 0xf4]
mov cl, byte [edi]
cmp cl, 0x2b
jne 0x454386
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
and ecx, eax
and edi, edx
jmp 0x45439b
cmp cl, 0x2c
jne 0x4543ac
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
or ecx, eax
or edi, edx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edi
jmp 0x45448c
mov edi, edx
or edi, eax
je 0x45448c
cmp edx, 0
jge 0x4543cf
mov bl, 0x5b
sub ebx, ecx
inc edx
mov cl, bl
jl 0x4543d6
jg 0x4543cb
cmp eax, 0xffffffc1
jb 0x4543d6
neg eax
jmp 0x45440b
jg 0x4543d6
cmp eax, 0x3f
jbe 0x45440b
mov esi, dword [ebp - 0x10c]
not esi
shr esi, 0x1f
cmp cl, 0x2d
sete al
xor edi, edi
or esi, eax
mov eax, esi
xor eax, 1
movzx esi, al
neg esi
adc edi, 0
mov dword [ebp - 0x110], esi
neg edi
mov dword [ebp - 0x10c], edi
jmp 0x45448c
cmp cl, 0x2d
jne 0x454433
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
mov cl, al
xor ebx, ebx
shld edi, esi, cl
shl esi, cl
test al, 0x20
cmovne edi, esi
cmovne esi, ebx
mov ebx, esi
mov esi, edi
jmp 0x454480
mov esi, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x110]
mov cl, al
xor edx, edx
shrd ebx, esi, cl
shr esi, cl
test al, 0x20
cmovne ebx, esi
cmovne esi, edx
cmp dword [ebp - 0x10c], 0
jns 0x454480
mov ecx, 0x40
xor edi, edi
sub ecx, eax
mov eax, 0xffffffff
mov edx, eax
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
mov ecx, edx
or eax, ebx
mov edx, ecx
mov ebx, eax
or edx, esi
mov esi, edx
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], esi
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x110]
mov ebx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x128]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov eax, dword [eax + 8]
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 4
mov word [edi + 8], ax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
mov eax, ebx
call fcn.0040adb3
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
jne 0x45453b
mov ecx, dword [ebp - 0x114]
mov edx, 0x43
mov eax, ebx
call fcn.00423acf
test byte [ebx + 8], 4
jne 0x45453b
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jne 0x45321c
mov dword [ebp - 0x100], 0x14
jmp 0x45a31c
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 4
mov word [ebx + 8], ax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
je case.0x4530f6.112
mov eax, ebx
call fcn.0040ae14
mov eax, dword [ebx + 8]
fstp qword [ebx]
and ax, 0x3e00
or eax, 8
mov word [ebx + 8], ax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x100], 0
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 9], 0x40
je 0x4545b1
mov eax, ebx
call fcn.0041d97c
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x114]
movzx edx, byte [eax + 8]
mov eax, ebx
call fcn.00423b21
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
add edi, eax
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [edi + 8]
add ebx, dword [ebp - 0x104]
mov edx, eax
mov word [ebp - 0x110], ax
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebx + 8]
mov al, byte [eax + 3]
or edx, esi
test dl, 1
je 0x454680
test al, al
jns 0x454642
mov edx, dword [ebp - 0x110]
mov eax, 1
and edx, esi
and dl, 1
je 0x4547bc
mov eax, esi
movzx eax, ah
and eax, 1
jmp 0x4547bc
test al, 0x20
je 0x454673
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x118], 1
imul edx, dword [eax + 8], 0x28
add edx, dword [ebp - 0x104]
mov eax, dword [edx + 8]
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
jmp case.0x4530f6.112
test al, 0x10
jne 0x45321c
jmp case.0x4530f6.112
and eax, 0x47
cmp al, 0x42
jle 0x454732
and dl, 2
je 0x4546bf
mov eax, dword [ebp - 0x110]
and eax, 0xe
cmp ax, 2
jne 0x4546ab
xor edx, edx
mov eax, edi
call fcn.00403788
mov esi, dword [ebx + 8]
mov eax, esi
and eax, 0xe
cmp ax, 2
jne 0x4546bf
xor edx, edx
mov eax, ebx
call fcn.00403788
mov eax, dword [edi + 8]
and eax, dword [ebx + 8]
test al, 4
je 0x4547a3
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov dword [ebp - 0x134], eax
mov eax, dword [edi]
mov dword [ebp - 0x140], eax
mov eax, dword [edi + 4]
cmp dword [ebp - 0x134], eax
mov edx, eax
jg 0x4547b7
jl 0x4546ff
cmp ecx, dword [ebp - 0x140]
ja 0x4547b7
cmp dword [ebp - 0x134], edx
mov dword [ebp - 0x128], 1
jl 0x454725
jg 0x45471b
cmp ecx, dword [ebp - 0x140]
jb 0x454725
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
neg eax
jmp 0x4547bc
jne 0x4547a3
test byte [ebp - 0x110], 2
jne 0x454771
test byte [ebp - 0x110], 0xc
je 0x454771
mov edx, dword [ebp - 0x114]
mov ecx, 1
mov eax, edi
call fcn.00421c41
mov edx, dword [ebp - 0x110]
mov eax, dword [edi + 8]
and dh, 0x81
and ax, 0x7e00
or eax, edx
mov word [ebp - 0x110], ax
test si, 2
jne 0x4547a3
test si, 0xc
je 0x4547a3
mov edx, dword [ebp - 0x114]
mov ecx, 1
mov eax, ebx
and si, 0x81ff
call fcn.00421c41
mov eax, dword [ebx + 8]
mov edx, esi
and ax, 0x7e00
or eax, edx
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov edx, edi
mov ecx, dword [eax + 0x10]
mov eax, ebx
call fcn.00423809
jmp 0x4547bc
mov eax, 1
mov ecx, dword [ebp - 0xf4]
mov cl, byte [ecx]
lea edx, [ecx - 0x24]
mov byte [ebp - 0x128], cl
cmp dl, 4
ja case.default.0x4547d5
movzx edx, dl
jmp dword [edx*4 + 0x49b7d8]
test eax, eax
sete dl
jmp 0x4547f3
mov edx, eax
jmp 0x4547fc
test eax, eax
setle dl
jmp 0x4547f3
test eax, eax
setg dl
movzx edx, dl
jmp 0x454803
mov edx, eax
not edx
shr edx, 0x1f
jmp 0x454803
mov edx, eax
mov ecx, dword [ebp - 0x110]
mov word [edi + 8], cx
mov edi, dword [ebp - 0xf4]
mov word [ebx + 8], si
mov cl, byte [edi + 3]
test cl, 0x20
je 0x45486d
imul ebx, dword [edi + 8], 0x28
add ebx, dword [ebp - 0x104]
test edx, edx
setne dl
and cl, 8
je 0x454847
cmp byte [edi], 0x25
mov dword [ebp - 0x118], eax
sete cl
cmp dl, cl
je case.0x4530f6.112
mov ecx, dword [ebx + 8]
movzx edx, dl
mov dword [ebx + 4], 0
mov dword [ebx], edx
mov dword [ebp - 0x118], eax
and cx, 0x3e00
or ecx, 4
mov word [ebx + 8], cx
jmp case.0x4530f6.112
test edx, edx
jmp 0x454675
cmp dword [ebp - 0x118], 0
jmp 0x454675
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x110], eax
add eax, 4
mov dword [ebp - 0x130], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 1
mov eax, 0
cmovne eax, dword [ebp - 0x130]
xor ebx, ebx
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 8]
cmp ebx, dword [ebp - 0x128]
jge 0x454963
cmp dword [ebp - 0x130], 0
mov eax, ebx
je 0x454901
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + ebx*4]
mov edx, dword [esi + 0x10]
mov cl, byte [edx + ebx]
lea edx, [eax + edi]
add eax, dword [ebp - 0x134]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov byte [ebp - 0x110], cl
mov ecx, dword [esi + ebx*4 + 0x14]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
call fcn.00423809
test eax, eax
mov dword [ebp - 0x118], eax
je 0x454960
neg eax
cmp byte [ebp - 0x110], 0
mov dword [ebp - 0x130], 0
cmove eax, dword [ebp - 0x118]
mov dword [ebp - 0x118], eax
jmp case.0x4530f6.112
inc ebx
jmp 0x4548e5
mov dword [ebp - 0x130], 0
jmp case.0x4530f6.112
cmp dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xf4]
jns 0x45499a
imul eax, dword [eax + 4], 0x18
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x18]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
jne 0x4549b5
imul eax, dword [eax + 8], 0x18
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x18]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
imul eax, dword [eax + 0xc], 0x18
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x18]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov ebx, 2
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
test byte [eax + 8], 1
jne 0x4549f5
xor ebx, ebx
call fcn.0040ad09
or eax, edx
setne bl
mov eax, dword [ebp - 0xf4]
mov edx, 2
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
test byte [eax + 8], 1
jne 0x454a1d
call fcn.0040ad09
or eax, edx
setne dl
movzx edx, dl
mov eax, dword [ebp - 0xf4]
lea ebx, [ebx + ebx*2]
cmp byte [eax], 0x1c
jne 0x454a35
movzx ecx, byte [edx + ebx + 0x4a0a8c]
jmp 0x454a3d
movzx ecx, byte [edx + ebx + 0x4a0a80]
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 0xc], 0x28
add edx, dword [ebp - 0x104]
cmp ecx, 2
mov eax, dword [edx + 8]
jne 0x454a65
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
jmp case.0x4530f6.112
and ax, 0x3e00
mov dword [edx], ecx
sar ecx, 0x1f
or eax, 4
mov dword [edx + 4], ecx
mov word [edx + 8], ax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
imul esi, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
add esi, dword [ebp - 0x104]
mov eax, ebx
call fcn.00415ff0
test byte [esi + 8], 1
jne case.0x4530f6.112
mov word [ebx + 8], 4
mov eax, esi
call fcn.0040ad09
or eax, edx
mov dword [ebx + 4], 0
sete al
movzx eax, al
mov dword [ebx], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
imul esi, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
add esi, dword [ebp - 0x104]
mov eax, ebx
call fcn.00415ff0
test byte [esi + 8], 1
jne case.0x4530f6.112
mov word [ebx + 8], 4
mov eax, esi
call fcn.0040ad09
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf4]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x45321c
mov dword [edi + 4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
test byte [eax + 8], 1
je 0x454b58
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
jmp 0x456fd0
call fcn.0040ae14
mov eax, dword [ebp - 0xf4]
fldz
cmp byte [eax], 0x16
je 0x454b7c
fxch st(1)
xor eax, eax
mov edx, 1
fucompi st(1)
fstp st(0)
setp al
jmp 0x454b8c
fxch st(1)
xor eax, eax
mov edx, 0
fucompi st(1)
fstp st(0)
setnp al
cmovne eax, edx
jmp 0x456fd0
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 8], 1
jmp 0x454675
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 8], 1
jmp 0x45616d
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
cmp byte [ebx], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x140], eax
jne 0x454c44
cmp byte [ebx + 3], 0
je 0x454c21
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x454c18
mov edi, dword [ebp - 0x140]
mov eax, dword [eax + edi*4 + 4]
test eax, eax
jle 0x454c18
dec eax
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x140], eax
jmp 0x454c44
mov eax, ebx
call fcn.0043f566
jmp 0x454c31
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x42], 1
je 0x454c44
mov eax, ebx
call fcn.0043f526
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x20]
cmp dword [ebx + 0x1c], eax
je 0x454d70
cmp byte [ebx + 2], 0
je 0x454c9f
cmp byte [ebx], 3
jne 0x454f3e
imul eax, dword [ebx + 0x28], 0x28
add eax, dword [ebp - 0x104]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x4c], eax
jmp 0x454ce6
mov edi, dword [ebx + 0x28]
mov eax, edi
call fcn.004090a9
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
mov dword [ebx + 0x50], eax
movsx ecx, byte [edi + 0x44]
mov ecx, dword [edi + ecx*4 + 0x78]
mov esi, dword [ecx + 0x3c]
movzx ecx, word [edi + 0x20]
mov dword [ebx + 0x4c], edx
sub esi, edx
cmp esi, ecx
cmova esi, ecx
cmp eax, esi
ja 0x454cd4
mov dword [ebx + 0x54], eax
jmp 0x454ce6
mov edi, dword [ebp - 0xf8]
cmp eax, dword [edi + 0x60]
ja 0x45a42e
mov dword [ebx + 0x54], esi
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x4c]
movzx edx, byte [eax]
test dl, dl
js 0x454d09
mov dword [ebp - 0xd0], edx
mov eax, 1
jmp 0x454d17
lea edx, [ebp - 0xd0]
call fcn.0040a462
movzx eax, al
mov dword [ebx + 0x30], eax
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0xd0]
mov word [ebx + 0x3a], 0
mov dword [edi], eax
mov eax, dword [ebp - 0xd0]
cmp eax, esi
jbe 0x454d67
cmp eax, 0x18003
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x54], 0
ja 0x454d52
cmp eax, dword [ebx + 0x50]
jbe 0x454d70
mov eax, 0x139de
call fcn.00425a2d
mov dword [ebp - 0x100], eax
jmp 0x45a31c
test eax, eax
je 0x454d70
mov eax, dword [ebx + 0x4c]
jmp 0x454dd1
movzx eax, word [ebx + 0x3a]
cmp eax, dword [ebp - 0x140]
jg 0x454f4e
mov eax, dword [ebp - 0x128]
mov eax, dword [eax]
cmp dword [ebx + 0x30], eax
jae 0x454f04
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x454dd7
lea edi, [ebp - 0x80]
mov ecx, 0xa
xor edx, edx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x80]
mov eax, dword [ebx + 0x28]
mov dword [esp], edi
mov edi, dword [ebp - 0x128]
mov ecx, dword [edi]
call fcn.0043f68c
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x100], eax
movzx ecx, word [ebx + 0x3a]
mov eax, dword [ebp - 0x128]
xor edi, edi
mov edx, dword [ebp - 0x128]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x100]
add eax, dword [ebx + 0x30]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x100]
add eax, dword [edx]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x134]
movzx eax, byte [eax]
cmp eax, 0x7f
mov dword [ebp - 0xc8], eax
ja 0x454e32
movzx eax, byte [eax + 0x4a5880]
xor edx, edx
inc dword [ebp - 0x134]
add esi, eax
adc edi, edx
jmp 0x454e69
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x158], ecx
call fcn.0040a462
movzx eax, al
add dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xc8]
call fcn.0040341c
mov ecx, dword [ebp - 0x158]
xor edx, edx
add esi, eax
adc edi, edx
mov eax, dword [ebp - 0xc8]
inc ecx
mov edx, dword [ebp - 0x148]
cmp dword [ebp - 0x134], edx
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], esi
jae 0x454e97
cmp ecx, dword [ebp - 0x140]
jle 0x454e09
mov edx, dword [ebp - 0x148]
cmp dword [ebp - 0x134], edx
jb 0x454eb2
ja 0x454ebe
test edi, edi
mov eax, dword [ebx + 0x50]
jne 0x454ebe
cmp esi, eax
jne 0x454ebe
cmp edi, 0
mov eax, dword [ebx + 0x50]
ja 0x454ebe
cmp esi, eax
jbe 0x454ee1
cmp dword [ebx + 0x4c], 0
jne 0x454ecc
lea eax, [ebp - 0x80]
call fcn.0041567a
mov eax, 0x13a19
call fcn.00425a2d
mov dword [ebp - 0x100], eax
jmp 0x45a31c
mov edi, dword [ebp - 0x134]
sub edi, dword [ebp - 0x100]
cmp dword [ebx + 0x4c], 0
mov word [ebx + 0x3a], cx
mov dword [ebx + 0x30], edi
jne 0x454f0e
lea eax, [ebp - 0x80]
call fcn.0041567a
jmp 0x454f0e
mov dword [ebp - 0xc8], 0
movzx eax, word [ebx + 0x3a]
cmp eax, dword [ebp - 0x140]
jg 0x454f5e
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 1], 0xf9
jne 0x454f3e
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x110]
mov ecx, 0x800
call fcn.00416386
jmp 0x4550f0
mov eax, dword [ebp - 0x110]
call fcn.00415ff0
jmp 0x4550f0
mov eax, dword [ebp - 0x140]
mov eax, dword [ebx + eax*4 + 0x58]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x110]
test word [eax + 8], 0x2460
je 0x454f71
call fcn.00415ff0
mov eax, dword [ebp - 0x140]
mov edi, dword [ebp - 0x128]
inc eax
lea esi, [eax*4]
mov eax, dword [edi + eax*4]
cmp dword [ebx + 0x54], eax
jb 0x455048
mov edx, dword [ebp - 0xc8]
mov esi, dword [edi + esi - 4]
add esi, dword [ebx + 0x4c]
cmp edx, 0xb
ja 0x454fb0
mov ecx, dword [ebp - 0x110]
mov eax, esi
jmp 0x45509a
mov eax, dword [ebp - 0x110]
lea ebx, [edx - 0xc]
shr ebx, 1
mov edi, eax
mov dword [eax + 0xc], ebx
mov al, byte [ebp - 0x135]
mov byte [edi + 0xa], al
lea eax, [ebx + 1]
cmp eax, dword [edi + 0x18]
jl 0x454fec
lea edx, [ebx + 2]
xor ecx, ecx
mov eax, edi
mov word [edi + 8], 1
call fcn.0041d68c
test eax, eax
je 0x454ffe
jmp 0x45a470
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x110]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x110]
mov ecx, ebx
mov eax, dword [eax + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x110]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
mov byte [eax + ebx + 1], 0
mov eax, dword [ebp - 0xc8]
and eax, 1
mov ax, word [eax + eax + 0x4a0a7c]
mov word [edi + 8], ax
jmp 0x4550f0
mov al, byte [ebp - 0x135]
mov edi, dword [ebp - 0x110]
mov byte [edi + 0xa], al
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 3]
test al, 0xc0
je 0x455078
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0xb
jbe 0x455074
and cl, 1
je 0x455089
test al, al
js 0x455089
mov eax, dword [ebp - 0xc8]
call fcn.0040341c
test eax, eax
mov ecx, eax
jne 0x4550a1
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xc8]
mov eax, 0x4ab02c
call fcn.0040349c
jmp 0x4550f0
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + esi - 4]
mov esi, dword [ebp - 0x110]
mov eax, dword [ebx + 0x28]
mov dword [esp], esi
call fcn.0043f68c
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xc8]
mov eax, dword [eax + 0x10]
call fcn.0040349c
mov eax, dword [ebp - 0x110]
and word [eax + 8], 0xefff
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
mov esi, dword [eax + 0x10]
add ebx, dword [ebp - 0x104]
inc esi
movsx edx, byte [esi - 1]
test dl, dl
je case.0x4530f6.112
mov ecx, dword [ebp - 0x114]
mov eax, ebx
add ebx, 0x28
call fcn.00423acf
jmp 0x455112
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x110]
imul eax, dword [eax + 8], 0x28
lea eax, [esi + eax - 0x28]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x8f]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
test ebx, ebx
mov dword [ebp - 0x134], eax
mov eax, esi
jne 0x4551cd
mov esi, dword [ebp - 0x160]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
jmp 0x4551fc
inc ebx
movsx edx, byte [ebx - 1]
mov ecx, dword [ebp - 0x114]
lea esi, [eax + 0x28]
call fcn.00423acf
mov eax, esi
cmp byte [ebx], 0
jmp 0x455191
add dword [ebp - 0x128], ecx
cmp esi, dword [ebp - 0x110]
je 0x455342
sub esi, 0x28
mov dx, word [esi + 8]
test dl, 1
jne 0x455295
test dl, 4
je 0x455278
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test ecx, ecx
mov ebx, edi
mov eax, ecx
jns 0x455221
mov eax, ecx
not ebx
not eax
cmp eax, 0
ja 0x45525f
cmp ebx, 0x7f
ja 0x455247
mov eax, edi
and eax, 0xfffffffe
or eax, ecx
jne 0x45529b
cmp dword [ebp - 0x158], 3
jle 0x45529b
add ebx, 8
xor edi, edi
jmp 0x4552d5
cmp ebx, 0x7fff
jbe 0x4552a7
cmp ebx, 0x7fffff
jbe 0x4552b3
cmp ebx, 0x7fffffff
jbe 0x4552bf
cmp eax, 0x8000
sbb edi, edi
and edi, 0xfffffffe
add edi, 8
cmp eax, 0x8000
sbb ebx, ebx
add ebx, 6
jmp 0x4552d5
test dl, 8
jne 0x4552cb
test dh, 0x40
mov edi, dword [esi + 0xc]
je 0x455287
add edi, dword [esi]
mov eax, edx
shr ax, 1
and eax, 1
lea ebx, [eax + edi*2 + 0xc]
jmp 0x4552d5
xor edi, edi
xor ebx, ebx
jmp 0x4552d5
mov edi, 1
mov ebx, 1
jmp 0x4552d5
mov edi, 2
mov ebx, 2
jmp 0x4552d5
mov edi, 3
mov ebx, 3
jmp 0x4552d5
mov edi, 4
mov ebx, 4
jmp 0x4552d5
mov edi, 8
mov ebx, 7
and dh, 0x40
mov dword [esi + 0x1c], ebx
je 0x45530e
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x148]
je 0x4552fb
mov eax, esi
call fcn.0041d97c
test eax, eax
je 0x45530e
jmp 0x45a470
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x140], ecx
adc dword [ebp - 0x13c], edx
sub edi, ecx
xor edx, edx
add dword [ebp - 0x148], edi
mov ecx, 1
adc dword [ebp - 0x144], edx
cmp ebx, 0x7f
jbe 0x4551e7
mov eax, ebx
xor edx, edx
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x4551e7
inc ecx
jmp 0x45532e
cmp dword [ebp - 0x128], 0x7e
mov eax, dword [ebp - 0x128]
jg 0x45535a
inc eax
mov dword [ebp - 0x128], eax
jmp 0x4553a1
cdq
mov ecx, 1
shrd eax, edx, 7
shr edx, 7
mov esi, edx
or esi, eax
je 0x455370
inc ecx
jmp 0x455360
mov eax, dword [ebp - 0x128]
mov ebx, 1
add eax, ecx
mov dword [ebp - 0x128], eax
cdq
shrd eax, edx, 7
shr edx, 7
mov esi, edx
or esi, eax
je 0x455394
inc ebx
jmp 0x455384
xor eax, eax
cmp ecx, ebx
setl al
add dword [ebp - 0x128], eax
mov esi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0xf8]
mov edi, esi
mov dword [ebp - 0x158], esi
sar edi, 0x1f
add edx, esi
mov esi, dword [ebp - 0x140]
adc ecx, edi
mov dword [ebp - 0x154], edi
mov edi, dword [ebp - 0x13c]
mov eax, dword [eax + 0x60]
add esi, edx
adc edi, ecx
mov ebx, esi
mov esi, edi
mov edi, eax
mov dword [ebp - 0x148], eax
sar edi, 0x1f
mov dword [ebp - 0x144], edi
cmp esi, dword [ebp - 0x144]
jg 0x45a42e
jl 0x45540c
cmp ebx, eax
ja 0x45a42e
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x150], edx
call fcn.0041d767
test eax, eax
jne 0x45a470
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x128], 0x7f
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x148], eax
jg 0x455453
mov esi, eax
mov al, byte [ebp - 0x128]
mov dword [ebp - 0x158], 1
mov byte [esi], al
jmp 0x455473
mov edx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x148]
call fcn.0040dcb8
movzx eax, al
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x148]
cmp ebx, 0x7f
ja 0x455494
mov edi, dword [ebp - 0x158]
mov byte [eax + edi], bl
mov al, 1
jmp 0x4554a3
add eax, dword [ebp - 0x158]
mov edx, ebx
xor ecx, ecx
call fcn.0040dcb8
movzx eax, al
add dword [ebp - 0x158], eax
lea eax, [ebx - 1]
mov edx, dword [ebp - 0x148]
add edx, dword [ebp - 0x128]
cmp eax, 6
ja 0x4554e7
movzx ecx, byte [ebx + 0x4a5880]
mov eax, dword [ebp - 0x110]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, ecx
dec eax
mov ebx, esi
shrd esi, edi, 8
shr edi, 8
test eax, eax
mov byte [edx + eax], bl
jne 0x4554d4
jmp 0x45550c
xor ecx, ecx
cmp ebx, 0xb
jbe 0x45550c
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45550c
mov edi, dword [ebp - 0x110]
mov ecx, eax
mov esi, dword [edi + 0x10]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
add dword [ebp - 0x110], 0x28
add dword [ebp - 0x128], ecx
mov esi, dword [ebp - 0x110]
cmp dword [ebp - 0x160], esi
jae 0x455473
mov eax, dword [ebp - 0x134]
mov edi, dword [ebp - 0x150]
mov word [eax + 8], 0x10
mov dword [eax + 0xc], edi
mov eax, dword [ebp - 0x13c]
or eax, dword [ebp - 0x140]
je 0x455562
mov eax, dword [ebp - 0x134]
mov esi, dword [ebp - 0x140]
mov word [eax + 8], 0x4010
mov dword [eax], esi
mov eax, dword [ebp - 0x134]
mov byte [eax + 0xa], 1
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
xor esi, esi
xor edi, edi
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x28]
cmp dword [ebx + 0x34], 0
je 0x455664
mov eax, ebx
call fcn.0043a646
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x45a31c
movsx eax, byte [ebx + 0x44]
mov ecx, dword [ebx + eax*4 + 0x78]
mov al, byte [ecx + 8]
test al, al
mov byte [ebp - 0x100], al
jne 0x4555cc
cmp byte [ecx + 2], 0
jne 0x45561a
movzx eax, word [ecx + 0x16]
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebp - 0x100], 0
je 0x45561a
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x4555fb
call fcn.0043a646
test eax, eax
mov dword [ebp - 0x100], eax
je 0x455664
jmp 0x45a31c
call fcn.0043a7c4
movsx ecx, byte [ebx + 0x44]
lea edx, [ecx + 0x28]
mov ecx, dword [ebx + ecx*4 + 0x78]
mov ax, word [ebx + edx*2]
cmp ax, word [ecx + 0x16]
jae 0x4555df
inc eax
mov word [ebx + edx*2], ax
movsx eax, byte [ebx + 0x44]
movzx edx, word [ecx + 0x16]
movzx eax, word [ebx + eax*2 + 0x50]
cmp eax, edx
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x100], edx
jne 0x45563e
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
jmp 0x455656
mov edx, dword [ecx + 0x40]
movzx eax, word [edx + eax*2]
xchg al, ah
and eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x100]
movzx eax, ax
mov edx, dword [ecx + eax]
bswap edx
mov eax, ebx
call fcn.00439da2
jmp 0x45559e
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov dword [ebp - 0x100], 0
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
jne 0x45579c
cmp dword [eax + 0xa4], 0
jle 0x4556e8
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.cannot_open_savepoint___SQL_statements_in_progress
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 5
jmp 0x45a31c
mov eax, esi
call fcn.00407d30
mov ebx, eax
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov ecx, dword [eax + 0x1b0]
add ecx, dword [eax + 0x1b4]
call fcn.004047f1
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebp - 0xf8]
lea edx, [ebx + 0x21]
xor ecx, ecx
call fcn.00410432
test eax, eax
je 0x45a802
lea edx, [eax + 0x20]
lea ecx, [ebx + 1]
mov dword [eax], edx
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xf8]
cmp byte [edi + 0x43], 0
je 0x455752
mov byte [edi + 0x43], 0
mov byte [edi + 0x4b], 1
jmp 0x45575e
mov esi, dword [ebp - 0xf8]
inc dword [esi + 0x1b0]
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x1a8]
mov ecx, dword [edi + 0x1b8]
mov ebx, dword [edi + 0x1bc]
mov dword [eax + 0x18], edx
mov dword [edi + 0x1a8], eax
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ecx, dword [edi + 0x1c0]
mov ebx, dword [edi + 0x1c4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
jmp 0x45a802
mov ebx, dword [eax + 0x1a8]
mov dword [ebp - 0x128], 0
test ebx, ebx
je 0x45a512
mov eax, dword [ebx]
mov edx, esi
call fcn.00401969
test eax, eax
je 0x45a53b
inc dword [ebp - 0x128]
mov ebx, dword [ebx + 0x18]
jmp 0x4557ac
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax + 0x43]
cmp ebx, eax
je 0x4558ef
test edx, edx
je 0x45580e
mov eax, dword [ebp - 0xf8]
mov edx, 0x204
call fcn.0044020b
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 1
jmp 0x45586d
test ebx, ebx
je 0x455846
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xa4], 0
jle 0x455846
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 5
jmp 0x45a31c
mov eax, dword [ebp - 0xe8]
mov edx, 1
call fcn.0042e381
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a957
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], bl
mov eax, dword [ebp - 0xe8]
call fcn.0044f774
cmp eax, 5
jne 0x4558c0
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf8]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [edi + 0x24], eax
mov al, 1
sub eax, ebx
mov byte [esi + 0x43], al
mov eax, edi
mov dword [eax + 0x28], 5
mov dword [ebp - 0x100], 5
jmp 0x45a957
mov eax, dword [ebp - 0xf8]
call fcn.0040f734
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x28], 1
sbb eax, eax
mov dword [ebp - 0x100], eax
and dword [ebp - 0x100], 0x64
inc dword [ebp - 0x100]
jmp 0x45a957
test ebx, ebx
mov eax, str.cannot_start_a_transaction_within_a_transaction
je 0x455907
test edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, str.cannot_rollback___no_transaction_is_active
cmovne eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 1
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
test edx, edx
je 0x455945
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1b], 4
jne 0x455b8a
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x455adf
mov eax, ebx
call fcn.0043b757
test eax, eax
mov dword [ebp - 0x100], eax
je 0x4559b5
cmp byte [ebp - 0x100], 5
jne 0x45a31c
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x100]
sar eax, 3
mov dword [edi + 0x28], esi
imul eax, eax, 0xaaaaaaab
mov dword [edi + 0x24], eax
jmp 0x45a957
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
je 0x455aad
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x90], 0x40
je 0x455aad
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x43], 0
je 0x4559f1
cmp dword [eax + 0xa0], 1
jle 0x455aad
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x30], 0
jne 0x455a2b
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x100], eax
inc eax
mov dword [edi + 0x1b4], eax
add eax, dword [edi + 0x1b0]
mov edi, dword [ebp - 0xe8]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov eax, dword [eax + 0x30]
lea ecx, [eax - 1]
mov eax, dword [ebp - 0xf8]
call fcn.004047f1
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x455a77
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x30]
mov eax, dword [ebx + 4]
mov dword [eax + 4], ecx
mov eax, dword [eax]
cmp edx, dword [eax + 0x68]
jle 0x455a77
cmp byte [eax + 6], 0
je 0x455a77
call fcn.004126bb
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xe8]
mov edx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1b8]
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0xf8]
mov dword [esi + 0x4c], edx
mov edx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1c0]
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], eax
lea ecx, [ebp - 0x80]
mov eax, ebx
mov edx, 1
call fcn.004091c4
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
jmp 0x455ae8
mov dword [ebp - 0x80], 0
xor eax, eax
mov edi, dword [ebp - 0xf4]
cmp byte [edi + 3], 0
je 0x455b78
mov esi, edi
mov edi, dword [ebp - 0x80]
cmp dword [esi + 0xc], edi
jne 0x455b07
cmp eax, dword [esi + 0x10]
je 0x455b78
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebp - 0xf8]
call fcn.0040f362
mov eax, dword [ebp - 0xf8]
mov edx, str.database_schema_has_changed
call fcn.004110e2
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf8]
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, edx
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax], edi
je 0x455b5c
mov eax, esi
call fcn.00412077
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 0x11
or byte [eax + 0x90], 1
jmp 0x45a31c
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov dword [ebp - 0x100], 8
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
lea ecx, [ebp - 0x80]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call fcn.004091c4
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edx, dword [ebp - 0x80]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
call fcn.0043bcd9
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x455c48
mov edi, dword [ebp - 0xf4]
mov eax, dword [ebx + 0xc]
mov edx, dword [edi + 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
jmp 0x455c5c
cmp eax, 2
jne 0x455c5c
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 1
jne 0x455c80
mov eax, dword [ebp - 0xf8]
call fcn.004035c4
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x90], 0xfe
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
test ebx, ebx
je case.0x4530f6.104
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cmp dword [ebx + 0x34], eax
je 0x455df3
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x90], 1
jne 0x45a2ee
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 0
mov ebx, dword [eax + 0xc]
mov edi, dword [eax + 8]
mov eax, ebx
shl eax, 4
add eax, dword [esi + 0x10]
cmp cl, 0x69
mov esi, dword [eax + 4]
mov dword [ebp - 0x110], esi
jne 0x455d36
mov esi, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov cl, byte [esi + 3]
mov al, byte [eax + 0x4c]
mov dl, cl
and edx, 8
or edx, 4
movzx esi, dl
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0xe8]
cmp al, byte [esi + 0x8f]
jae 0x455d36
mov byte [esi + 0x8f], al
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 0x10
je 0x455d54
imul edi, edi, 0x28
add edi, dword [ebp - 0x104]
mov eax, edi
call fcn.0040adb3
mov edi, dword [edi]
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 1]
cmp al, 0xfb
jne 0x455d76
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
movzx ecx, word [esi + 6]
movzx eax, word [esi + 8]
add ecx, eax
jmp 0x455d8b
cmp al, 0xf5
jne 0x455d87
mov eax, dword [ebp - 0xf4]
xor esi, esi
mov ecx, dword [eax + 0x10]
jmp 0x455d8b
xor esi, esi
xor ecx, ecx
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.0044f329
test eax, eax
mov ebx, eax
je 0x45a470
or byte [eax + 8], 4
mov byte [eax + 2], 1
mov edx, edi
mov dword [eax + 0x34], edi
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x100]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x110]
call fcn.00425dfd
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebx + 0x2c], esi
cmp byte [eax + 1], 0xfb
setne byte [ebx + 4]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebx + 0x28]
mov al, byte [eax + 3]
mov byte [ebp - 0x110], al
and eax, 3
cmp dword [ebp - 0x100], 0
mov byte [edx + 0x43], al
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call fcn.0044f329
test eax, eax
mov ebx, eax
je 0x45a470
or byte [eax + 8], 1
mov byte [eax + 2], 1
xor edx, edx
mov eax, dword [ebp - 0xf4]
mov dword [esp + 8], 0x41e
mov ecx, dword [ebp - 0xf8]
mov al, byte [eax + 3]
mov byte [ebp - 0x100], al
or eax, 5
movzx eax, al
mov dword [esp + 4], eax
lea eax, [ebx + 0xc]
mov dword [esp], eax
mov eax, dword [ecx]
call fcn.00441e79
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebx + 0xc]
mov edx, 1
call fcn.0043b757
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 0xc]
test esi, esi
mov dword [ebx + 0x2c], esi
je 0x455f0e
mov edi, dword [ebp - 0xf4]
lea edx, [ebp - 0x80]
mov cl, byte [edi + 3]
or ecx, 2
movzx ecx, cl
call fcn.0043fe95
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x455f08
mov edx, dword [ebx + 0x28]
mov eax, dword [ebx + 0xc]
mov ecx, 4
mov dword [esp], esi
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x80]
call fcn.00425dfd
mov dword [ebp - 0x100], eax
mov byte [ebx + 4], 0
jmp 0x455f35
mov edx, dword [ebx + 0x28]
mov ecx, 4
mov dword [esp], 0
mov dword [esp + 4], edx
mov edx, 1
call fcn.00425dfd
mov byte [ebx + 4], 1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [ebp - 0xf4]
mov dl, byte [ebx + 8]
cmp byte [eax + 3], 8
setne al
and edx, 0xfffffffb
shl eax, 2
or eax, edx
mov byte [ebx + 8], al
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 1
mov dword [esp], 0xffffffff
call fcn.0044f329
test eax, eax
mov esi, eax
je 0x45a470
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov edi, dword [edi + 0xc]
mov dword [esi + 0x2c], eax
movzx eax, word [eax + 6]
mov dword [ebp - 0x100], edi
lea eax, [eax*4 + 0x14]
lea edx, [eax + 0x88]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf8]
mov ecx, edx
sar ecx, 0x1f
call fcn.00410dbb
test eax, eax
mov ebx, eax
mov dword [esi + 0x28], eax
je 0x45a2fa
cmp dword [ebp - 0x100], 0
lea eax, [eax + 0x88]
mov esi, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x110]
mov dword [ebx + 0x1c], eax
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x94], 0
je 0x456031
mov ax, word [ebx + 0x8e]
add eax, dword [ebx + 0x90]
sub eax, dword [ebp - 0x100]
mov word [ebx + 0x90], ax
mov eax, dword [ebp - 0x100]
mov word [ebx + 0x8e], ax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0xf8]
mov byte [ebx + 0x3b], 1
mov byte [ebx + 0x3a], 0xff
mov byte [ebx + 0x39], 0
mov dword [ebx + 0x48], ebx
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x18], eax
cmp byte [eax + 0x44], 2
jne 0x456073
mov dword [ebp - 0x100], 0
jmp 0x4560fe
mov eax, dword [0x496440]
imul eax, ecx
mov dword [ebp - 0x100], eax
mov dword [ebx], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
mov edi, eax
mov dword [ebp - 0x110], eax
sar edi, 0x1f
imul ecx
test edi, edi
jns 0x4560ae
mov eax, 0xfffffc00
imul dword [ebp - 0x110]
cmp edx, 0
mov esi, eax
jl 0x4560c3
jg 0x4560be
cmp eax, 0x20000000
jbe 0x4560c3
mov esi, 0x20000000
cmp dword [ebp - 0x100], esi
mov eax, dword [ebp - 0x100]
cmovle eax, esi
cmp dword [0x496420], 0
mov dword [ebx + 4], eax
jne 0x456064
mov eax, ecx
mov dword [ebx + 0x34], ecx
cdq
call fcn.0040ff86
test eax, eax
mov dword [ebx + 0x28], eax
jne 0x456064
mov dword [ebp - 0x100], 7
movzx edx, word [ebx + 0x8e]
movzx eax, word [ebx + 0x90]
add eax, edx
cmp eax, 0xc
jg 0x45612c
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x456128
mov edi, dword [ebp - 0xf8]
cmp eax, dword [edi + 8]
jne 0x45612c
mov byte [ebx + 0x3c], 3
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov ecx, eax
mov ebx, edx
mov edi, edx
add ecx, 1
adc ebx, 0
mov dword [esi + 0x10], ecx
or edi, eax
mov dword [esi + 0x14], ebx
je 0x45321c
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 3
mov dword [esp], 0xffffffff
call fcn.0044f329
test eax, eax
je 0x45a470
mov edi, dword [ebp - 0xf4]
mov byte [eax + 2], 1
mov edx, dword [edi + 8]
mov byte [eax + 4], 1
mov dword [eax + 0x28], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0xe8]
call fcn.0044f1e4
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov dword [eax + edx*4], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x110], edi
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 4], 0
mov byte [ebx + 2], 0
je 0x456310
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0x104]
mov eax, dword [esi + 8]
and eax, 0xe
cmp ax, 2
jne 0x456257
xor edx, edx
mov eax, esi
mov byte [ebp - 0x128], cl
call fcn.00403788
mov cl, byte [ebp - 0x128]
mov eax, esi
mov byte [ebp - 0x134], cl
call fcn.0040ad09
mov dword [ebp - 0x128], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x124], edx
test al, 4
jne 0x4562b7
test al, 8
je 0x45321c
fld qword [esi]
mov cl, byte [ebp - 0x134]
fild qword [ebp - 0x128]
fucomi st(1)
jbe 0x4562a0
fstp st(0)
fstp st(0)
lea eax, [edi - 1]
and cl, 1
cmove edi, eax
jmp 0x4562b1
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x4562b7
lea eax, [edi + 1]
and cl, 1
cmovne edi, eax
mov dword [ebp - 0x110], edi
mov esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
lea edx, [ebp - 0xc8]
mov eax, dword [ebx + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0043edcb
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
je 0x4563aa
jmp 0x45a31c
mov edi, dword [ebp - 0xf4]
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov edx, dword [edi + 0x10]
mov edi, dword [ebp - 0x110]
movzx esi, byte [eax + 0x43]
mov dword [ebp - 0x80], ecx
mov word [ebp - 0x78], dx
lea edx, [edi - 0x17]
mov edi, dword [ebp - 0xf4]
and edx, 1
and esi, 2
cmp edx, 1
sbb edx, edx
and edx, 2
dec edx
mov byte [ebp - 0x76], dl
imul edx, dword [edi + 0xc], 0x28
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov byte [ebp - 0x72], 0
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x7c], edx
lea edx, [ebp - 0xc8]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x80]
call fcn.0043edcb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, esi
test al, al
je 0x4563aa
cmp byte [ebp - 0x72], 0
mov esi, 1
je 0x456461
jmp 0x4563ac
xor esi, esi
cmp dword [ebp - 0x110], 0x18
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
mov eax, dword [ebp - 0xc8]
jle 0x45640f
test eax, eax
js 0x4563d5
jne 0x456403
cmp dword [ebp - 0x110], 0x1a
jne 0x456403
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call fcn.0043f4c4
test eax, eax
mov dword [ebp - 0x100], eax
je 0x456461
jmp 0x45a31c
mov dword [ebp - 0xc8], 0
jmp 0x456461
test eax, eax
jg 0x456420
cmp dword [ebp - 0x110], 0x17
jne 0x45644e
test eax, eax
jne 0x45644e
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call fcn.0043f38f
test eax, eax
mov dword [ebp - 0x100], eax
je 0x456461
jmp 0x45a31c
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x42], 1
setne al
movzx eax, al
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x45a92a
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x100], 0
add eax, 0x18
test esi, esi
cmove eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 0xc], 0x28
mov edx, dword [eax + 0x10]
mov eax, dword [ebx + 0x2c]
add edi, dword [ebp - 0x104]
test edx, edx
jle 0x4564d5
mov word [ebp - 0x78], dx
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x80]
mov dword [ebp - 0x7c], edi
xor esi, esi
jmp 0x456504
call fcn.00410d86
test eax, eax
mov esi, eax
je 0x45a470
test byte [edi + 9], 0x40
je 0x4564f1
mov eax, edi
call fcn.0041d97c
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + 0x2c]
mov dword [esp], esi
call fcn.0040a4c5
mov edx, esi
mov eax, dword [ebp - 0xf4]
mov byte [edx + 0xa], 0
xor edi, edi
cmp byte [eax], 0x1d
jne 0x456537
movzx edi, word [edx + 8]
xor eax, eax
cmp eax, edi
jge 0x45652e
imul ecx, eax, 0x28
add ecx, dword [edx + 4]
test byte [ecx + 8], 1
jne 0x456532
inc eax
jmp 0x45651b
xor edi, edi
jmp 0x456537
mov edi, 1
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
call fcn.0043edcb
test esi, esi
mov dword [ebp - 0x100], eax
je 0x456577
mov eax, dword [ebp - 0xf8]
mov edx, esi
call fcn.0040f362
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xf4]
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
test eax, eax
mov dword [ebx + 0x20], eax
setne byte [ebx + 2]
cmp byte [esi], 0x1f
jne 0x4565b0
test eax, eax
jmp 0x45616d
test eax, eax
jne 0x45321c
test edi, edi
jmp 0x454675
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
jne case.0x4530f6.33
mov ecx, dword [ebp - 0x114]
mov edx, 0x43
mov eax, ebx
call fcn.00423acf
test byte [ebx + 8], 4
je 0x45321c
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x104]
imul edx, dword [eax + 0xc], 0x28
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + ecx*4]
lea ecx, [ebp - 0x80]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x80], 0
mov edi, dword [esi + edx + 4]
mov esi, dword [esi + edx]
xor edx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0043edcb
mov byte [ebx + 2], 0
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x1c], 0
mov byte [ebx + 3], 0
mov eax, dword [ebp - 0x80]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], edi
test eax, eax
mov dword [ebx + 0x20], eax
je 0x456683
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jne 0x45321c
mov eax, 0x14031
call fcn.00425a2d
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov esi, dword [ebp - 0xf4]
mov ecx, dword [esi + 4]
mov esi, dword [ebp - 0xe8]
mov edx, dword [esi + 0x70]
mov edx, dword [edx + ecx*4]
mov ecx, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
mov esi, ecx
mov edi, ebx
add esi, 1
adc edi, 0
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], edi
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
test byte [ebx + 8], 2
jne 0x45679b
mov eax, dword [ebx + 0x28]
lea edx, [ebp - 0xc8]
call fcn.0043a769
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
cmp dword [ebp - 0xc8], 0
je 0x456766
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0
jmp 0x45679b
mov esi, dword [ebx + 0x28]
mov eax, esi
call fcn.004090a9
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp edx, 0x7fffffff
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jne 0x45678f
cmp eax, 0xffffffff
jne 0x45678f
or byte [ebx + 8], 2
jmp 0x45679b
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x456825
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x4567cb
mov edx, dword [eax + 4]
test edx, edx
je 0x4567c3
mov eax, edx
jmp 0x4567b8
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x4567d4
imul esi, esi, 0x28
add esi, dword [ebp - 0x104]
mov eax, esi
call fcn.0040adb3
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0x7fffffff
jne 0x4567fc
cmp eax, 0xffffffff
jne 0x4567fc
mov dword [ebp - 0x100], 0xd
jmp 0x45a31c
test byte [ebx + 8], 2
jne 0x4567ed
cmp edx, dword [ebp - 0x7c]
jl 0x45681a
jg 0x45680e
cmp eax, dword [ebp - 0x80]
jb 0x45681a
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esi], eax
mov dword [esi + 4], edx
test byte [ebx + 8], 2
je 0x4568b8
lea esi, [ebp - 0xc8]
mov edi, 0x64
lea eax, [ebp - 0x80]
mov dword [esp], 8
mov dword [esp + 4], eax
call fcn.00436dce
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x168]
and eax, 0x3fffffff
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
add edx, 1
mov dword [ebp - 0x80], edx
adc ecx, 0
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebx + 0x28]
mov dword [esp], edx
mov dword [esp + 0xc], esi
xor edx, edx
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
call fcn.0043edcb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
cmp dword [ebp - 0xc8], 0
jne 0x4568b8
dec edi
jne 0x45683a
jmp 0x4567ed
mov byte [ebx + 3], 0
mov esi, dword [ebp - 0x110]
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x1c], 0
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xe8]
imul eax, dword [eax + 8], 0x28
mov edx, dword [edi + 0x70]
mov ebx, dword [esi + 4]
mov edi, dword [ebp - 0xf4]
add eax, dword [ebp - 0x104]
cmp cl, 0x73
mov esi, dword [edx + ebx*4]
mov edx, dword [edi + 0xc]
jne 0x456924
imul edx, edx, 0x28
mov edi, dword [ebp - 0x104]
mov ecx, dword [edi + edx]
mov ebx, dword [edi + edx + 4]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ebx
jmp 0x45692d
mov dword [ebp - 0x78], edx
sar edx, 0x1f
mov dword [ebp - 0x74], edx
mov edi, dword [ebp - 0xf4]
cmp byte [edi + 1], 0xf1
jne 0x456984
mov edi, dword [ebp - 0xf8]
cmp dword [edi + 0xdc], 0
je 0x456984
movsx edx, byte [esi + 1]
mov ecx, dword [ebp - 0xf4]
shl edx, 4
add edx, dword [edi + 0x10]
mov edi, dword [edx]
mov dword [ebp - 0x110], edi
mov edi, dword [ecx + 0x10]
mov cl, byte [ecx + 3]
mov dword [ebp - 0x128], edi
mov dl, cl
mov byte [ebp - 0x100], cl
and edx, 4
cmp dl, 1
sbb ebx, ebx
and ebx, 0xfffffffb
add ebx, 0x17
jmp 0x45699a
xor ebx, ebx
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0xf4]
test byte [ecx + 3], 1
je 0x4569af
mov ecx, dword [ebp - 0xe8]
inc dword [ecx + 0x2c]
mov ecx, dword [ebp - 0xf4]
test byte [ecx + 3], 2
je 0x4569d9
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], ecx
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], ecx
mov edi, dword [eax + 8]
test di, 1
mov word [ebp - 0x100], di
je 0x4569fa
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x64], 0
jmp 0x456a06
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x64], edx
mov edi, dword [ebp - 0xf4]
xor edx, edx
mov cl, byte [edi + 3]
test cl, 0x10
je 0x456a19
mov edx, dword [esi + 0x20]
test word [ebp - 0x100], 0x4000
je 0x456a2b
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
jmp 0x456a32
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x80], 0
mov eax, dword [esi + 0x28]
shr cl, 3
mov dword [esp], edx
lea edx, [ebp - 0x80]
and ecx, 1
call fcn.0043f8ce
test eax, eax
mov dword [ebp - 0x100], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
jne 0x45a31c
mov eax, dword [ebp - 0xf8]
test ebx, ebx
mov ecx, dword [eax + 0xdc]
je case.0x4530f6.112
test ecx, ecx
je case.0x4530f6.112
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x128]
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xd8]
mov dword [esp], eax
call ecx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 1], 0xf1
jne 0x456b4a
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xdc], 0
je 0x456b4a
movsx eax, byte [ebx + 1]
mov esi, dword [ebp - 0xf8]
shl eax, 4
add eax, dword [esi + 0x10]
mov edi, dword [eax]
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 2
mov esi, dword [eax + 0x10]
je 0x456b4e
cmp byte [ebx + 4], 0
je 0x456b4e
mov edx, dword [ebx + 0x28]
mov eax, edx
mov dword [ebp - 0x100], edx
call fcn.004090a9
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
jmp 0x456b4e
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0xf4]
movzx edx, byte [eax + 3]
mov eax, dword [ebx + 0x28]
call fcn.004402f5
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
jne 0x45a31c
test byte [ebp - 0x110], 1
je case.0x4530f6.112
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xdc]
test eax, eax
je case.0x4530f6.112
test byte [esi + 0x2c], 0x20
jne case.0x4530f6.112
mov ecx, dword [ebx + 0x40]
mov ebx, dword [ebx + 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov edx, dword [esi]
mov esi, dword [ebp - 0xf8]
mov dword [esp + 8], edi
mov dword [esp + 4], 9
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0xd8]
mov dword [esp], edx
call eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x2c], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov esi, dword [esi + 0xc]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0xf4]
mov eax, dword [eax + edx*4]
mov edi, dword [esi + 0x10]
mov edx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov ebx, dword [edx + 0x20]
test ebx, ebx
jne 0x456c6b
mov eax, esi
mov dword [ebp - 0x110], edx
call fcn.00410d86
mov edx, dword [ebp - 0x110]
test eax, eax
mov ebx, eax
mov dword [edx + 0x20], eax
je 0x45a306
mov word [eax + 8], di
cmp byte [edx + 0x38], 0
je 0x456c86
mov edx, dword [edx + 0x14]
mov eax, dword [edx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [edx + 0xc]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x20]
jmp 0x456c8e
mov ecx, dword [edx + 0x24]
mov edx, dword [ecx]
add ecx, 8
mov eax, esi
mov dword [esp], ebx
call fcn.0040a4c5
xor eax, eax
cmp edi, eax
jle 0x456cb1
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 8], 1
jne 0x45a92a
inc eax
jmp 0x456c9a
imul eax, dword [ebp - 0x100], 0x28
mov dword [esp + 8], ebx
add eax, dword [ebp - 0x104]
mov edx, dword [eax + 0x10]
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00426a69
test eax, eax
jne 0x45a92a
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 8], 0x28
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
add edi, dword [ebp - 0x104]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x28]
cmp byte [eax + 0x38], 0
je 0x456d28
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [edx + 0xc]
mov ebx, dword [eax + 0x14]
mov esi, dword [eax + 0x20]
jmp 0x456d30
mov esi, dword [eax + 0x24]
mov ebx, dword [esi]
add esi, 8
mov edx, ebx
mov eax, edi
call fcn.0041d767
test eax, eax
jne 0x45a312
mov eax, dword [edi + 8]
mov dword [edi + 0xc], ebx
mov ecx, ebx
mov dword [ebp - 0x100], 0
and ax, 0x3e00
or eax, 0x10
mov word [edi + 8], ax
mov eax, dword [edi + 0x10]
mov edi, eax
mov eax, dword [ebp - 0xf4]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x1c], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
add ebx, dword [ebp - 0x104]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov esi, dword [eax + 0x28]
mov eax, esi
call fcn.004090a9
mov eax, dword [ebp - 0xf8]
mov edi, dword [esi + 0x1c]
cmp edi, dword [eax + 0x60]
ja 0x45a42e
cmp edi, 0x20
mov edx, 0x20
mov eax, ebx
cmovae edx, edi
call fcn.0041d767
test eax, eax
jne 0x45a470
mov eax, dword [ebx + 8]
mov dword [ebx + 0xc], edi
xor edx, edx
mov ecx, edi
and ax, 0x3e00
or eax, 0x10
mov word [ebx + 8], ax
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
mov eax, esi
call fcn.0043eb1a
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov byte [ebx + 0xa], 1
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 2], 0
je 0x456e5b
mov word [esi + 8], 1
jmp case.0x4530f6.112
cmp byte [ebx + 3], 0
je 0x456e72
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x456f04
cmp byte [ebx], 2
mov eax, dword [ebx + 0x28]
jne 0x456ead
mov ebx, dword [eax]
lea edi, [ebp - 0x80]
mov edx, dword [ebx]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x30]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call fcn.0041112b
cmp dword [ebp - 0x100], 0
je 0x456f04
jmp 0x45a31c
cmp byte [eax + 0x42], 1
jne 0x456ece
cmp byte [ebx + 2], 0
je 0x456ee4
mov word [esi + 8], 1
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov eax, ebx
call fcn.0043f526
test eax, eax
mov dword [ebp - 0x100], eax
je 0x456eb3
jmp 0x45a31c
mov ebx, dword [ebx + 0x28]
mov eax, ebx
call fcn.004090a9
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x1c], 0
jne case.0x4530f6.112
mov ebx, dword [eax + 0x28]
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call fcn.00409a90
mov dword [ebx + 0x30], 0
mov byte [ebx + 0x42], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x80], 0
mov edx, dword [esi + 0xc]
test edx, edx
mov dword [ebx + 0x20], edx
je 0x456f94
cmp byte [eax + 0x42], 1
je case.0x4530f6.112
lea edx, [ebp - 0x80]
call fcn.0043a769
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x80]
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
mov byte [ebx + 2], al
jne 0x45a31c
mov edi, dword [ebp - 0xf4]
cmp dword [edi + 8], 0
jle case.0x4530f6.112
test eax, eax
jmp 0x454675
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0xa4]
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + edx*4]
cmp byte [edi], 1
jne 0x45734a
mov esi, dword [edi + 0x28]
cmp byte [esi + 0x38], 0
jne 0x457032
cmp dword [esi + 0x24], 0
je 0x45a926
lea edx, [esi + 0x24]
lea eax, [esi + 0x40]
call fcn.0041279c
test eax, eax
mov dword [ebp - 0x100], eax
je 0x45a852
jmp 0x45a31c
lea eax, [esi + 0x40]
lea edx, [esi + 0x24]
mov byte [esi + 0x38], 1
mov dword [ebp - 0x16c], eax
call fcn.00414e6c
test eax, eax
jne 0x45a847
lea eax, [esi + 0x40]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x110], eax
movzx eax, byte [esi + 0x3b]
cmp eax, dword [ebp - 0x160]
jle 0x45a811
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xd4], 0
xor edx, edx
mov dword [ebp - 0x148], 0
mov ebx, dword [eax + 0x1c]
mov eax, 0x10
mov ecx, ebx
sar ecx, 0x1f
mov dword [ebp - 0xfc], ecx
cmp edx, dword [ebp - 0xfc]
jge 0x4570c2
shld edx, eax, 4
inc dword [ebp - 0x148]
shl eax, 4
jmp 0x4570ab
jg 0x4570c8
cmp eax, ebx
jb 0x4570b3
cmp ebx, 0x10
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
jg 0x4570ff
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x80]
mov edx, ebx
mov dword [esp], eax
mov eax, dword [ebp - 0x110]
call fcn.0041476e
mov dword [ebp - 0x100], eax
jmp 0x4572f1
mov eax, 0x10
call fcn.004128af
cmp eax, 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x128], 0
sbb eax, eax
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x100], eax
and dword [ebp - 0x100], 7
mov eax, dword [ebp - 0x110]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x140]
jle 0x4572f1
cmp dword [ebp - 0x100], 0
jne 0x457308
sub edx, dword [ebp - 0x140]
mov eax, 0x10
lea ecx, [ebp - 0x80]
mov dword [ebp - 0xd0], 0
cmp edx, 0x10
cmovg edx, eax
lea eax, [ebp - 0xd0]
mov dword [esp], eax
mov eax, dword [ebp - 0x110]
call fcn.0041476e
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x4572e5
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x128]
inc eax
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x110]
call fcn.00413e10
mov dword [ebp - 0x100], 1
mov ecx, eax
mov eax, 1
cmp dword [ebp - 0x148], eax
jle 0x4571ea
shl dword [ebp - 0x100], 4
inc eax
jmp 0x4571d8
mov dword [ebp - 0x150], 1
mov ebx, dword [ebp - 0x150]
cmp dword [ebp - 0x148], ebx
jle 0x45728f
test ecx, ecx
jne 0x45728f
mov eax, dword [ebp - 0x128]
mov ecx, 0x10
cdq
idiv dword [ebp - 0x100]
cdq
idiv ecx
mov eax, dword [ebp - 0x158]
mov ebx, dword [eax + 0xc]
imul edx, edx, 0x38
add ebx, edx
cmp dword [ebx + 0x30], 0
je 0x45725b
mov eax, dword [ebx + 0x30]
mov ecx, 0x10
mov eax, dword [eax + 4]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x100]
cdq
idiv ecx
xor ecx, ecx
mov dword [ebp - 0x100], eax
jmp 0x457284
mov eax, 0x10
call fcn.004128af
test eax, eax
mov ecx, 7
je 0x457284
mov edx, eax
mov eax, dword [ebp - 0x110]
lea ecx, [ebx + 0x30]
call fcn.00413e10
test eax, eax
mov ecx, eax
je 0x457237
inc dword [ebp - 0x150]
jmp 0x4571f4
test ecx, ecx
mov ebx, dword [ebp - 0xc8]
jne 0x4572b3
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x158]
and eax, 0xf
imul eax, eax, 0x38
add eax, dword [edx + 0xc]
mov dword [eax + 0x30], ebx
jmp 0x4572d3
test ebx, ebx
je 0x4572d3
mov eax, dword [ebx + 4]
mov dword [ebp - 0x100], ecx
call fcn.00413ddf
mov dword [esp], ebx
call fcn.00409a90
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x128], eax
add dword [ebp - 0x140], 0x10
jmp 0x457135
cmp dword [ebp - 0x100], 0
jne 0x457308
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x134], eax
jmp 0x457313
mov eax, dword [ebp - 0xd4]
call fcn.00413ddf
inc dword [ebp - 0x160]
add dword [ebp - 0x110], 0x48
cmp dword [ebp - 0x100], 0
je 0x45706c
mov eax, dword [ebp - 0x134]
call fcn.00413ddf
xor eax, eax
call fcn.00413ddf
mov eax, dword [ebp - 0x100]
jmp 0x45a847
mov ebx, dword [edi + 0x28]
mov eax, ebx
call fcn.0043a646
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, 1
jne 0x45737d
cmp byte [ebx + 0x42], 0
je 0x45737d
mov eax, ebx
call fcn.00439e39
mov dword [ebp - 0x100], eax
xor eax, eax
cmp dword [ebp - 0x100], 0
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
jne 0x45a31c
mov byte [edi + 2], al
jmp 0x459dd7
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov dword [ebp - 0x80], 0
mov edi, dword [ebx + 0x28]
cmp byte [edi + 0x38], 0
je 0x4530fd
mov eax, dword [edi + 0x14]
lea edx, [ebp - 0x80]
call fcn.00414629
jmp 0x45743f
mov esi, dword [edx + 4]
mov eax, dword [ebp - 0xf8]
call fcn.0040f362
test esi, esi
mov edx, esi
jne 0x4573d3
jmp 0x453117
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
cmp dword [eax + edx*4], 0
je case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0xf4]
call dword [eax + 0x10]
mov dword [ebp - 0x100], eax
jmp 0x45312d
mov byte [ebx + 2], 1
jmp 0x453180
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 1
je 0x457493
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x110]
test byte [eax + 9], 0x40
jne 0x4574b9
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0x7c
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
jne 0x457659
jmp 0x4574d3
mov eax, dword [ebp - 0x110]
call fcn.0041d97c
test eax, eax
mov dword [ebp - 0x100], eax
je 0x45749f
jmp 0x45a31c
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + 0x28]
test dl, dl
js 0x4574e3
mov dword [ebp - 0x80], edx
jmp 0x4574ec
lea edx, [ebp - 0x80]
inc eax
call fcn.0040a462
mov eax, dword [ebp - 0x80]
lea edx, [eax - 1]
cmp edx, 8
ja 0x457502
cmp eax, 7
je 0x457502
and byte [ebx + 0x3c], 1
jmp 0x457515
cmp eax, 0xa
jle 0x457511
test al, 1
je 0x457511
and byte [ebx + 0x3c], 2
jmp 0x457515
mov byte [ebx + 0x3c], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x100], 1
mov esi, dword [eax + 0xc]
mov eax, esi
lea edi, [esi + 8]
cdq
shrd eax, edx, 7
shr edx, 7
mov ecx, edx
or ecx, eax
je 0x457543
inc dword [ebp - 0x100]
jmp 0x45752e
mov edx, dword [ebx + 4]
add esi, dword [ebp - 0x100]
mov dword [ebp - 0x100], 0
test edx, edx
je 0x45758f
cmp dword [ebx + 0x28], 0
je 0x457573
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x45758f
add eax, edi
cmp edx, eax
jl 0x45a85b
jmp 0x45758f
mov eax, dword [ebx + 0x2c]
cmp edx, eax
jl 0x45a85b
cmp eax, dword [ebx]
jle 0x45758f
cmp dword [0x4ab37c], 0
jne 0x45a85b
add dword [ebx + 0x2c], esi
cmp esi, dword [ebx + 8]
jle 0x45759a
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x45761c
mov esi, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
add esi, edi
cmp esi, edx
jle 0x4575fd
mov ecx, dword [ebx + 0x24]
sub ecx, eax
mov dword [ebp - 0x128], ecx
add edx, edx
cmp esi, edx
jg 0x4575b8
mov ecx, dword [ebx + 4]
cmp edx, ecx
jle 0x4575cb
cmp esi, ecx
jg 0x4575cd
mov edx, ecx
mov esi, edx
mov ecx, esi
mov edx, esi
sar ecx, 0x1f
call fcn.004100e3
test eax, eax
jne 0x4575ec
mov dword [ebp - 0x100], 7
jmp 0x45a31c
mov edx, dword [ebp - 0x128]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x34], esi
add edx, eax
mov dword [ebx + 0x24], edx
mov ecx, dword [ebx + 0x30]
mov esi, dword [ebx + 0x28]
lea eax, [edi + 7]
and eax, 0xfffffff8
lea edx, [esi + ecx]
add ecx, eax
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x30], ecx
test eax, eax
je 0x457630
sub eax, esi
jmp 0x45762d
mov eax, edi
cdq
call fcn.0040ff86
test eax, eax
mov edx, eax
je 0x4575dd
mov eax, dword [ebx + 0x24]
mov dword [edx + 4], eax
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp - 0x110]
lea eax, [edx + 8]
mov ecx, dword [edi + 0xc]
mov esi, dword [esi + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x110]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0xc]
mov dword [edx], eax
mov dword [ebx + 0x24], edx
jmp 0x4576c2
mov esi, dword [ebp - 0x110]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x78], edx
sar edx, 0x1f
imul eax, dword [eax + 0xc], 0x28
mov dword [ebp - 0x74], edx
xor edx, edx
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0xf4]
mov cl, byte [eax + 3]
test cl, 0x10
je 0x4576a1
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shr cl, 3
mov dword [esp], edx
lea edx, [ebp - 0x80]
and ecx, 1
call fcn.0043f8ce
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
lea edx, [ebp - 0x80]
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebx + 0x28]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x76], 0
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0xc8]
mov dword [esp + 0xc], eax
mov eax, esi
call fcn.0043edcb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
cmp dword [ebp - 0xc8], 0
je 0x45776b
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
jmp case.0x4530f6.112
mov edx, 4
mov eax, esi
call fcn.004402f5
test eax, eax
je 0x457758
mov dword [ebp - 0x100], eax
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x42], 1
jne 0x4577af
cmp byte [ebx + 2], 0
je 0x4577c5
jmp 0x457946
mov eax, ebx
call fcn.0043f526
test eax, eax
mov dword [ebp - 0x100], eax
je 0x4577a4
jmp 0x45a31c
mov esi, dword [ebx + 0x28]
mov eax, esi
call fcn.004090a9
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x1c]
xor edx, edx
mov word [ebp - 0xc0], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc8]
mov dword [esp], eax
mov eax, esi
call fcn.0043f68c
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x4578d2
mov eax, dword [ebp - 0xb8]
movzx edx, byte [eax]
test dl, dl
js 0x457826
mov dword [ebp - 0xd4], edx
jmp 0x457831
lea edx, [ebp - 0xd4]
call fcn.0040a462
mov eax, dword [ebp - 0xd4]
cmp eax, 2
jbe 0x4578b7
cmp dword [ebp - 0xbc], eax
jl 0x4578b7
mov edx, dword [ebp - 0xb8]
lea eax, [edx + eax - 1]
movzx edx, byte [eax]
test dl, dl
js 0x45785d
mov dword [ebp - 0xd0], edx
jmp 0x457868
lea edx, [ebp - 0xd0]
call fcn.0040a462
mov edx, dword [ebp - 0xd0]
lea eax, [edx - 1]
cmp eax, 8
ja 0x4578b7
cmp edx, 7
je 0x4578b7
movzx ecx, byte [edx + 0x4a5880]
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xbc]
add esi, ecx
cmp eax, esi
jb 0x4578b7
sub eax, ecx
add eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.0040349c
lea eax, [ebp - 0xc8]
mov esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
call fcn.0041567a
jmp 0x4578e3
lea eax, [ebp - 0xc8]
call fcn.0041567a
mov eax, 0x1269c
call fcn.00425a2d
mov dword [ebp - 0x100], eax
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0x7f
jne 0x45791f
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x40], esi
mov esi, dword [ebp - 0xf4]
mov byte [eax + 2], 0
mov dword [eax + 0x44], edi
mov byte [eax + 3], 1
mov edx, dword [esi + 0x10]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x18], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov dword [eax], esi
mov dword [eax + 4], edi
mov word [eax + 8], 4
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
call fcn.00415ff0
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
cmp cl, 0x3c
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xc0], ax
sbb eax, eax
mov byte [ebp - 0xbe], al
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xc4], eax
mov ebx, dword [edx + 0x28]
mov eax, ebx
call fcn.004090a9
mov ecx, dword [ebx + 0x1c]
xor edx, edx
mov eax, ecx
add eax, 0xffffffff
adc edx, 0xffffffff
cmp edx, 0
ja 0x4579dc
cmp eax, 0x7ffffffe
jbe 0x4579f0
mov eax, 0x126bd
xor ebx, ebx
call fcn.00425a2d
mov dword [ebp - 0x100], eax
jmp 0x457a47
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov word [ebp - 0x78], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x80]
mov dword [esp], eax
mov eax, ebx
xor ebx, ebx
call fcn.0043f68c
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x457a47
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.00426a69
mov ebx, eax
lea eax, [ebp - 0x80]
call fcn.0041567a
mov edi, dword [ebp - 0xf4]
mov eax, ebx
inc ebx
neg eax
test byte [edi], 1
cmove ebx, eax
cmp dword [ebp - 0x100], 0
jne 0x45a31c
test ebx, ebx
jg 0x45321c
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov dword [ebp - 0x128], eax
mov word [eax + 8], 1
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0xac]
mov dword [ebp - 0x100], eax
inc eax
cmp dword [esi + 0xa0], eax
jle 0x457ad2
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 6
mov byte [eax + 0x8e], 2
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x134]
mov edx, dword [ebp - 0x110]
shl eax, 4
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x140]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx + 4]
lea ecx, [ebp - 0xd0]
mov edi, dword [esi + 4]
mov eax, dword [esi]
mov dword [edi + 4], eax
mov dword [esp], 0
mov eax, edi
mov dword [ebp - 0xd0], 0
call fcn.0040308e
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xd4], eax
jne 0x457d0f
mov edx, dword [ebp - 0x110]
xor ecx, ecx
mov eax, esi
call fcn.0043fe32
test eax, eax
mov dword [ebp - 0xd4], eax
jne 0x457cf8
cmp byte [edi + 0x11], 0
je 0x457ce7
lea ecx, [ebp - 0xc8]
mov eax, esi
mov edx, 4
call fcn.004091c4
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
jne 0x457bca
lea edx, [ebp - 0xd4]
call fcn.0043ce4d
mov eax, dword [ebp - 0xd0]
call fcn.00439bb8
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x457c82
jmp 0x457cdd
call fcn.00439bb8
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x80]
mov dword [esp], 0
mov eax, edi
call fcn.0040308e
test eax, eax
mov dword [ebp - 0xd4], eax
jne 0x457cdd
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x80]
mov ecx, 1
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, edi
call fcn.0043c61d
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x80]
call fcn.00439bb8
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x457cdd
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x80]
mov dword [esp], 0
mov eax, edi
mov dword [ebp - 0x80], 0
call fcn.0040308e
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x80]
lea edx, [ebp - 0xd4]
call fcn.0043ce4d
mov eax, dword [ebp - 0x80]
call fcn.00439bb8
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x457cdd
mov ebx, dword [ebp - 0xc8]
dec dword [ebp - 0xc8]
mov eax, dword [0x496340]
xor edx, edx
div dword [edi + 0x20]
inc eax
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0x100]
jne 0x457cb0
dec ecx
mov dword [ebp - 0xc8], ecx
jmp 0x457c99
mov edx, ecx
mov eax, edi
mov dword [ebp - 0x110], ecx
call fcn.00402d78
mov ecx, dword [ebp - 0x110]
cmp ecx, eax
je 0x457ca7
mov edx, 4
mov eax, esi
call fcn.0043bcd9
mov dword [ebp - 0xd4], eax
jmp 0x457d03
mov dword [ebp - 0x100], eax
xor ebx, ebx
jmp 0x457d0f
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xd4]
call fcn.0043ce4d
mov eax, dword [ebp - 0xd0]
call fcn.00439bb8
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x100], eax
mov edi, ebx
mov eax, dword [ebp - 0x128]
sar edi, 0x1f
cmp dword [ebp - 0x100], 0
mov word [eax + 8], 4
mov dword [eax], ebx
mov dword [eax + 4], edi
jne 0x45a31c
test ebx, ebx
je case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x140]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + edi + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x457d6c
mov esi, dword [eax + 8]
cmp ebx, dword [esi + 0x1c]
jne 0x457d68
mov dword [esi + 0x1c], edx
mov eax, dword [eax]
jmp 0x457d59
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x457d82
mov ecx, dword [eax + 8]
cmp ebx, dword [ecx + 0x2c]
jne 0x457d7e
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
jmp 0x457d6f
mov al, byte [ebp - 0x134]
inc eax
mov byte [ebp - 0x136], al
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov ecx, 0
mov esi, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
lea eax, [ebp - 0x80]
cmovne ecx, eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call fcn.0043fe32
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x457e0e
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x80]
add dword [edi + 0x2c], ecx
test eax, eax
jle 0x457e0e
imul eax, eax, 0x28
mov esi, dword [ebp - 0x104]
mov ebx, ecx
sar ebx, 0x1f
add dword [esi + eax], ecx
adc dword [esi + eax + 4], ebx
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
cmp byte [eax], 1
jne 0x457e4d
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xf8]
call fcn.00415098
jmp case.0x4530f6.112
mov eax, dword [eax + 0x28]
xor ecx, ecx
mov edx, dword [eax + 0x34]
mov eax, dword [eax]
call fcn.0043fe32
test eax, eax
mov dword [ebp - 0x100], eax
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf4]
xor ecx, ecx
lea edx, [ebp - 0x80]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 0x10]
cmp byte [esi], 0x86
mov eax, dword [eax + 4]
setne cl
inc ecx
call fcn.0043fe95
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov eax, dword [ebp - 0x80]
mov dword [ebx], eax
sar eax, 0x1f
mov dword [ebx + 4], eax
jmp case.0x4530f6.112
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xe8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0xf4]
lea edx, [esi + 0x6c]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
shl eax, 4
mov edx, dword [edi + 0x10]
mov dword [esp + 0xc], 0x498084
mov dword [esp + 0x10], edx
add eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0042e3ed
test eax, eax
mov ebx, eax
je 0x457fb2
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x99], 1
lea eax, [ebp - 0x80]
mov dword [esp + 0x10], 0
mov dword [esp + 8], fcn.0046cea3
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x74], 0
mov dword [esp], eax
call fcn.0045ba70
test eax, eax
cmove eax, dword [ebp - 0x74]
mov edx, ebx
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
call fcn.0040f362
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x99], 0
je case.0x4530f6.112
jmp 0x457fbc
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xf8]
call fcn.004120ae
cmp dword [ebp - 0x100], 7
jne 0x45a31c
jmp 0x45a470
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
call fcn.0045bd26
test eax, eax
mov dword [ebp - 0x100], eax
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0xc]
add eax, 8
call fcn.004114f0
mov edx, eax
mov eax, dword [ebp - 0xf8]
call fcn.004117c8
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x18
call fcn.004114f0
test eax, eax
je 0x4580aa
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp eax, edx
jne 0x458091
mov edx, dword [eax + 0x14]
mov dword [ecx + 8], edx
jmp 0x45809d
mov ecx, dword [edx + 0x14]
cmp eax, ecx
je 0x458097
mov edx, ecx
test edx, edx
jne 0x458088
jmp 0x45809d
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov edx, eax
mov eax, dword [ebp - 0xf8]
call fcn.00411a49
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x28
call fcn.004114f0
test eax, eax
mov ebx, eax
je case.0x4530f6.112
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x458118
mov edx, dword [ebx + 4]
add eax, 8
call fcn.0040236e
lea edx, [eax + 0x40]
mov eax, dword [eax + 0x40]
cmp ebx, eax
je 0x458113
lea edx, [eax + 0x20]
mov eax, dword [eax + 0x20]
jmp 0x458107
mov eax, dword [ebx + 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0xf8]
mov edx, ebx
call fcn.00411e61
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
lea edi, [ebp - 0x80]
mov eax, dword [eax + 8]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x134]
mov edx, dword [eax]
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax + 3]
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 0x18]
mov dword [ebx + 4], eax
mov dword [ebp - 0xc8], ebx
mov eax, dword [ebx]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x2c]
test eax, eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0x64
mov dword [ebp - 0x8c], 0x3b9aca00
mov byte [ebp - 0x88], 0
mov byte [ebp - 0x87], 1
je 0x458441
shr eax, 3
xor edx, edx
inc eax
call fcn.004123a2
test eax, eax
mov dword [ebp - 0xc0], eax
jne 0x458287
mov dword [ebp - 0xb0], 1
jmp 0x458441
mov eax, dword [ebx + 0x20]
call fcn.00412ec0
test eax, eax
mov dword [ebp - 0x84], eax
je 0x458278
mov eax, dword [0x496340]
xor edx, edx
div dword [ebx + 0x20]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0xbc]
ja 0x4582c7
mov edx, ecx
mov esi, 1
and ecx, 7
shr edx, 3
add edx, dword [ebp - 0xc0]
mov eax, esi
shl eax, cl
or byte [edx], al
mov dword [ebp - 0xac], str.Main_freelist:
mov eax, dword [ebx + 0xc]
lea edi, [ebp - 0xc8]
xor esi, esi
mov edx, dword [eax + 0x38]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov edx, 1
bswap eax
bswap ecx
mov dword [esp], eax
mov eax, edi
call fcn.00439a0a
mov dword [ebp - 0xac], 0
mov eax, dword [ebx + 4]
and dword [eax + 0x18], 0xdfffffff
cmp dword [ebp - 0x140], esi
jle 0x458370
cmp dword [ebp - 0xb8], 0
je 0x458370
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + esi*4]
test edx, edx
je 0x45836d
cmp byte [ebx + 0x11], 0
je 0x458348
cmp edx, 1
jle 0x458348
mov dword [esp], 0
mov ecx, 1
mov eax, edi
call fcn.00439979
mov eax, dword [ebp - 0x128]
lea ecx, [ebp - 0xd0]
mov edx, dword [eax + esi*4]
mov dword [esp], 0xffffffff
mov eax, edi
mov dword [esp + 4], 0x7fffffff
call fcn.00439e7d
inc esi
jmp 0x45830c
mov edi, dword [ebp - 0x148]
mov eax, dword [ebx + 4]
mov esi, 1
mov dword [eax + 0x18], edi
lea edi, [ebp - 0xc8]
cmp esi, dword [ebp - 0xbc]
ja 0x458441
cmp dword [ebp - 0xb8], 0
je 0x458441
mov eax, esi
mov ecx, esi
shr eax, 3
and ecx, 7
mov dword [ebp - 0x128], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + ecx]
test dword [ebp - 0x140], eax
jne 0x4583fc
mov edx, esi
mov eax, ebx
call fcn.00402d78
cmp esi, eax
jne 0x4583e8
cmp byte [ebx + 0x11], 0
jne 0x4583fc
mov dword [esp + 8], esi
mov dword [esp + 4], str.Page__d_is_never_used
mov dword [esp], edi
call fcn.00430af1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x128]
movzx eax, byte [eax + ecx]
test dword [ebp - 0x140], eax
je 0x45843b
mov edx, esi
mov eax, ebx
call fcn.00402d78
cmp esi, eax
jne 0x45843b
cmp byte [ebx + 0x11], 0
je 0x45843b
mov dword [esp + 8], esi
mov dword [esp + 4], str.Pointer_map_page__d_is_referenced
mov dword [esp], edi
call fcn.00430af1
inc esi
jmp 0x458387
mov eax, dword [ebp - 0x84]
call fcn.0040a771
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call fcn.00409a90
cmp dword [ebp - 0xb0], 0
je 0x458474
lea eax, [ebp - 0xa0]
call fcn.0040f3ac
inc dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb4]
test ebx, ebx
jne 0x458489
lea eax, [ebp - 0xa0]
call fcn.0040f3ac
lea eax, [ebp - 0xa0]
call fcn.004110bd
mov edi, dword [ebp - 0x134]
mov esi, eax
mov eax, ebx
cdq
mov eax, dword [ebp - 0x110]
sub dword [edi], ebx
sbb dword [edi + 4], edx
call fcn.00415ff0
test ebx, ebx
je 0x4584da
test esi, esi
je 0x45a470
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], fcn.00409a90
or ecx, 0xffffffff
mov dword [esp], 1
mov edx, esi
call fcn.0041da42
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
call fcn.0041f1a3
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
imul esi, dword [eax + 8], 0x28
add ebx, dword [ebp - 0x104]
add esi, dword [ebp - 0x104]
test byte [ebx + 8], 0x20
je 0x458521
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov eax, dword [ebx]
call fcn.00410581
jmp case.0x4530f6.112
mov eax, ebx
call fcn.00415e6f
test byte [ebx + 8], 0x20
jne 0x458510
jmp 0x45a470
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 0x20
je 0x4585d1
mov esi, dword [ebx]
mov ax, word [esi + 0x1a]
test al, 2
jne 0x45856b
test al, 1
jne 0x458566
mov eax, dword [esi + 8]
call fcn.004081bd
mov dword [esi + 8], eax
or word [esi + 0x1a], 3
mov eax, dword [esi + 8]
test eax, eax
je 0x4585d1
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], ebx
test eax, eax
mov dword [esi + 8], eax
jne 0x45a883
mov edx, dword [esi]
test edx, edx
je 0x4585a5
mov ebx, dword [edx]
mov eax, dword [esi + 4]
call fcn.0040f362
mov edx, ebx
jmp 0x458593
mov dword [esi], 0
mov word [esi + 0x18], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x1a], 1
jmp 0x45a883
mov eax, ebx
call fcn.00415ff0
jmp case.0x4530f6.13
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x20
je 0x45862f
cmp dword [ebp - 0x128], 0
je 0x458658
jmp 0x458675
mov eax, dword [ebp - 0x110]
call fcn.00415e6f
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x20
jne 0x458624
jmp 0x45a470
cmp dword [ebp - 0x128], 0
js case.0x4530f6.112
mov eax, dword [ebp - 0x134]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
call fcn.00410581
jmp case.0x4530f6.112
mov eax, dword [ebp - 0x134]
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebx + 0x1c]
je 0x45875b
mov esi, dword [ebx + 8]
test esi, esi
je 0x458752
test byte [ebx + 0x1a], 1
lea eax, [ebx + 0x14]
mov dword [ebp - 0x140], eax
jne 0x4586cc
mov eax, esi
call fcn.004081bd
mov esi, eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x45870c
lea eax, [edi + 8]
mov dword [ebp - 0x140], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x458735
lea ecx, [ebp - 0x80]
lea edx, [ebp - 0xc8]
call fcn.0040285a
mov dword [edi + 0xc], 0
mov eax, dword [ebp - 0xc8]
mov edx, esi
call fcn.004027f8
mov edi, dword [edi + 8]
mov esi, eax
jmp 0x4586cf
mov eax, ebx
call fcn.00410539
mov edi, eax
mov eax, dword [ebp - 0x140]
test edi, edi
mov dword [eax], edi
je 0x45873f
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, esi
call fcn.004028fb
mov dword [edi + 0xc], eax
or word [ebx + 0x1a], 1
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov eax, dword [ebp - 0x128]
mov dword [ebx + 0x1c], eax
mov edx, dword [ebx + 0x14]
test edx, edx
je 0x45864b
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4587a2
mov ebx, dword [eax + 4]
cmp dword [ebp - 0x158], ebx
mov ecx, dword [eax]
jl 0x45879d
jg 0x458784
cmp dword [ebp - 0x148], ecx
jbe 0x458789
mov eax, dword [eax + 8]
jmp 0x458769
cmp dword [ebp - 0x158], ebx
jl 0x45879d
cmp dword [ebp - 0x148], ecx
jae 0x45321c
mov eax, dword [eax + 0xc]
jmp 0x458769
mov edx, dword [edx + 8]
jmp 0x45875e
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 3], 0
mov ebx, dword [eax + 0x10]
je 0x4587d7
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebx + 0x10]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x4587d7
cmp edx, dword [eax + 0x18]
je case.0x4530f6.112
mov eax, dword [eax + 4]
jmp 0x4587c5
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf8]
mov esi, dword [edi + 0x88]
cmp dword [eax + 0xc0], esi
jl 0x458810
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 1
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0x104]
test byte [esi + 8], 0x40
jne 0x458911
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
add edi, eax
cmp eax, 1
adc edi, 0
imul edx, edi, 0xa
lea edx, [eax + edx + 0x14]
mov eax, dword [ebp - 0xf8]
shl edx, 2
mov ecx, edx
sar ecx, 0x1f
call fcn.00410dbb
test eax, eax
mov dword [ebp - 0x104], eax
je 0x45a470
mov eax, esi
call fcn.0041567a
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xe8]
mov word [esi + 8], 0x40
mov dword [esi], edx
mov dword [edx], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0x3c], edi
imul edi, edi, 0x28
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
lea ecx, [edx + edi + 0x50]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x18]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x1c]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x58]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x88]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x18], eax
lea eax, [edx + 0x50]
cmp eax, ecx
je 0x458913
mov edi, dword [ebp - 0xf8]
mov word [eax + 8], pe_nt_image_headers32
add eax, 0x28
mov dword [eax - 8], edi
jmp 0x4588f9
mov edx, dword [esi]
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x120]
lea ecx, [edx + 0x50]
mov edi, dword [ebp - 0x11c]
inc dword [eax + 0xc0]
mov eax, dword [eax + 0xb8]
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], edi
mov edi, dword [ebp - 0xe8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xcc]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0xb8], edx
mov dword [eax + 0xcc], 0
mov dword [eax + 0x2c], 0
lea eax, [edx + 0x50]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x5c], ecx
mov eax, dword [edx + 0x3c]
movzx edx, word [edx + 0x40]
mov dword [edi + 0x18], eax
imul eax, eax, 0x28
mov dword [edi + 0x1c], edx
add eax, ecx
mov dword [edi + 0x70], eax
mov eax, dword [ebx]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x108]
mov dword [edi + 0x88], eax
mov eax, esi
mov dword [edi + 0x58], esi
sub eax, 0x18
mov dword [ebp - 0xf4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [edi + 0xb8]
mov edx, dword [esi + 4]
imul ebx, dword [ecx + 0x30], 0x18
add ebx, dword [ecx + 8]
add edx, dword [ebx + 4]
imul edx, edx, 0x28
add edx, dword [ecx + 0x10]
mov ecx, 0x1000
call fcn.00416386
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1b], 2
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
je 0x458a58
mov ecx, eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
sar ebx, 0x1f
add dword [eax + 0x1c0], ecx
adc dword [eax + 0x1c4], ebx
jmp case.0x4530f6.112
mov ecx, dword [ebp - 0xf4]
cdq
cmp dword [ecx + 4], 0
je 0x458a7c
mov edi, dword [ebp - 0xf8]
add dword [edi + 0x1b8], eax
adc dword [edi + 0x1bc], edx
jmp case.0x4530f6.112
mov esi, dword [ebp - 0xe8]
add dword [esi + 0x40], eax
adc dword [esi + 0x44], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
je 0x458ac8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1bc]
or eax, dword [ecx + 0x1b8]
jne case.0x4530f6.112
mov eax, dword [ecx + 0x1c4]
or eax, dword [ecx + 0x1c0]
jmp 0x45616d
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
or eax, dword [esi + 0x40]
jne case.0x4530f6.112
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1c4]
or eax, dword [ecx + 0x1c0]
jmp 0x45616d
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x458b27
mov edx, dword [eax + 4]
test edx, edx
je 0x458b18
mov eax, edx
jmp 0x458b0d
mov edi, dword [ebp - 0xf4]
imul ebx, dword [edi + 4], 0x28
add ebx, dword [eax + 0x10]
jmp 0x458b37
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
mov eax, ebx
call fcn.0040adb3
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 8], 0x28
add esi, dword [ebp - 0x104]
mov eax, esi
call fcn.0040adb3
mov eax, dword [esi + 4]
cmp dword [ebx + 4], eax
mov edx, dword [esi]
jg case.0x4530f6.112
jl 0x458b6d
cmp dword [ebx], edx
jae case.0x4530f6.112
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0x104]
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0
jl case.0x4530f6.112
jg 0x458ba0
cmp eax, 0
jbe case.0x4530f6.112
mov ecx, dword [ebp - 0xf4]
mov ecx, dword [ecx + 0xc]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45321c
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 4], 0x28
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xe8]
add edi, dword [ebp - 0x104]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edx, dword [edi + 4]
mov ebx, eax
mov eax, dword [edi]
cmp edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jg 0x458c0b
jl 0x458bf9
cmp eax, 0
ja 0x458c0b
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
jmp case.0x4530f6.112
imul eax, esi, 0x28
add eax, dword [ebp - 0x104]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jns 0x458c21
xor edx, edx
xor ecx, ecx
lea eax, [ebp - 0x80]
call fcn.00402197
test eax, eax
jne 0x458bf9
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov edi, edx
or edi, eax
je case.0x4530f6.112
cmp edx, 0
jl 0x45321c
jg 0x458c70
cmp eax, 0
jbe 0x45321c
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x45321c
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
lea edx, [ebx - 0x80000000]
or edx, ecx
je 0x458caa
add ecx, 0xffffffff
adc ebx, 0xffffffff
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov edx, dword [eax + 4]
or edx, dword [eax]
jmp 0x45616d
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
movzx eax, byte [eax + 3]
lea edx, [eax*4 + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0xf8]
call fcn.00410432
test eax, eax
je 0x45a470
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 8], 0
mov esi, dword [ebp - 0xe8]
mov edx, dword [ecx + 0x10]
mov byte [eax + 0x1a], bl
mov dword [eax + 0xc], esi
mov dword [eax + 4], edx
mov edx, ecx
sub edx, dword [ebp - 0x108]
sar edx, 3
imul edx, edx, 0xaaaaaaab
mov dword [eax + 0x10], edx
mov byte [ecx + 1], 0xf0
mov dword [ecx + 0x10], eax
mov byte [ecx], 0x93
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 0xc], 0x28
mov ebx, dword [eax + 0x10]
add edx, dword [ebp - 0x104]
cmp edx, dword [ebx + 8]
jne 0x458d77
mov eax, dword [ebp - 0xf8]
inc dword [edx + 0xc]
lea edx, [ebx + 0x1c]
mov word [ebp - 0x78], 1
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x80]
mov byte [ebx + 0x19], 0
mov dword [ebx], eax
mov byte [ebx + 0x18], 0
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x1a]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
cmp byte [ebx + 0x19], 0
jne 0x458d9e
jmp 0x458de7
movzx eax, byte [ebx + 0x1a]
mov dword [ebx + 8], edx
dec eax
cmp eax, 0xffffffff
je 0x458d31
mov esi, dword [ebp - 0xf4]
mov ecx, dword [esi + 8]
add ecx, eax
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebx + eax*4 + 0x1c], ecx
jmp 0x458d7e
cmp dword [ebx + 0x14], 0
je 0x458dd2
lea eax, [ebp - 0x80]
mov dword [esp], eax
call fcn.00421e94
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x498aa0
mov dword [esp], eax
call fcn.0042e35b
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x80]
call fcn.0041567a
cmp dword [ebp - 0x100], 0
jne 0x45a31c
cmp byte [ebx + 0x18], 0
je case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax - 0x14]
test eax, eax
je case.0x4530f6.112
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov edx, 1
xor ecx, ecx
call fcn.00416241
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
mov edx, dword [eax + 0x10]
add ebx, dword [ebp - 0x104]
mov eax, ebx
call fcn.0040f7ad
test eax, eax
mov dword [ebp - 0x100], eax
je 0x458e67
mov dword [esp], ebx
call fcn.00421e94
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x498aa0
mov dword [esp], eax
call fcn.0042e35b
jmp 0x45a31c
mov edx, dword [ebp - 0x114]
mov eax, ebx
call fcn.0041f1a3
mov eax, ebx
call fcn.00403311
test eax, eax
je case.0x4530f6.112
jmp 0x45a42e
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x78]
mov dword [esp + 4], eax
lea eax, [ebp - 0x7c]
mov dword [esp], eax
mov eax, dword [ebp - 0xf8]
call fcn.0044f52f
test eax, eax
mov dword [ebp - 0x100], eax
je 0x458edb
cmp eax, 5
jne 0x45a31c
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0xf4]
xor esi, esi
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
mov edx, dword [ebp + esi*4 - 0x80]
mov eax, ebx
inc esi
add ebx, 0x28
mov ecx, edx
sar ecx, 0x1f
call fcn.00416241
cmp esi, 3
jne 0x458eed
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
cmp esi, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
movzx edi, byte [ebx + 5]
cmove esi, edi
cmp byte [ebx + 0x11], 2
ja 0x458f7e
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x458f80
cmp dword [ebx + 0x54], 0
jl 0x458f80
jg 0x458f7e
cmp dword [ebx + 0x50], 0
jbe 0x458f80
mov esi, edi
cmp byte [ebx + 0x10], 0
mov eax, 0x498494
jne 0x458f91
mov eax, dword [ebx + 0xb0]
cmp esi, 5
jne 0x458fb7
call fcn.00407d30
test eax, eax
je 0x459153
mov eax, ebx
call fcn.00402a93
test eax, eax
je 0x459153
jmp 0x45914a
cmp esi, edi
je 0x459155
cmp edi, 5
jne 0x459155
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x43], 0
je 0x458fdd
cmp dword [eax + 0xa0], 1
jle 0x459016
cmp esi, 5
mov edx, str.into
mov eax, str.out_of
cmove eax, edx
mov dword [esp + 4], str.cannot_change__s_wal_mode_from_within_a_transaction
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 1
jmp 0x45a31c
cmp edi, 5
jne 0x459114
cmp dword [ebx + 0xdc], 0
je 0x459036
cmp dword [ebx + 0xdc], 0
jne 0x459097
jmp 0x4590f5
mov edx, 1
mov eax, ebx
mov dword [ebp - 0x80], 0
call fcn.00413fd8
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45915f
lea eax, [ebp - 0x80]
mov edx, dword [ebx + 0xe0]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [ebx]
call fcn.00401737
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45915f
cmp dword [ebp - 0x80], 0
je 0x459028
mov eax, ebx
call fcn.00414bdc
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45915f
jmp 0x459028
mov edx, 4
mov eax, ebx
call fcn.00413fd8
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459106
mov edx, dword [ebx + 0xd4]
movzx ecx, byte [ebx + 0xa]
mov eax, dword [ebx + 0xdc]
mov dword [esp + 4], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp], edx
mov edx, dword [ebp - 0xf8]
call fcn.00441c78
mov dword [ebx + 0xdc], 0
mov dword [ebp - 0x100], eax
mov eax, ebx
call fcn.0040ff23
cmp dword [ebp - 0x100], 0
jne 0x459100
mov edx, esi
mov eax, ebx
call fcn.00439056
jmp 0x45912e
cmp byte [ebx + 4], 0
jne 0x45915f
mov edx, 1
mov eax, ebx
call fcn.00402945
jmp 0x45915f
cmp edi, 4
jne 0x459125
mov edx, 2
mov eax, ebx
call fcn.00439056
cmp dword [ebp - 0x100], 0
jne 0x45915f
xor edx, edx
mov eax, dword [ebp - 0x128]
cmp esi, 5
sete dl
inc edx
call fcn.0043bd1c
mov dword [ebp - 0x100], eax
jmp 0x459155
cmp edi, 5
jne 0x458fc8
mov esi, edi
cmp dword [ebp - 0x100], 0
cmove edi, esi
mov edx, edi
mov eax, ebx
call fcn.00439056
mov esi, dword [ebp - 0x110]
xor edx, edx
cmp eax, 6
mov word [esi + 8], 0xa02
je 0x459182
mov edx, dword [eax*4 + 0x4a1abc]
mov eax, dword [ebp - 0x110]
mov dword [eax + 0x10], edx
mov eax, edx
call fcn.00407d30
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
mov dword [edi + 0xc], eax
mov byte [edi + 0xa], 1
mov eax, edi
call fcn.0041f1a3
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xe8]
lea edi, [eax + 0x6c]
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x43], 0
jne 0x4591da
mov ecx, str.cannot_VACUUM_from_within_a_transaction
jmp 0x4591ee
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x9c], 1
jle 0x459206
mov ecx, str.cannot_VACUUM___SQL_statements_in_progress
mov edx, eax
mov eax, edi
call fcn.00411205
mov dword [ebp - 0x100], 1
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov edx, edi
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
mov ecx, esi
mov eax, dword [eax + 0x18]
shl ebx, 4
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xf8]
mov al, byte [eax + 0x4c]
mov byte [esi + 0x4c], 0
mov byte [ebp - 0x150], al
mov eax, dword [ebp - 0x140]
and eax, 0xfff5ff7f
or eax, 0x10202800
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x10]
add eax, ebx
mov ebx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x128], esi
mov eax, dword [eax]
mov al, byte [eax + 0xd]
mov byte [ebp - 0x16c], al
mov eax, dword [ecx + 0x14]
mov ecx, str.ATTACHAS_vacuum_db
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xf8]
call fcn.00471103
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x110], 0
jne 0x459696
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x148]
shl eax, 4
add eax, dword [ecx + 0x10]
mov esi, dword [eax + 4]
mov dword [ebp - 0x110], eax
mov eax, esi
call fcn.00440d9e
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [eax + 4], edx
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x134]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov edx, dword [eax + 0x50]
mov eax, esi
call fcn.004134cb
xor edx, edx
mov eax, ebx
call fcn.004030cf
mov edx, eax
mov eax, esi
call fcn.004030cf
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [eax + 4], edx
mov eax, dword [eax]
mov edx, 0x21
call fcn.004029d8
mov eax, dword [ebp - 0xf8]
mov ecx, 0x49b333
mov edx, edi
call fcn.00471103
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
mov edx, 2
mov eax, ebx
call fcn.0043b757
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
mov eax, dword [ebx + 4]
mov edx, dword [eax]
cmp byte [edx + 5], 5
jne 0x459398
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 0x50], 0
mov ecx, dword [ebp - 0x170]
sub ecx, dword [ebp - 0x174]
mov edx, dword [eax + 0x20]
mov dword [esp], 0
mov eax, esi
mov dword [ebp - 0x134], ecx
call fcn.004130b0
test eax, eax
mov dword [ebp - 0x100], 7
jne 0x459696
cmp byte [ebp - 0x16c], 0
je 0x4593f2
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 7
cmp byte [eax + 0x45], 0
jne 0x459696
jmp 0x459419
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x134]
mov edx, dword [eax + 0x50]
mov dword [esp], 0
mov eax, esi
call fcn.004130b0
test eax, eax
jne 0x459696
jmp 0x4593d6
mov eax, dword [ebp - 0xf8]
movsx eax, byte [eax + 0x48]
test al, al
jns 0x45942e
mov eax, ebx
call fcn.00490fec
mov edx, eax
mov eax, esi
call fcn.00490fb0
mov ecx, dword [ebp - 0xf8]
mov al, byte [ebp - 0x148]
mov byte [ecx + 0x98], al
mov eax, dword [ebp - 0x128]
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0xc], eax
call fcn.00492b39
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
mov eax, dword [ebp - 0x128]
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex_AND_length_sql__10
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call fcn.00492b39
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x98], 0
mov eax, dword [ebp - 0x128]
mov dword [esp + 8], str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_master_WHERE_typetableAND_coalesce_rootpage_1__0
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call fcn.00492b39
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
and dword [eax + 0x18], 0xefffffff
cmp dword [ebp - 0x100], 0
jne 0x459696
mov eax, dword [ebp - 0x128]
mov dword [esp + 8], str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call fcn.00492b39
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
mov edi, 0x4a0a68
movzx eax, byte [edi]
lea ecx, [ebp - 0xc8]
mov edx, eax
mov dword [ebp - 0x100], eax
mov eax, ebx
call fcn.004091c4
movzx ecx, byte [edi + 1]
mov edx, dword [ebp - 0x100]
mov eax, esi
add ecx, dword [ebp - 0xc8]
call fcn.0043bcd9
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
add edi, 2
cmp edi, 0x4a0a72
jne 0x45952f
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [eax + 4], edx
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [eax + 4], edx
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov edi, dword [eax + 0x40]
cmp dword [edi], 0
je 0x4595e9
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x2c]
mov edx, ecx
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x128], ecx
sar edx, 0x1f
mov dword [ebp - 0x124], edx
mov ecx, dword [ebp - 0x124]
imul ecx, eax
mul dword [ebp - 0x100]
add edx, ecx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, edi
mov edx, 0xb
call fcn.0040165c
cmp eax, 0xc
mov dword [ebp - 0x100], eax
je 0x4595e9
test eax, eax
jne 0x45964c
lea edi, [ebp - 0x80]
xor eax, eax
mov ecx, 0xc
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [esp + 4], 0x7fffffff
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x80]
mov dword [esp], eax
call fcn.00440dca
lea eax, [ebp - 0x80]
mov dword [esp], eax
call fcn.0044f013
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459639
mov eax, dword [ebx + 4]
and word [eax + 0x16], 0xfffd
jmp 0x459655
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
jne 0x45964c
call fcn.0040fb96
cmp dword [ebp - 0x100], 0
jne 0x459696
mov eax, esi
call fcn.00440d9e
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459696
mov eax, esi
call fcn.00490fec
mov edx, eax
mov eax, ebx
call fcn.00490fb0
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x134]
mov edx, dword [eax + 0x20]
mov dword [esp], 1
mov eax, ebx
call fcn.004130b0
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x140]
or ecx, 0xffffffff
mov esi, dword [ebp - 0x160]
or edx, 0xffffffff
mov dword [eax + 0x18], edi
mov edi, dword [ebp - 0x158]
mov byte [eax + 0x98], 0
mov dword [eax + 0x5c], esi
mov dword [eax + 0x58], edi
mov edi, eax
mov al, byte [ebp - 0x150]
mov byte [edi + 0x4c], al
mov dword [esp], 1
mov eax, ebx
call fcn.004130b0
cmp dword [ebp - 0x110], 0
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 1
je 0x459712
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 4]
call fcn.0044ed6c
mov eax, dword [ebp - 0x110]
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0xf8]
call fcn.004120ae
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 4]
mov eax, dword [eax]
cmp byte [ebx + 0x11], 0
mov dword [ebx + 4], eax
je 0x45a92a
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 0x2c]
mov eax, dword [eax + 0x38]
mov edx, edi
mov esi, dword [eax + 0x24]
mov eax, ebx
bswap esi
mov ecx, esi
call fcn.00403164
cmp edi, eax
mov dword [ebp - 0x110], eax
jae 0x459794
mov eax, 0xf39f
call fcn.00425a2d
mov dword [ebp - 0x100], eax
jmp 0x4597f9
test esi, esi
je 0x45a92a
mov eax, dword [ebx + 8]
xor ecx, ecx
xor edx, edx
call fcn.0043f82b
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459806
mov eax, dword [ebx + 8]
call fcn.0040ac9b
mov edx, dword [ebp - 0x110]
mov dword [esp], 0
mov ecx, edi
mov eax, ebx
call fcn.0043c921
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459806
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
call fcn.0043820c
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebx + 0x2c]
bswap eax
mov dword [edx + 0x1c], eax
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
cmp dword [ebp - 0x100], 0x65
jne 0x45a31c
jmp 0x45a92a
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
jne 0x459834
mov eax, dword [ebp - 0xf8]
call fcn.004035c4
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xe8]
or byte [eax + 0x90], 1
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x459863
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x19], 0x40
jne case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
je 0x45a8e8
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 8]
lea eax, [edx + 1]
mov edx, dword [ebx]
mov byte [ebp - 0x110], al
mov eax, dword [ebx + 4]
movzx ecx, byte [ebp - 0x110]
mov dword [eax + 4], edx
mov edx, edi
mov eax, ebx
call fcn.00402d1d
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a8b3
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x48]
test eax, eax
je 0x4598db
cmp edi, dword [eax + 4]
jne 0x4598d6
cmp ebx, dword [eax]
je 0x4598fd
mov eax, dword [eax + 0xc]
jmp 0x4598c9
xor edx, edx
mov eax, 0x10
call fcn.004123a2
test eax, eax
je 0x45a8a9
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov dword [eax + 0xc], edx
mov dword [esi + 0x48], eax
mov cl, byte [ebp - 0x110]
cmp cl, byte [eax + 8]
jbe 0x45a8e8
mov byte [eax + 8], cl
jmp 0x45a8e8
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x13c]
test edx, edx
jle 0x45993a
cmp dword [eax + 0x154], 0
je 0x459a05
test ebx, ebx
je 0x45a2c0
mov eax, dword [ebx + 8]
mov esi, dword [eax]
xor eax, eax
cmp dword [esi + 0x38], 0
je 0x45a8f7
cmp edx, eax
jle 0x45996f
mov edi, dword [ebp - 0xf8]
mov ecx, dword [edi + 0x154]
cmp ebx, dword [ecx + eax*4]
je 0x45a8f7
inc eax
jmp 0x459953
mov eax, dword [ebp - 0xf8]
call fcn.0042063f
test eax, eax
jne 0x45a939
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [esi + 0x38]
test eax, eax
jne 0x45a939
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1b0]
add eax, dword [edi + 0x1b4]
mov edi, dword [edi + 0x154]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x13c]
lea edi, [edx + 1]
mov dword [ecx + 0x13c], edi
mov edi, dword [ebp - 0x100]
mov dword [edi + edx*4], ebx
inc dword [ebx + 0xc]
test eax, eax
je 0x45a8f7
mov edx, dword [esi + 0x50]
test edx, edx
je 0x45a8f7
mov dword [ebx + 0x14], eax
dec eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call edx
mov esi, eax
jmp 0x459a12
test ebx, ebx
je 0x45a917
mov esi, 6
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe8]
add edx, 8
call fcn.0041112b
test esi, esi
je 0x45a2cc
mov dword [ebp - 0x100], esi
jmp 0x45a31c
lea edi, [ebp - 0x80]
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 8], 0x28
lea eax, [ebp - 0x80]
add edx, dword [ebp - 0x104]
call fcn.0041f39d
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x80]
mov dword [esp], eax
call fcn.00421e94
test eax, eax
je 0x459b7e
mov esi, dword [ebp - 0xf4]
mov edx, eax
mov esi, dword [esi + 4]
mov dword [ebp - 0x100], esi
mov ecx, esi
mov esi, dword [ebp - 0xf8]
shl ecx, 4
add ecx, dword [esi + 0x10]
mov eax, esi
mov ecx, dword [ecx]
call fcn.00403dc4
mov ebx, eax
mov eax, dword [eax + 0x38]
mov esi, dword [eax]
mov eax, dword [ebp - 0xf8]
mov edx, esi
add eax, 0x140
call fcn.0040236e
test eax, eax
je 0x459ad0
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
test edx, edx
je 0x459ad0
cmp dword [ecx + 0x14], 0
jne 0x459aff
mov eax, dword [ebp - 0xf8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_module:__s
mov dword [esp], eax
call fcn.0042e3ed
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 1
mov dword [esi + 0x6c], eax
jmp 0x459b7e
mov esi, dword [ebp - 0xe8]
mov dword [esp], edx
mov edx, ebx
lea ecx, [esi + 0x6c]
mov dword [esp + 4], ecx
mov ecx, eax
mov eax, dword [ebp - 0xf8]
call fcn.0042e491
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459b7e
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0xf8]
call fcn.0040bce7
test eax, eax
je 0x459b7e
mov eax, dword [ebp - 0xf8]
call fcn.0042063f
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459b7e
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0xf8]
call fcn.0040bce7
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x13c]
mov ecx, dword [edi + 0x154]
lea ebx, [edx + 1]
mov dword [edi + 0x13c], ebx
mov dword [ecx + edx*4], eax
inc dword [eax + 0xc]
lea eax, [ebp - 0x80]
call fcn.0041567a
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf4]
inc dword [eax + 0xac]
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xf8]
call fcn.00403dc4
test eax, eax
mov esi, eax
mov dword [ebp - 0x100], 0
je 0x459c45
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x459c45
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jg 0x459c3b
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x459bec
mov eax, dword [ebp - 0xf8]
lea edx, [esi + 0x3c]
call fcn.0040bcfb
mov ebx, eax
mov eax, dword [eax + 4]
mov edx, dword [ebx + 8]
mov eax, dword [eax]
mov dword [esp], edx
call dword [eax + 0x14]
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x459c45
mov dword [ebx + 8], 0
mov eax, ebx
mov dword [esi + 0x3c], 0
call fcn.0040f57f
jmp 0x459c45
mov dword [ebp - 0x100], 6
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0xac]
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x459cf9
mov esi, dword [ebx]
test esi, esi
je 0x459d08
lea eax, [ebp - 0x80]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esi + 0x18]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call fcn.0041112b
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 2
mov dword [esp], 0xffffffff
call fcn.0044f329
test eax, eax
mov edx, dword [ebp - 0x80]
je 0x459cee
mov dword [eax + 0x28], edx
inc dword [ebx + 4]
jmp case.0x4530f6.112
mov dword [esp], edx
call dword [esi + 0x1c]
jmp 0x45a470
mov dword [ebp - 0x100], 6
jmp 0x45a31c
mov dword [ebp - 0x100], 6
jmp 0x45a31c
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi + 0x70]
mov ecx, dword [edi + 4]
imul eax, dword [eax + 0xc], 0x28
mov edi, dword [edx + ecx*4]
xor edx, edx
add eax, dword [ebp - 0x104]
mov ebx, dword [edi + 0x28]
mov esi, dword [eax]
add eax, 0x50
mov ecx, dword [ebx]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ecx]
mov esi, dword [esi + 0x60]
mov dword [ebp - 0x128], ecx
mov ecx, dword [eax - 0x28]
cmp edx, ecx
jge 0x459d75
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x459d68
mov eax, dword [ebp - 0xf4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov eax, dword [eax + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x128]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
add edx, 8
call fcn.0041112b
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [ebp - 0x128]
mov dword [esp], ebx
call dword [eax + 0x28]
mov byte [edi + 2], 0
test eax, eax
jne 0x45a92a
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
cmp byte [edx + 2], 0
je 0x459e1b
mov eax, ebx
call fcn.00415ff0
jmp case.0x4530f6.112
mov eax, dword [edx + 0x28]
lea edi, [ebp - 0x80]
mov ecx, 8
mov esi, dword [eax]
mov eax, dword [esi]
mov dword [ebp - 0x100], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebp - 0x80], ebx
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 1
mov word [ebx + 8], ax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call dword [eax + 0x2c]
mov edi, eax
mov eax, dword [ebp - 0xe8]
lea edx, [esi + 8]
call fcn.0041112b
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x114]
test eax, eax
cmovne edi, eax
mov eax, ebx
mov dword [ebp - 0x100], edi
call fcn.0041f1a3
mov eax, ebx
call fcn.00403311
test eax, eax
jne 0x45a42e
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
cmp byte [esi + 2], 0
jne case.0x4530f6.112
mov eax, dword [esi + 0x28]
mov ebx, dword [eax]
mov edi, dword [ebx]
mov dword [esp], eax
call dword [edi + 0x24]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call fcn.0041112b
cmp dword [ebp - 0x100], 0
jne 0x45a31c
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + 0x28]
test eax, eax
je case.0x4530f6.13
jmp 0x453180
mov eax, dword [ebp - 0xf4]
mov edx, 1
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0x104]
mov eax, esi
call fcn.0041f1a3
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
mov edx, dword [esi + 0x10]
mov eax, dword [ebx]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call fcn.0041112b
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x90], 0xfe
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x45a0cc
mov ecx, dword [ebx]
test ecx, ecx
je 0x45a0db
cmp dword [ecx + 0x34], 0
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 8]
je case.0x4530f6.112
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov al, byte [eax + 0x4a]
mov byte [ebp - 0x110], al
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + 0x60]
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
cmp edx, esi
jge 0x459ff7
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
jmp 0x459fea
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf8]
mov al, byte [eax + 3]
mov byte [edx + 0x4a], al
lea eax, [ebp - 0x80]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call dword [ecx + 0x34]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
lea edx, [ebx + 8]
mov al, byte [ebp - 0x110]
mov byte [edi + 0x4a], al
mov eax, dword [ebp - 0xe8]
call fcn.0041112b
cmp dword [ebp - 0x100], 0
jne 0x45a074
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
je 0x45a074
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
cmp byte [ebp - 0x100], 0x13
jne 0x45a0b1
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x45a0b1
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 3]
cmp al, 4
je 0x45a0ea
mov ecx, dword [ebp - 0xe8]
cmp al, 5
mov dl, 2
cmove eax, edx
mov byte [ecx + 0x8e], al
jmp 0x45a31c
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
mov dword [ebp - 0x100], 6
jmp 0x45a31c
mov dword [ebp - 0x100], 6
jmp 0x45a31c
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov edi, dword [ebp - 0xf4]
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xf8]
mov edx, ecx
mov dword [ebp - 0x110], ecx
shl edx, 4
add edx, dword [edi + 0x10]
mov edx, dword [edx + 4]
mov edx, dword [edx + 4]
mov esi, dword [edx + 0x2c]
mov dword [eax + 4], 0
mov dword [eax], esi
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call fcn.0041630f
mov ecx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov edi, dword [ecx + 4]
mov edx, edi
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0xf4]
shl edx, 4
add edx, dword [esi + 0x10]
mov ebx, dword [edi + 0xc]
mov ecx, dword [edx + 4]
xor edx, edx
test ebx, ebx
je 0x45a195
mov edx, dword [ecx + 4]
mov edx, dword [edx + 0x2c]
cmp ebx, edx
cmovae edx, ebx
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
test edx, edx
mov dword [ebx + 4], ecx
mov ecx, dword [ebx]
jle 0x45a1a9
mov dword [ecx + 0xa4], edx
mov edx, dword [ecx + 0xa4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x4530f6.112
mov eax, dword [ebp - 0xf8]
mov al, byte [eax + 0x4c]
test al, 0x81
je 0x45a264
mov ecx, dword [ebp - 0xe8]
test byte [ecx + 0x90], 2
jne 0x45a264
mov esi, dword [ebp - 0xf4]
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x45a1f7
mov edx, dword [ecx + 0xb0]
test edx, edx
je 0x45a264
test al, al
jns 0x45a233
mov eax, dword [ebp - 0xf8]
mov esi, dword [eax + 0xb8]
mov eax, dword [ebp - 0xe8]
call fcn.00430731
mov dword [esp + 4], eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xbc]
mov dword [esp], eax
call esi
mov dword [esp], ebx
call fcn.00409a90
jmp 0x45a264
mov eax, dword [ebp - 0xe8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xbc]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xb8]
mov eax, dword [ebp - 0xf4]
mov edi, dword [0x496470]
cmp dword [eax + 4], edi
jl 0x45a2b2
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x88]
mov eax, 1
cmp eax, ecx
jge 0x45a2a5
mov esi, dword [ebp - 0xe8]
imul edx, eax, 0x18
add edx, dword [esi + 0x58]
cmp byte [edx], 0x14
jne 0x45a2a2
mov dword [edx + 4], 0
inc eax
jmp 0x45a286
mov eax, dword [ebp - 0xf4]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0xf4]
inc dword [eax + 4]
jmp 0x45321c
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov dword [ebp - 0x100], 0
add dword [ebp - 0xf4], 0x18
jmp 0x4530dc
mov dword [ebp - 0x100], 9
jmp 0x45a31c
mov dword [ebp - 0x100], 0x204
jmp 0x45a31c
mov dword [ebp - 0x100], 7
jmp 0x45a31c
mov dword [ebp - 0x100], 7
jmp 0x45a31c
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x45], 0
mov eax, 7
cmove eax, dword [ebp - 0x100]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x6c], 0
jne 0x45a375
cmp dword [ebp - 0x100], 0xc0a
je 0x45a375
mov eax, dword [ebp - 0x100]
call fcn.0040bdf6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x498aa0
mov dword [esp], eax
call fcn.0042e35b
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x100]
mov dword [eax + 0x28], edi
mov eax, dword [ebp - 0xf8]
mov edx, edi
call fcn.0040a41d
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb0]
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
call fcn.004246e5
mov eax, dword [ebp - 0xe8]
call fcn.0044f774
cmp dword [ebp - 0x100], 0xc0a
jne 0x45a3ff
mov eax, dword [ebp - 0xf8]
call fcn.0040a31e
cmp byte [ebp - 0x136], 0
mov dword [ebp - 0x100], 1
je 0x45a957
movzx edx, byte [ebp - 0x136]
mov eax, dword [ebp - 0xf8]
dec edx
call fcn.00412077
jmp 0x45a957
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.string_or_blob_too_big
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 0x12
jmp 0x45a31c
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x136], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
call fcn.0040a31e
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x498f17
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 7
jmp 0x45a31c
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x136], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x45], 1
sbb eax, eax
mov dword [ebp - 0x100], eax
and dword [ebp - 0x100], 2
add dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x100]
mov dword [eax + 0x28], esi
mov eax, esi
call fcn.0040bdf6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x498aa0
mov dword [esp], eax
call fcn.0042e35b
jmp 0x45a31c
mov eax, dword [ebp - 0xe8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_savepoint:__s
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 1
jmp 0x45a31c
cmp dword [ebp - 0x110], 1
mov ecx, dword [ebp - 0xf8]
sete al
cmp dword [ecx + 0xa4], 0
jg 0x45a7d5
cmp dword [ebx + 0x18], 0
mov dword [ebp - 0x134], 0
jne 0x45a57d
mov edi, dword [ebp - 0xf8]
xor ecx, ecx
cmp byte [edi + 0x4b], 0
setne cl
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0
je 0x45a617
test al, al
je 0x45a617
mov eax, dword [ebp - 0xe8]
mov edx, 1
call fcn.0042e381
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a957
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 1
mov eax, dword [ebp - 0xe8]
call fcn.0044f774
cmp eax, 5
jne 0x45a5f9
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe8]
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 0
mov eax, esi
jmp 0x4558aa
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x4b], 0
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x100], eax
jmp 0x45a6f5
mov eax, dword [ebp - 0x128]
mov edi, dword [ebp - 0xf8]
not eax
add eax, dword [edi + 0x1b0]
xor edi, edi
cmp dword [ebp - 0x110], 2
mov dword [ebp - 0x128], eax
jne 0x45a697
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x18]
mov esi, eax
mov dword [ebp - 0x140], eax
and esi, 2
mov eax, dword [ebp - 0xf8]
cmp edi, dword [eax + 0x14]
jge 0x45a68e
mov edx, dword [ebp - 0xf8]
xor ecx, ecx
mov eax, edi
test esi, esi
sete cl
shl eax, 4
add eax, dword [edx + 0x10]
mov edx, 0x204
mov eax, dword [eax + 4]
call fcn.004400c0
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
inc edi
jmp 0x45a650
xor eax, eax
test esi, esi
setne al
mov edi, eax
xor esi, esi
mov eax, dword [ebp - 0xf8]
cmp esi, dword [eax + 0x14]
jge 0x45a6d7
mov ecx, dword [ebp - 0xf8]
mov eax, esi
mov edx, dword [ebp - 0x110]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x128]
mov eax, dword [eax + 4]
call fcn.0043b5f9
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x45a31c
inc esi
jmp 0x45a699
test edi, edi
je 0x45a6f5
call fcn.004035c4
mov eax, dword [ebp - 0xf8]
call fcn.004120ae
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x1a8]
cmp ebx, edx
je 0x45a729
mov eax, dword [edx + 0x18]
mov esi, dword [ebp - 0xf8]
mov dword [esi + 0x1a8], eax
mov eax, esi
call fcn.0040f362
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0x1b0]
jmp 0x45a6f5
cmp dword [ebp - 0x110], 1
jne 0x45a761
mov eax, dword [ebx + 0x18]
mov edi, dword [ebp - 0xf8]
mov edx, ebx
mov dword [edi + 0x1a8], eax
mov eax, edi
call fcn.0040f362
cmp dword [ebp - 0x134], 0
jne 0x45a78b
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0x1b0]
jmp 0x45a78b
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov esi, dword [ebp - 0xf8]
mov dword [esi + 0x1b8], eax
mov dword [esi + 0x1bc], edx
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], edx
cmp dword [ebp - 0x134], 0
je 0x45a79d
cmp dword [ebp - 0x110], 2
jne 0x45a7c3
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xf8]
call fcn.004047f1
test eax, eax
mov dword [ebp - 0x100], eax
je 0x45a802
jmp 0x45a31c
cmp dword [ebp - 0x100], 0
je case.0x4530f6.112
jmp 0x45a31c
test al, al
je 0x45a558
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.cannot_release_savepoint___SQL_statements_in_progress
mov dword [esp], eax
call fcn.0042e35b
mov dword [ebp - 0x100], 5
jmp 0x45a31c
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x16c]
call fcn.004163be
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x134]
mov dword [esi + 0x14], eax
jne 0x457338
mov byte [edi + 2], 0
jmp case.0x4530f6.112
mov dword [ebp - 0x100], eax
jmp 0x45a31c
mov byte [edi + 2], 0
jmp case.0x4530f6.112
lea edx, [ebx + 0x24]
lea eax, [ebx + 0x40]
mov byte [ebx + 0x38], 1
call fcn.00414e6c
mov dword [ebx + 0x2c], 0
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x30], 0
jmp 0x45758f
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
call fcn.00416241
jmp 0x453180
mov dword [ebp - 0x100], 7
cmp byte [ebp - 0x100], 6
jne 0x45a31c
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], str.database_table_is_locked:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call fcn.0042e35b
jmp 0x45a31c
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe8]
add edx, 8
call fcn.0041112b
mov dword [ebp - 0x100], 0
jmp case.0x4530f6.112
mov dword [ebp - 0x100], 6
jmp 0x45a31c
mov byte [edi + 2], 1
mov dword [ebp - 0x100], 0
jmp 0x45321c
mov edx, dword [ebx + 8]
mov esi, eax
mov eax, dword [ebp - 0xe8]
add edx, 8
call fcn.0041112b
mov dword [ebp - 0x100], esi
jmp 0x45a31c
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x12c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0xe8]
mov dword [ecx + 0x24], edx
add dword [eax + 0xac], edi
mov eax, dword [ebp - 0x100]
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret