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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2b8
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1e4], eax
mov eax, dword [eax + 4]
cmp dword [ecx + 0x50], 0xbdf20da3
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov dword [ebp - 0x1ec], 0
mov byte [ebp - 0x1e5], al
mov eax, 0x15
jne 0x41b4e5
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x130], eax
cmp dword [ecx + 0x80], 7
je 0x41b3ae
mov edx, dword [ecx + 0x22c]
mov dword [ecx + 0x80], 0
test edx, edx
je 0x4174eb
lea eax, [ebp - 0x130]
call fcn.004172eb
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x22c], 0
mov esi, dword [ebp + 8]
mov byte [esi + 0x234], 0
mov edi, dword [ebp - 0x1e4]
mov dword [edi + 0xe8], 0
test byte [edi + 8], 4
jne 0x41b438
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1d8], eax
call fcn.00406bc0
test eax, eax
jne 0x41b3ae
imul edx, dword [ebp - 0x1d8], 0x14
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x1e4]
mov ecx, dword [ecx + 0x18]
add edx, ecx
mov dword [ebp - 0x1dc], edx
cmp dword [ebx + 0x98], 0
je 0x417587
mov esi, dword [ebp - 0x1ec]
cmp dword [ebx + 0xa0], esi
jne 0x417581
push dword [ebx + 0x9c]
call dword [ebx + 0x98]
pop esi
test eax, eax
je 0x417577
mov dword [ebp - 0x1e0], 4
jmp case.0x4175a4.11
mov dword [ebp - 0x1ec], 0
inc dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1dc]
mov al, byte [eax]
mov byte [ebp - 0x29d], al
movzx eax, al
dec eax
cmp eax, 0x8c
ja case.0x4175a4.11
jmp dword [eax*4 + 0x63e2f0]
mov edx, dword [ebp - 0x1e4]
test byte [edx + 8], 4
jne 0x41b438
mov ecx, dword [ebp - 0x1dc]
mov ebx, dword [ecx + 8]
dec ebx
mov dword [ebp - 0x1d8], ebx
jmp case.0x4175a4.11
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x1d8]
inc edx
mov edi, dword [ebp - 0x1dc]
mov eax, dword [esi + 0x220]
mov dword [esi + eax*4 + 0x90], edx
inc eax
mov dword [esi + 0x220], eax
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x220]
dec eax
mov dword [edx + 0x220], eax
mov eax, dword [edx + eax*4 + 0x90]
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x1d8]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x7c], esi
mov eax, dword [ebx + 8]
mov dword [ecx + 0x88], eax
cmp dword [ebx + 0xc], 0
je 0x41766e
push 0
mov eax, ecx
push dword [ebx + 0xc]
add eax, 0x230
push eax
call fcn.00406c82
add esp, 0xc
push dword [ebp + 8]
call fcn.00407b6e
pop ebx
cmp eax, 5
je 0x41b4d3
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x80]
cmp eax, 1
sbb eax, eax
and eax, 0x64
inc eax
jmp 0x41b4e5
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x1dc]
lea eax, [edx + 0x40]
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 4
mov eax, dword [ecx + 4]
mov ebx, eax
mov dword [edx + 0x40], eax
sar ebx, 0x1f
mov dword [edx + 0x44], ebx
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x1dc]
add edx, 0x40
xor eax, eax
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x130], edx
cld
mov word [edx + 0x18], 0xa2
mov dword [edx + 0x10], edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [edx + 0x1b], 1
mov ebx, dword [ebp - 0x130]
mov dword [edx + 0x14], ecx
push ebx
call fcn.00408dd3
mov dword [ebx], eax
mov eax, dword [ebp - 0x130]
mov dword [ebx + 4], edx
or word [eax + 0x18], 4
pop ecx
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x1dc]
add edx, 0x40
or ecx, 0xffffffff
mov edi, dword [eax + 0xc]
mov dword [ebp - 0x130], edx
cld
mov word [edx + 0x18], 0xa2
mov dword [edx + 0x10], edi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov byte [edx + 0x1b], 1
dec ecx
mov dword [edx + 0x14], ecx
mov ebx, dword [ebp - 0x130]
push ebx
call fcn.00408e53
mov eax, dword [ebp - 0x130]
fstp qword [ebx + 8]
or word [eax + 0x18], 8
movzx edx, byte [ebp - 0x1e5]
push edx
push eax
call fcn.00408b20
add esp, 0xc
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
or ecx, 0xffffffff
cld
mov byte [edx], 0x18
xor eax, eax
mov edi, dword [edx + 0xc]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [edx + 4], ecx
cmp byte [ebp - 0x1e5], 1
je case.0x4175a4.24
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x130]
push dword [edx + 0xc]
add eax, 0x40
push eax
mov dword [ebp - 0x130], eax
call fcn.00409086
movzx eax, byte [ebp - 0x1e5]
push eax
push dword [ebp - 0x130]
call fcn.00408b20
add esp, 0x1c
test eax, eax
jne 0x41b3ae
push dword [ebp - 0x130]
call fcn.00408b49
pop edx
test eax, eax
jne 0x41b3ae
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x1dc]
mov ax, word [edx + 0x18]
and eax, 0xffffffbf
or al, 0x80
mov word [edx + 0x18], ax
cmp dword [ecx + 0x10], 0xffffffff
jne 0x41781c
push dword [ecx + 0xc]
call fcn.00406120
pop eax
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x130]
mov dword [ebx + 0x10], 0xffffffff
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebx + 0xc], edx
mov dword [ebx + 4], eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
mov esi, dword [ebp - 0x1dc]
add eax, 0x40
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x130], eax
mov dword [eax + 0x10], edx
mov edx, dword [esi + 4]
mov dword [eax + 0x14], edx
mov dl, byte [ebp - 0x1e5]
mov word [eax + 0x18], 0xa2
mov byte [eax + 0x1b], dl
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 1
mov dword [eax + 0x14], 0
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
xor eax, eax
cld
mov edx, dword [ecx + 0xc]
mov byte [ecx], 0x75
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, dword [ebp - 0x1dc]
shr ecx, 1
mov dword [ebx + 4], ecx
test ecx, ecx
je 0x4178f6
push edx
call fcn.00406dad
mov ebx, eax
pop eax
test ebx, ebx
je 0x41b3ae
mov esi, dword [ebp - 0x1dc]
cmp dword [esi + 0x10], 0xffffffff
jne 0x4178e4
push dword [esi + 0xc]
call fcn.00406120
pop eax
mov edi, dword [ebp - 0x1dc]
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], 0xffffffff
jmp case.0x4175a4.117
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 0x10], 0xffffffff
jne 0x417909
push edx
call fcn.00406120
pop eax
mov edx, dword [ebp - 0x1dc]
mov dword [edx + 0x10], 0xfffffffe
mov dword [edx + 0xc], 0x63e182
mov ecx, dword [ebp - 0x1dc]
push 0
push 0
mov eax, dword [ebp - 0x130]
push dword [ecx + 4]
push dword [ecx + 0xc]
add eax, 0x40
push eax
mov dword [ebp - 0x130], eax
call fcn.00409086
add esp, 0x14
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x130]
mov eax, dword [ebx + 4]
push pe_nt_image_headers32
dec eax
add edx, 0x40
shl eax, 6
mov dword [ebp - 0x130], edx
add eax, dword [esi + 0x44]
push eax
push edx
call fcn.00408fc6
add esp, 0xc
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
lea eax, [ebp - 0x130]
mov edx, dword [edi + 4]
call fcn.004172eb
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
imul edx, dword [eax + 4], 0xffffffc0
mov eax, dword [ebp - 0x130]
push 0x100
lea edx, [eax + edx]
add eax, 0x40
push edx
mov dword [ebp - 0x130], eax
push eax
call fcn.00408fc6
mov edx, dword [ebp - 0x1dc]
add esp, 0xc
cmp dword [edx + 8], 0
je case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x19], 1
je case.0x4175a4.11
push eax
call fcn.00408bae
pop edi
test eax, eax
je case.0x4175a4.11
jmp 0x41b3ae
mov ecx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x4c]
imul ebx, dword [ecx + 4], 0xffffffc0
add ebx, dword [ebp - 0x130]
push 0x40
push ebx
push eax
call fcn.00577220
mov eax, dword [ebp - 0x130]
add esp, 0xc
test byte [eax + 0x19], 1
je 0x417a32
push eax
call fcn.00408bae
pop esi
test eax, eax
jne 0x41b3ae
mov esi, dword [ebp - 0x1dc]
xor edi, edi
cmp edi, dword [esi + 4]
jge 0x417a80
test byte [ebx + 0x59], 1
je 0x417a57
lea eax, [ebx + 0x40]
push eax
call fcn.00408bae
pop ecx
test eax, eax
jne 0x41b3ae
lea esi, [ebx + 0x40]
push 0x40
push esi
push ebx
call fcn.00577220
add esp, 0xc
test byte [ebx + 0x19], 2
je 0x417a72
lea eax, [ebx + 0x20]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x1dc]
inc edi
mov ebx, esi
cmp edi, dword [eax + 4]
jmp 0x417a3d
lea eax, [ebp - 0x4c]
push 0x40
push eax
push dword [ebp - 0x130]
call fcn.00577220
mov edx, dword [ebp - 0x130]
add esp, 0xc
test byte [edx + 0x19], 2
je case.0x4175a4.11
lea eax, [edx + 0x20]
mov dword [edx + 0x10], eax
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
imul eax, dword [edx + 4], 0xffffffc0
mov edx, dword [ebp - 0x130]
push edx
lea eax, [edx + eax]
push eax
call fcn.00409033
sub dword [ebp - 0x130], 0x40
pop eax
pop edx
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
imul esi, dword [ecx + 4], 0xffffffc0
add esi, dword [ebp - 0x130]
mov ebx, dword [edi + 0x28]
cmp ebx, esi
jae 0x417b0b
test byte [ebx + 0x19], 1
je 0x417b06
push ebx
call fcn.00408bae
pop edi
test eax, eax
jne 0x41b3ae
add ebx, 0x40
jmp 0x417aed
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
add eax, 2
or eax, 1
mov dword [edx + 0x60], eax
cmp ebx, dword [ebp - 0x130]
ja 0x417b35
push ebx
call fcn.00408c25
mov eax, ebx
add ebx, 0x40
call fcn.004172b0
pop esi
jmp 0x417b1a
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x234], 1
inc dword [ecx + 0x5c]
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebx + 4]
mov dword [ecx + 0x22c], eax
mov eax, dword [ebp - 0x1d8]
inc eax
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x130]
mov dword [ecx + 0x2c], eax
mov eax, 0x64
jmp 0x41b4e5
mov esi, dword [ebp - 0x1dc]
xor ebx, ebx
mov dword [ebp - 0x200], 0
mov edi, dword [esi + 4]
mov esi, 1
add edi, 2
sub esi, edi
shl esi, 6
add esi, dword [ebp - 0x130]
cmp ebx, edi
jge 0x417c09
movzx eax, word [esi + 0x18]
test al, 1
jne 0x417bd6
test al, 0x12
jne 0x417bbe
movzx eax, byte [ebp - 0x1e5]
push eax
push esi
call fcn.00408ca0
pop edx
test eax, eax
pop ecx
jne 0x41b3ae
add ebx, dword [esi + 0x14]
inc dword [ebp - 0x200]
add esi, 0x40
cmp dword [ebp - 0x200], edi
jl 0x417b9a
test ebx, ebx
jns 0x417c09
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 8], 0
jne 0x417bef
mov edx, edi
lea eax, [ebp - 0x130]
call fcn.004172eb
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
lea eax, [ebx + 2]
push 1
push eax
call fcn.00406c50
pop edx
test eax, eax
mov dword [ebp - 0x1fc], eax
pop ecx
je 0x41b3ae
mov esi, 1
mov dword [ebp - 0x204], 0
sub esi, edi
shl esi, 6
add esi, dword [ebp - 0x130]
cmp dword [ebp - 0x204], edi
jge 0x417c79
mov dword [ebp - 0x200], edi
mov ebx, dword [esi + 0x14]
mov eax, dword [ebp - 0x204]
push ebx
add eax, dword [ebp - 0x1fc]
push dword [esi + 0x10]
push eax
add esi, 0x40
call fcn.00577220
add dword [ebp - 0x204], ebx
add esp, 0xc
dec dword [ebp - 0x200]
jne 0x417c4c
mov edx, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x1fc]
mov byte [edx + ecx], 0
mov byte [ecx + edx + 1], 0
mov ebx, dword [ebp - 0x1dc]
cmp dword [ebx + 8], 0
jne 0x417ca7
mov edx, edi
lea eax, [ebp - 0x130]
call fcn.004172eb
mov eax, dword [ebp - 0x130]
mov dl, byte [ebp - 0x1e5]
add eax, 0x40
mov esi, dword [ebp - 0x204]
mov dword [ebp - 0x130], eax
mov byte [eax + 0x1b], dl
mov dword [eax + 0x14], esi
mov word [eax + 0x18], 0x62
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x1fc]
mov dword [eax + 0x10], ecx
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x130]
mov dword [ebp - 0x208], ebx
sub ebx, 0x40
mov esi, dword [ebp - 0x208]
mov cx, word [ebx + 0x18]
mov dx, word [esi + 0x18]
mov eax, edx
or eax, ecx
movzx esi, ax
test esi, 1
je 0x417d53
and dl, 0x40
je 0x417d26
push dword [ebp - 0x208]
call fcn.00408d7f
pop edi
mov eax, dword [ebp - 0x130]
sub eax, 0x40
mov dword [ebp - 0x130], eax
test byte [eax + 0x18], 0x40
je 0x417d42
push eax
call fcn.00408d7f
pop esi
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
and edx, ecx
and dl, 4
je 0x417ea6
mov eax, dword [ebp - 0x208]
mov edx, dword [eax - 0x40]
mov ecx, dword [eax - 0x3c]
mov esi, dword [eax]
mov edi, dword [eax + 4]
movzx eax, byte [ebp - 0x29d]
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x20c], ecx
cmp eax, 0x4e
je 0x417db3
jg 0x417d93
cmp eax, 0x4d
je 0x417da2
jmp 0x417e29
cmp eax, 0x4f
je 0x417dc4
cmp eax, 0x50
je 0x417e0a
jmp 0x417e29
add dword [ebp - 0x210], esi
adc dword [ebp - 0x20c], edi
jmp 0x417e55
sub dword [ebp - 0x210], esi
sbb dword [ebp - 0x20c], edi
jmp 0x417e55
mov eax, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x210]
mul esi
imul ebx, edi
mov ecx, edx
mov dword [ebp - 0x2c4], eax
add ecx, ebx
mov ebx, dword [ebp - 0x20c]
imul ebx, esi
add ecx, ebx
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x210], edx
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x20c], ecx
jmp 0x417e55
mov ecx, edi
or ecx, esi
je 0x417fde
push edi
push esi
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call fcn.00575e60
jmp 0x417e46
mov ebx, edi
or ebx, esi
je 0x417fde
push edi
push esi
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
call fcn.00575fc0
add esp, 0x10
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], edx
mov esi, dword [ebp - 0x208]
test byte [esi + 0x18], 0x40
je 0x417e68
push esi
call fcn.00408d7f
pop ebx
mov eax, dword [ebp - 0x130]
sub eax, 0x40
mov dword [ebp - 0x130], eax
test byte [eax + 0x18], 0x40
je 0x417e84
push eax
call fcn.00408d7f
pop ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov word [eax + 0x18], 4
jmp case.0x4175a4.11
push dword [ebp - 0x208]
call fcn.00408e53
push ebx
fstp qword [ebp - 0x2bc]
call fcn.00408e53
mov ecx, dword [ebp - 0x1dc]
pop eax
pop edx
movzx eax, byte [ecx]
cmp eax, 0x4e
fld qword [ebp - 0x2bc]
je 0x417eef
jg 0x417edc
cmp eax, 0x4d
je 0x417ee8
jmp 0x417f0a
cmp eax, 0x4f
je 0x417ef3
cmp eax, 0x50
je 0x417ef7
jmp 0x417f0a
faddp st(1)
jmp 0x417f6f
fsubp st(1)
jmp 0x417f6f
fmulp st(1)
jmp 0x417f6f
fcom qword [0x63e2e8]
fnstsw ax
sahf
je 0x417fda
fdivp st(1)
jmp 0x417f6f
fnstcw word [ebp - 0x1ce]
mov ax, word [ebp - 0x1ce]
or ah, 0xc
mov word [ebp - 0x1d0], ax
fldcw word [ebp - 0x1d0]
fistp dword [ebp - 0x1d4]
fldcw word [ebp - 0x1ce]
mov ecx, dword [ebp - 0x1d4]
fldcw word [ebp - 0x1d0]
fistp dword [ebp - 0x1d4]
fldcw word [ebp - 0x1ce]
push ecx
fild dword [esp]
fcomp qword [0x63e2e8]
fnstsw ax
add esp, 4
mov edx, dword [ebp - 0x1d4]
sahf
je 0x417fde
mov eax, edx
cdq
idiv ecx
push edx
fild dword [esp]
add esp, 4
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x417f8e
push eax
fstp qword [ebp - 0x2b0]
call fcn.00408d7f
pop eax
fld qword [ebp - 0x2b0]
mov eax, dword [ebp - 0x130]
sub eax, 0x40
mov dword [ebp - 0x130], eax
test byte [eax + 0x18], 0x40
je 0x417fb6
push eax
fstp qword [ebp - 0x2b0]
call fcn.00408d7f
pop eax
fld qword [ebp - 0x2b0]
mov eax, dword [ebp - 0x130]
and esi, 8
fstp qword [eax + 8]
mov word [eax + 0x18], 8
jne case.0x4175a4.11
push eax
call fcn.00408eb2
pop eax
jmp case.0x4175a4.11
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x417ff1
push eax
call fcn.00408d7f
pop eax
mov eax, dword [ebp - 0x130]
sub eax, 0x40
mov dword [ebp - 0x130], eax
test byte [eax + 0x18], 0x40
je 0x41800d
push eax
call fcn.00408d7f
pop edi
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
mov ebx, 1
mov ecx, dword [ebp + 8]
xor esi, esi
mov edi, dword [edx + 8]
sub ebx, edi
mov ecx, dword [ecx + 0x30]
shl ebx, 6
mov dword [ebp - 0x214], ecx
add ebx, dword [ebp - 0x130]
cmp esi, edi
jge 0x41805f
mov eax, dword [ebp - 0x214]
mov dword [eax + esi*4], ebx
mov eax, ebx
call fcn.004172b0
inc esi
add ebx, 0x40
jmp 0x418045
mov edx, dword [ebp - 0x1dc]
cmp dword [edx + 0x10], 0xfffffffb
mov eax, dword [edx + 0xc]
jne 0x418080
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0
jmp 0x41808e
mov dword [ebp - 0xa8], eax
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov word [ebp - 0x8c], 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x88], 0
mov byte [ebp - 0x60], 0
cmp byte [eax + 3], 0
je 0x4180c7
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ecx - 8]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x1e4]
call fcn.004068b7
pop esi
test eax, eax
jne 0x41b3f6
push dword [ebp - 0x214]
lea eax, [ebp - 0xac]
push edi
push eax
mov eax, dword [ebp - 0xac]
call dword [eax + 0x10]
push dword [ebp - 0x1e4]
call fcn.00406883
add esp, 0x10
test eax, eax
jne 0x41b3f6
call fcn.00406bc0
test eax, eax
jne 0x41b3ae
lea eax, [ebp - 0x130]
mov edx, edi
call fcn.004172eb
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x41814d
mov ebx, dword [ebp - 0x1dc]
push dword [ebx + 4]
push eax
call fcn.00407146
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x10], 0xfffffff9
mov dword [ebx + 0xc], eax
pop ecx
pop ebx
cmp byte [ebp - 0x60], 0
je 0x41817f
lea eax, [ebp - 0xa4]
push 0
push eax
call fcn.0040b226
mov dword [esp], eax
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00406c82
mov dword [ebp - 0x1e0], 1
add esp, 0xc
movzx eax, byte [ebp - 0x1e5]
lea ebx, [ebp - 0xa4]
push eax
push ebx
call fcn.00408b20
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 0
push ebx
push eax
call fcn.00409033
add esp, 0x10
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x130]
lea ecx, [edx - 0x40]
mov ax, word [ecx + 0x18]
or ax, word [edx + 0x18]
test al, 1
je 0x4181f6
lea eax, [ebp - 0x130]
mov edx, 2
call fcn.004172eb
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
push ecx
call fcn.00408dd3
push dword [ebp - 0x130]
mov ebx, eax
mov esi, edx
call fcn.00408dd3
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], edx
pop eax
pop edx
movzx eax, byte [edi]
cmp eax, 0x4a
je 0x41824e
jg 0x418230
cmp eax, 0x49
je 0x41823c
jmp 0x41828f
cmp eax, 0x4b
je 0x418264
cmp eax, 0x4c
je 0x41827a
jmp 0x41828f
mov eax, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x218]
and eax, ebx
and edx, esi
jmp 0x41825e
mov eax, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x218]
or eax, ebx
or edx, esi
mov ebx, eax
mov esi, edx
jmp 0x41828f
mov cl, byte [ebp - 0x21c]
shld esi, ebx, cl
shl ebx, cl
and cl, 0x20
je 0x41828f
mov esi, ebx
xor ebx, ebx
jmp 0x41828f
mov cl, byte [ebp - 0x21c]
shrd ebx, esi, cl
sar esi, cl
and cl, 0x20
je 0x41828f
mov ebx, esi
sar esi, 0x1f
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x4182a2
push eax
call fcn.00408d7f
pop eax
mov eax, dword [ebp - 0x130]
sub eax, 0x40
mov dword [ebp - 0x130], eax
test byte [eax + 0x18], 0x40
je 0x4182be
push eax
call fcn.00408d7f
pop edi
mov eax, dword [ebp - 0x130]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov word [eax + 0x18], 4
jmp case.0x4175a4.11
push dword [ebp - 0x130]
call fcn.00408ef8
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x130]
mov eax, dword [edx + 4]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
pop ebx
jmp case.0x4175a4.11
movzx edx, byte [ebp - 0x1e5]
mov eax, dword [ebp - 0x130]
push edx
mov edx, 0x63
call fcn.004173d5
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x18]
pop ecx
test al, 0xc
jne 0x418348
test al, 0x40
je 0x41832c
push edx
call fcn.00408d7f
pop eax
mov ecx, dword [ebp - 0x1dc]
sub dword [ebp - 0x130], 0x40
mov ebx, dword [ecx + 8]
dec ebx
mov dword [ebp - 0x1d8], ebx
jmp case.0x4175a4.11
test al, 4
je 0x418367
mov esi, dword [ebp - 0x1dc]
xor ebx, ebx
cmp dword [esi + 4], 0
setne bl
xor esi, esi
add ebx, dword [edx]
adc esi, dword [edx + 4]
jmp 0x4183ee
push edx
call fcn.00408f1d
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x1dc]
fld qword [eax + 8]
fnstcw word [ebp - 0x1ce]
mov ax, word [ebp - 0x1ce]
or ah, 0xc
mov word [ebp - 0x1d0], ax
fldcw word [ebp - 0x1d0]
fist dword [ebp - 0x1d4]
fldcw word [ebp - 0x1ce]
mov eax, dword [ebp - 0x1d4]
mov esi, eax
mov ebx, eax
sar esi, 0x1f
push esi
push eax
fild qword [esp]
fcomp st(1)
fnstsw ax
add esp, 0xc
sahf
setb cl
movzx eax, cl
xor edx, edx
add ebx, eax
adc esi, edx
cmp dword [edi + 4], 0
je 0x4183ec
push esi
push ebx
fild qword [esp]
fcompp
fnstsw ax
add esp, 8
sahf
sete cl
movzx eax, cl
xor edx, edx
add ebx, eax
adc esi, edx
jmp 0x4183ee
fstp st(0)
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x418401
push eax
call fcn.00408d7f
pop edi
mov eax, dword [ebp - 0x130]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov word [eax + 0x18], 4
jmp case.0x4175a4.11
movzx edx, byte [ebp - 0x1e5]
mov eax, dword [ebp - 0x130]
push edx
mov edx, 0x63
call fcn.004173d5
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x18]
pop ecx
test al, 4
jne 0x418479
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 8], 0
je 0x41b3d2
cmp dword [eax + 4], 0
je 0x418464
mov edx, 1
lea eax, [ebp - 0x130]
call fcn.004172eb
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x1d8], ecx
jmp case.0x4175a4.11
test al, 0x40
je 0x418484
push edx
call fcn.00408d7f
pop eax
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 4
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 4
je case.0x4175a4.11
push eax
call fcn.00408f1d
pop eax
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x130]
mov dx, word [ecx + 0x18]
movzx eax, dx
test al, 1
jne case.0x4175a4.11
and eax, 0x10
sar eax, 3
or edx, eax
movzx eax, byte [ebp - 0x1e5]
mov word [ecx + 0x18], dx
push eax
mov edx, 0x61
mov eax, ecx
call fcn.004173d5
mov eax, dword [ebp - 0x130]
and word [eax + 0x18], 0xffe3
pop eax
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x130]
movzx eax, word [ecx + 0x18]
test al, 1
jne case.0x4175a4.11
test al, 0x10
jne 0x41852d
movzx eax, byte [ebp - 0x1e5]
mov edx, 0x61
push eax
mov eax, ecx
call fcn.004173d5
mov eax, dword [ebp - 0x130]
or word [eax + 0x18], 0x10
pop eax
mov eax, dword [ebp - 0x130]
and word [eax + 0x18], 0xfff1
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
jne case.0x4175a4.11
push eax
call fcn.00408f40
pop eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
jne case.0x4175a4.11
push eax
call fcn.00408ef8
pop eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
jne case.0x4175a4.11
push eax
call fcn.00408f1d
pop edi
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x130]
lea edi, [ecx - 0x40]
mov dx, word [ecx + 0x18]
mov eax, edx
or ax, word [edi + 0x18]
test al, 1
je 0x418631
mov ebx, dword [ebp - 0x1dc]
test byte [ebx + 5], 2
je 0x4185e4
movzx eax, dx
xor eax, 1
xor edx, edx
and eax, 1
push edx
push eax
push ecx
call fcn.00408f7d
xor edx, edx
movzx eax, word [edi + 0x18]
xor eax, 1
push edx
and eax, 1
push eax
push edi
call fcn.00408f7d
add esp, 0x18
jmp 0x418631
lea eax, [ebp - 0x130]
mov edx, 2
call fcn.004172eb
mov esi, dword [ebp - 0x1dc]
mov eax, dword [esi + 8]
test eax, eax
je 0x418617
test byte [esi + 5], 1
je case.0x4175a4.11
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
mov al, byte [edx + 4]
test al, al
je 0x418662
movsx esi, al
movzx ebx, byte [ebp - 0x1e5]
mov edx, esi
mov eax, edi
push ebx
call fcn.004173d5
mov edx, esi
mov eax, dword [ebp - 0x130]
push ebx
call fcn.004173d5
pop ebx
pop esi
mov ecx, dword [ebp - 0x1dc]
push dword [ecx + 0xc]
push dword [ebp - 0x130]
push edi
call fcn.0040922b
mov esi, dword [ebp - 0x1dc]
mov ebx, eax
add esp, 0xc
movzx eax, byte [esi]
sub eax, 0x42
cmp eax, 4
ja case.default.0x41868d
jmp dword [eax*4 + 0x63e524]
test ebx, ebx
sete al
jmp 0x4186ae
test ebx, ebx
setne al
jmp 0x4186ae
test ebx, ebx
setle al
jmp 0x4186ae
test ebx, ebx
setg al
movzx ebx, al
jmp 0x4186b8
not ebx
shr ebx, 0x1f
lea eax, [ebp - 0x130]
mov edx, 2
call fcn.004172eb
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
test eax, eax
je 0x4186e9
test ebx, ebx
je case.0x4175a4.11
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x130]
lea eax, [edx + 0x40]
mov dword [edx + 0x40], ebx
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 4
mov eax, ebx
sar eax, 0x1f
mov dword [edx + 0x44], eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
mov esi, 2
lea ebx, [eax - 0x40]
test byte [eax + 0x18], 1
jne 0x41873a
push eax
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
pop ecx
mov edx, dword [eax + 4]
or edx, dword [eax]
sete al
movzx esi, al
mov edx, 2
test byte [ebx + 0x18], 1
jne 0x418757
push ebx
call fcn.00408ef8
mov eax, dword [ebx + 4]
pop edx
or eax, dword [ebx]
sete al
movzx edx, al
mov ecx, dword [ebp - 0x1dc]
cmp byte [ecx], 0x3c
jne 0x41876f
imul eax, esi, 3
movzx esi, byte [eax + edx + 0x63e170]
jmp 0x41877a
imul eax, esi, 3
movzx esi, byte [eax + edx + 0x63e179]
lea eax, [ebp - 0x130]
mov edx, 2
call fcn.004172eb
mov edi, dword [ebp - 0x130]
lea eax, [edi + 0x40]
cmp esi, 2
mov dword [ebp - 0x130], eax
mov ebx, eax
jne 0x4187ab
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
xor eax, eax
test esi, esi
sete al
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], 0
mov word [ebx + 0x18], 4
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x18]
test al, 8
je 0x418822
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x4187e8
push eax
call fcn.00408d7f
pop eax
mov ebx, dword [ebp - 0x1dc]
cmp byte [ebx], 0x53
je 0x418807
mov eax, dword [ebp - 0x130]
fld qword [eax + 8]
fcomp qword [0x63e2e8]
fnstsw ax
sahf
jae 0x418811
mov eax, dword [ebp - 0x130]
xor byte [eax + 0xf], 0x80
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 8
jmp case.0x4175a4.11
test al, 4
je 0x418868
test al, 0x40
je 0x418831
push edx
call fcn.00408d7f
pop eax
mov edx, dword [ebp - 0x1dc]
cmp byte [edx], 0x53
je 0x418848
mov eax, dword [ebp - 0x130]
cmp dword [eax + 4], 0
jns 0x418857
mov eax, dword [ebp - 0x130]
neg dword [eax]
adc dword [eax + 4], 0
neg dword [eax + 4]
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 4
jmp case.0x4175a4.11
test al, 1
jne case.0x4175a4.11
push edx
call fcn.00408f40
pop eax
jmp 0x4187d5
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
jne case.0x4175a4.11
push eax
call fcn.00408ef8
mov ecx, dword [ebp - 0x130]
pop edi
mov eax, dword [ecx + 4]
mov word [ecx + 0x18], 4
or eax, dword [ecx]
mov dword [ecx + 4], 0
sete bl
movzx eax, bl
mov dword [ecx], eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
jne case.0x4175a4.11
push eax
call fcn.00408ef8
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
not eax
not edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov word [ecx + 0x18], 4
pop esi
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
je 0x418905
mov ecx, dword [ebp - 0x1dc]
mov ebx, dword [ecx + 4]
jmp 0x41892d
push eax
call fcn.00408e53
mov esi, dword [ebp - 0x1dc]
pop ebx
xor ebx, ebx
fcomp qword [0x63e2e8]
fnstsw ax
sahf
setne bl
cmp byte [esi], 0x48
jne 0x41892d
test ebx, ebx
sete al
movzx ebx, al
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x418940
push eax
call fcn.00408d7f
pop ecx
sub dword [ebp - 0x130], 0x40
test ebx, ebx
je case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
mov esi, dword [ecx + 8]
dec esi
mov dword [ebp - 0x1d8], esi
jmp 0x4189ac
mov edi, dword [ebp - 0x1dc]
xor ecx, ecx
mov edx, dword [edi + 4]
mov eax, edx
mov ebx, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, 1
sub eax, edx
shl eax, 6
add eax, dword [ebp - 0x130]
cmp ecx, edx
jge 0x4189ac
test byte [eax + 0x18], 1
jne 0x418964
inc ecx
add eax, 0x40
jmp 0x41899c
test ebx, ebx
jle case.0x4175a4.11
lea eax, [ebp - 0x130]
call fcn.004172eb
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
xor ebx, ebx
mov edx, dword [eax + 4]
mov eax, edx
mov esi, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
cmp ebx, edx
jge 0x418a0b
mov ecx, dword [ebp - 0x130]
mov eax, edx
shl eax, 6
mov edi, ecx
sub edi, eax
test byte [edi + 0x58], 1
jne 0x418a07
imul eax, edx, 0xffffffc0
lea eax, [eax + ecx + 0x58]
inc ebx
add eax, 0x40
cmp ebx, edx
jge 0x418a0b
test byte [eax], 1
je 0x4189fa
cmp ebx, edx
jl 0x418a1b
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 8]
dec ecx
mov dword [ebp - 0x1d8], ecx
test esi, esi
jle case.0x4175a4.11
lea eax, [ebp - 0x130]
call fcn.004172eb
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x3c]
mov edx, dword [eax + edx*4]
mov eax, dword [ebx + 8]
mov dword [edx + 0x50], eax
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov word [ebp - 0x34], 0
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 1
mov eax, dword [ecx + 0x3c]
mov esi, dword [eax + edx*4]
cmp dword [esi], 0
je 0x418b2c
push esi
call fcn.00408306
pop edx
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
mov ebx, dword [esi]
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x228], ebx
cmp byte [esi + 0x1c], 0
je 0x418ac8
mov dword [ebp - 0x13c], 0
jmp 0x418b21
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x60]
cmp dword [esi + 0x60], eax
jne 0x418ae7
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x13c], eax
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x224], eax
jmp 0x418b21
cmp byte [esi + 0x21], 0
je 0x418b0d
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x228]
call fcn.0040dbf4
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x13c], eax
jmp 0x418b1f
lea eax, [ebp - 0x13c]
push eax
push dword [ebp - 0x228]
call fcn.0040dbad
pop ebx
pop edi
mov edx, dword [esi + 0x50]
mov dword [ebp - 0x234], edx
jmp 0x418b88
cmp byte [esi + 0x1e], 0
je 0x418b60
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov ebx, dword [esi + 0x50]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x224], ecx
mov dword [esi + 0x60], 0
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x228], 0
jmp 0x418b88
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x234], 0
cmp dword [ebp - 0x13c], 0
je case.0x4175a4.11
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x60]
cmp dword [esi + 0x60], eax
mov eax, dword [esi + 0x68]
jne 0x418bb7
mov dword [ebp - 0x22c], eax
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0x230], eax
jmp 0x418da2
mov dword [ebp - 0x22c], eax
test eax, eax
jne 0x418be5
mov eax, dword [ebp - 0x234]
push 1
shl eax, 3
push eax
call fcn.00406c50
test eax, eax
mov dword [esi + 0x68], eax
mov dword [ebp - 0x22c], eax
pop edx
pop ecx
je 0x41b3ae
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x13c]
mov ebx, dword [ebp - 0x224]
lea edx, [ecx + edx*4]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x64], eax
mov dword [ebp - 0x230], edx
mov eax, dword [ecx + 0x60]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x60], eax
test ebx, ebx
jne 0x418c63
cmp byte [esi + 0x21], 0
lea eax, [ebp - 0x140]
je 0x418c33
push eax
push dword [ebp - 0x228]
call fcn.0040d43d
jmp 0x418c3f
push eax
push dword [ebp - 0x228]
call fcn.0040d45a
mov ebx, eax
mov eax, dword [ebp - 0x13c]
pop ecx
cmp dword [ebp - 0x140], eax
pop edi
jb 0x418c5c
mov dword [ebp - 0x224], ebx
mov dword [esi + 0x70], ebx
jmp 0x418c63
mov dword [esi + 0x70], 0
movzx eax, byte [ebx]
mov edi, 1
mov dword [ebp - 0x144], eax
cmp eax, 0x7f
jbe 0x418c87
lea eax, [ebp - 0x144]
push eax
push ebx
call fcn.00406ae2
pop edi
mov edi, eax
pop edx
cmp dword [ebp - 0x224], 0
jne 0x418cc9
mov edx, dword [ebp - 0x144]
cmp dword [ebp - 0x140], edx
jae 0x418cc9
lea eax, [ebp - 0x4c]
push eax
movzx eax, byte [esi + 0x21]
push eax
push edx
push 0
push dword [ebp - 0x228]
call fcn.00409401
add esp, 0x14
test eax, eax
mov dword [ebp - 0x1e0], eax
jne case.0x4175a4.11
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x144]
add eax, ebx
add ebx, edi
xor edi, edi
mov dword [ebp - 0x238], eax
cmp edi, dword [ebp - 0x234]
jae 0x418d67
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x2a4], edx
cmp ebx, dword [ebp - 0x238]
jae 0x418d4a
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x22c]
mov dword [ecx + edi*4], eax
movzx eax, byte [ebx]
mov dword [edx + edi*4], eax
cmp eax, 0x7f
jbe 0x418d2e
push dword [ebp - 0x2a4]
push ebx
call fcn.00406ae2
pop edx
pop ecx
lea eax, [ebx + eax]
jmp 0x418d31
lea eax, [ebx + 1]
mov ecx, dword [ebp - 0x22c]
mov ebx, eax
push dword [ecx + edi*4]
call fcn.0040843f
add dword [ebp - 0x144], eax
pop eax
jmp 0x418d57
mov eax, dword [ebp - 0x230]
mov dword [eax + edi*4], 0
inc edi
add dword [ebp - 0x2a4], 4
cmp edi, dword [ebp - 0x234]
jb 0x418cf3
test byte [ebp - 0x34], 0x40
je 0x418d77
lea eax, [ebp - 0x4c]
push eax
call fcn.00408d7f
pop edi
mov word [ebp - 0x34], 1
cmp ebx, dword [ebp - 0x238]
ja 0x418d93
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0x144], eax
jbe 0x418da2
mov dword [ebp - 0x1e0], 0xb
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x418e3e
cmp dword [ebp - 0x224], 0
je 0x418dcc
mov ebx, dword [ebp - 0x224]
add ebx, eax
jmp 0x418e12
mov ebx, dword [ebp - 0x220]
mov edi, dword [ebp - 0x22c]
push dword [edi + ebx*4]
call fcn.0040843f
lea edx, [ebp - 0x4c]
push edx
movzx edx, byte [esi + 0x21]
push edx
push eax
mov eax, dword [ebp - 0x230]
push dword [eax + ebx*4]
push dword [ebp - 0x228]
call fcn.00409401
add esp, 0x18
test eax, eax
mov dword [ebp - 0x1e0], eax
jne case.0x4175a4.11
mov ebx, dword [ebp - 0x3c]
push dword [ebp - 0x130]
mov edx, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x22c]
push dword [ecx + edx*4]
push ebx
call fcn.004084d2
mov eax, dword [ebp - 0x130]
mov bl, byte [ebp - 0x1e5]
mov byte [eax + 0x1b], bl
jmp 0x418e5d
mov esi, dword [ebp - 0x1dc]
cmp dword [esi + 0x10], 0xfffffff8
jne 0x418e62
push pe_nt_image_headers32
push dword [esi + 0xc]
push dword [ebp - 0x130]
call fcn.00408fc6
add esp, 0xc
jmp 0x418e6e
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 1
test byte [ebp - 0x34], 0x40
je 0x418e88
mov edx, dword [ebp - 0x130]
mov ax, word [edx + 0x18]
and ah, 0xfe
or eax, 0x60
mov word [edx + 0x18], ax
push dword [ebp - 0x130]
call fcn.00408bae
pop ebx
mov dword [ebp - 0x1e0], eax
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
xor edi, edi
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x244], 0
mov eax, dword [edx + 4]
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x258], eax
shr eax, 0x1f
mov dword [ebp - 0x254], eax
je 0x418edf
neg dword [ebp - 0x258]
xor eax, eax
mov edx, dword [ebp - 0x130]
cmp byte [ebp - 0x29d], 0x33
sete al
mov dword [ebp - 0x260], eax
mov eax, 1
sub eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x1dc]
shl eax, 6
mov ebx, dword [ebp - 0x1dc]
mov ecx, dword [ecx + 8]
mov esi, dword [ebp + 8]
lea eax, [edx + eax]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x250], eax
cmp eax, edx
movzx esi, byte [esi + 0x239]
mov dword [ebp - 0x268], esi
mov esi, eax
ja 0x418fb3
cmp dword [ebp - 0x264], 0
je 0x418f70
mov eax, esi
mov ecx, dword [ebp - 0x264]
sub eax, dword [ebp - 0x250]
sar eax, 6
movsx edx, byte [eax + ecx]
movzx eax, byte [ebp - 0x1e5]
push eax
mov eax, esi
call fcn.004173d5
pop ecx
test byte [esi + 0x18], 1
je 0x418f80
mov dword [ebp - 0x24c], 1
push dword [ebp - 0x268]
push esi
call fcn.00408387
mov ebx, eax
add esi, 0x40
push eax
call fcn.0040843f
xor edx, edx
push edx
add dword [ebp - 0x244], eax
push ebx
call fcn.00406b51
add esp, 0x14
add edi, eax
cmp esi, dword [ebp - 0x130]
jmp 0x418f40
cmp dword [ebp - 0x260], 0
je 0x418ffb
imul ebx, dword [ebp - 0x258], 0xffffffc0
mov esi, dword [ebp - 0x130]
add ebx, esi
push ebx
mov dword [ebp - 0x240], ebx
call fcn.00408ef8
push 0
push ebx
call fcn.00408387
mov ebx, eax
push eax
call fcn.0040843f
xor edx, edx
push edx
add dword [ebp - 0x244], eax
push ebx
call fcn.00406b51
add esp, 0x18
add edi, eax
mov eax, edi
cdq
push edx
push edi
call fcn.00406b51
add edi, eax
mov ebx, eax
mov eax, edi
cdq
push edx
push edi
call fcn.00406b51
add esp, 0x10
cmp ebx, eax
setl al
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x244]
add eax, edi
mov dword [ebp - 0x248], eax
cmp eax, 0x20
jbe 0x41904c
push 1
push eax
call fcn.00406c50
pop esi
test eax, eax
pop edx
mov dword [ebp - 0x23c], eax
jne 0x419058
jmp 0x41b3ae
lea edx, [ebp - 0xcc]
mov dword [ebp - 0x23c], edx
mov eax, edi
cdq
push edx
push edi
push dword [ebp - 0x23c]
call fcn.00406926
mov edi, dword [ebp - 0x23c]
add edi, eax
mov esi, dword [ebp - 0x250]
add esp, 0xc
cmp esi, dword [ebp - 0x130]
ja 0x4190a1
push dword [ebp - 0x268]
push esi
call fcn.00408387
xor edx, edx
add esi, 0x40
push edx
push eax
push edi
call fcn.00406926
add esp, 0x14
add edi, eax
jmp 0x419079
cmp dword [ebp - 0x260], 0
je 0x4190c8
push 0
push dword [ebp - 0x240]
call fcn.00408387
pop ecx
xor edx, edx
pop ebx
push edx
push eax
push edi
call fcn.00406926
add esp, 0xc
add edi, eax
mov esi, dword [ebp - 0x250]
cmp esi, dword [ebp - 0x130]
ja 0x4190ed
push dword [ebp - 0x268]
push esi
push edi
call fcn.0040845a
add esi, 0x40
add edi, eax
add esp, 0xc
jmp 0x4190ce
cmp dword [ebp - 0x260], 0
je 0x419107
push 0
push dword [ebp - 0x240]
push edi
call fcn.0040845a
add esp, 0xc
cmp dword [ebp - 0x254], 0
jne 0x419127
mov edx, dword [ebp - 0x258]
lea eax, [ebp - 0x130]
add edx, dword [ebp - 0x260]
call fcn.004172eb
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x20
lea eax, [edx + 0x40]
mov dword [ebp - 0x130], eax
mov dword [eax + 0x14], ecx
ja 0x419169
add edx, 0x60
mov dword [eax + 0x10], edx
lea eax, [ebp - 0xcc]
push ecx
push eax
push edx
call fcn.00577220
mov eax, dword [ebp - 0x130]
add esp, 0xc
mov word [eax + 0x18], 0x210
jmp 0x41917f
mov ebx, dword [ebp - 0x23c]
mov word [eax + 0x18], 0x50
mov dword [eax + 0x10], ebx
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1b], 1
cmp dword [ebp - 0x25c], 0
setne dl
xor eax, eax
cmp dword [ebp - 0x24c], 0
setne al
test edx, eax
je case.0x4175a4.11
mov esi, dword [ebp - 0x25c]
dec esi
mov dword [ebp - 0x1d8], esi
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 4]
test eax, eax
js case.0x4175a4.11
mov edx, dword [ebp - 0x1e4]
cmp eax, dword [edx]
jge case.0x4175a4.11
imul eax, eax, 0x18
mov ecx, edx
mov edx, dword [edx + 4]
mov ebx, dword [eax + edx + 4]
test ebx, ebx
je case.0x4175a4.11
cmp byte [ecx + 0x10], 0
jne case.0x4175a4.11
push ebx
call fcn.004113ba
pop edx
test eax, eax
jne case.0x4175a4.11
push ebx
call fcn.0040d1be
mov dword [ebp - 0x1e0], eax
pop eax
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1e4]
mov bl, byte [esi + 4]
mov ecx, dword [esi + 8]
cmp dword [edi + 0x4c], 1
setg dl
xor eax, eax
test bl, bl
setne al
mov esi, ecx
test edx, eax
je 0x41927e
cmp byte [edi + 0x10], 0
jne 0x41927e
push 0
mov eax, str.rollback
push str._transaction___SQL_statements_in_progress
test cl, cl
jne 0x419258
mov eax, str.commit
push eax
mov eax, dword [ebp + 8]
add eax, 0x230
push str.cannot
push eax
call fcn.00406c82
add esp, 0x14
mov dword [ebp - 0x1e0], 1
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1e4]
cmp bl, byte [eax + 0x10]
je 0x4192c5
test ecx, ecx
je 0x4192a0
push eax
call fcn.004045ac
mov edx, dword [ebp - 0x1e4]
mov byte [edx + 0x10], 1
pop eax
jmp 0x4192bb
mov ecx, dword [ebp - 0x1e4]
mov byte [ecx + 0x10], bl
push dword [ebp + 8]
call fcn.00407b6e
pop edi
cmp eax, 5
je 0x41b484
mov eax, 0x65
jmp 0x41b4e5
push 0
mov eax, str.cannot_start_a_transaction_within_a_transaction
test bl, bl
je 0x4192e0
mov ebx, esi
mov eax, str.cannot_rollback___no_transaction_is_active
test bl, bl
jne 0x4192e0
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00406c82
add esp, 0xc
mov dword [ebp - 0x1e0], 1
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1e4]
imul eax, dword [edi + 4], 0x18
mov edx, dword [esi + 4]
mov eax, dword [eax + edx + 4]
test eax, eax
je case.0x4175a4.11
push dword [edi + 8]
push eax
call fcn.0040cbe2
pop ebx
cmp eax, 5
mov dword [ebp - 0x1e0], eax
pop esi
je 0x41b4b2
test eax, eax
setne dl
cmp eax, 8
setne al
movzx eax, al
test edx, eax
je case.0x4175a4.11
jmp 0x41b400
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x148]
push eax
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1e4]
inc eax
push eax
imul eax, dword [ebx + 4], 0x18
mov edx, dword [ecx + 4]
push dword [eax + edx + 4]
call fcn.004101d1
mov edx, dword [ebp - 0x130]
lea ecx, [edx + 0x40]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x148]
mov esi, eax
mov dword [ebp - 0x130], ecx
sar esi, 0x1f
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], esi
mov word [ecx + 0x18], 4
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e4]
imul ebx, dword [edi + 4], 0x18
add ebx, dword [eax + 4]
push dword [ebp - 0x130]
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
push dword [eax]
mov eax, dword [edi + 8]
inc eax
push eax
push dword [ebx + 4]
call fcn.00410233
add esp, 0x10
mov dword [ebp - 0x1e0], eax
mov eax, dword [edi + 8]
test eax, eax
jne 0x419413
mov edx, dword [ebp - 0x130]
mov eax, dword [ebx + 0x14]
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [ebp - 0x1e4]
or dword [edx + 8], 0x10
jmp 0x419424
dec eax
jne 0x419424
mov edx, dword [ebp - 0x130]
mov eax, dword [ebx + 0x14]
mov dl, byte [edx]
mov byte [eax + 0x78], dl
mov ecx, dword [ebp - 0x1dc]
sub dword [ebp - 0x130], 0x40
cmp dword [ecx + 4], 1
jne case.0x4175a4.11
push dword [ebp - 0x1e4]
call fcn.00408af6
pop ecx
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1e4]
imul eax, dword [esi + 4], 0x18
mov edx, dword [ebx + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
jne 0x41947d
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x14c], 0
jmp 0x41949d
lea eax, [ebp - 0x14c]
push eax
push 1
push edx
call fcn.004101d1
add esp, 0xc
test eax, eax
mov dword [ebp - 0x1e0], eax
jne case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
cmp dword [ebp - 0x14c], eax
je case.0x4175a4.11
mov eax, dword [ebp + 8]
push 0
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.00406c82
add esp, 0xc
mov dword [ebp - 0x1e0], 0x11
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1dc]
mov esi, dword [edx + 8]
mov eax, dword [eax + 4]
push dword [ebp - 0x130]
mov dword [ebp - 0x26c], eax
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x1e4]
pop edx
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [eax]
sub eax, 0x40
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x270], 0
imul eax, ebx, 0x18
add eax, dword [ecx + 4]
cmp byte [edx], 8
mov edi, dword [eax + 4]
jne 0x419553
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x270], 1
mov ecx, dword [ebp + 8]
mov al, byte [eax + 0x78]
cmp al, byte [ecx + 0x239]
jae 0x419553
mov byte [ecx + 0x239], al
test esi, esi
jg 0x419574
push dword [ebp - 0x130]
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
mov esi, dword [eax]
sub eax, 0x40
mov dword [ebp - 0x130], eax
pop eax
mov edx, dword [ebp - 0x26c]
mov eax, dword [ebp + 8]
push ebx
call fcn.00417318
mov ebx, eax
pop eax
test ebx, ebx
je 0x41b3ae
mov byte [ebx + 0x1c], 1
test edi, edi
je case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
push ebx
push dword [eax + 0xc]
push fcn.004086ca
push dword [ebp - 0x270]
push esi
push edi
call fcn.0040d9b3
mov edx, dword [ebp - 0x1dc]
add esp, 0x18
mov dword [ebp - 0x1e0], eax
cmp dword [edx + 0x10], 0xfffffffa
jne 0x4195e9
mov edx, dword [edx + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebx + 0x4c], edx
lea eax, [edx + 1]
mov dword [ebx + 0x48], eax
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [edx], al
jmp 0x4195f6
lea eax, [ebx + 0x22]
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x48], eax
cmp dword [ebp - 0x1e0], 5
je 0x419621
jg 0x41960f
cmp dword [ebp - 0x1e0], 0
je 0x41965f
jmp 0x41b400
cmp dword [ebp - 0x1e0], 0x10
je 0x4196ce
jmp 0x41b400
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x130]
mov dword [edi + 0x7c], eax
mov dword [edi + 0x80], 5
cmp dword [edx + 8], 0
jg 0x419651
lea eax, [ebx + 0x80]
jmp 0x419654
lea eax, [ebx + 0x40]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
jmp 0x41b4e0
push dword [ebx]
call fcn.004107dc
pop edi
mov ecx, eax
test al, 0xf0
jne 0x41b3de
and eax, 7
cmp eax, 5
setne dl
cmp eax, 2
setne al
movzx eax, al
test edx, eax
jne 0x41b3de
mov al, cl
shr ecx, 1
and eax, 1
mov dl, cl
mov byte [ebx + 0x20], al
and edx, 1
test al, al
mov byte [ebx + 0x21], dl
je 0x4196b1
mov ebx, dword [ebp - 0x1dc]
cmp dword [ebx + 0x10], 0xfffffffa
je 0x41b3de
test dl, dl
je case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
cmp dword [esi + 0x10], 0xfffffffa
je case.0x4175a4.11
jmp 0x41b3de
mov edi, dword [ebp - 0x1dc]
cmp dword [edi + 0x10], 0xfffffffa
setne al
mov byte [ebx + 0x20], al
xor eax, 1
mov byte [ebx + 0x21], al
mov dword [ebp - 0x1e0], 0
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00417318
pop esi
mov ebx, eax
test eax, eax
je 0x41b3ae
mov byte [eax + 0x1c], 1
lea eax, [eax + 0x30]
push eax
push 0x1f4
push 1
push 0
push dword [ebp - 0x1e4]
call fcn.00404ba0
add esp, 0x14
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x4197f7
push 1
push dword [ebx + 0x30]
call fcn.0040cbe2
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x1e0], eax
jne 0x4197f7
mov edx, dword [ebp - 0x1dc]
cmp dword [edx + 0xc], 0
je 0x4197d3
lea eax, [ebp - 0x150]
push 2
push eax
push dword [ebx + 0x30]
call fcn.00410279
add esp, 0xc
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x4197cd
mov ecx, dword [ebp - 0x1dc]
push ebx
push dword [ecx + 0xc]
push fcn.004086ca
push 1
push dword [ebp - 0x150]
push dword [ebx + 0x30]
call fcn.0040d9b3
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x1dc]
add esp, 0x18
mov dword [ebp - 0x1e0], eax
mov eax, dword [edi]
mov edx, dword [esi + 0xc]
mov eax, dword [eax + 4]
mov dword [ebx + 0x4c], edx
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [edx], al
mov eax, dword [ebx + 0x4c]
inc eax
mov dword [ebx + 0x48], eax
mov byte [ebx + 0x20], 0
jmp 0x4197f7
push ebx
push 0
push 0
push 1
push 1
push dword [ebx + 0x30]
call fcn.0040d9b3
add esp, 0x18
mov dword [ebp - 0x1e0], eax
lea eax, [ebx + 0x22]
mov byte [ebx + 0x20], 1
mov dword [ebx + 0x48], eax
mov edx, dword [ebp - 0x1dc]
cmp byte [ebx + 0x20], 0
mov eax, dword [edx + 8]
sete byte [ebx + 0x21]
mov dword [ebx + 0x50], eax
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ebp + 8]
mov edx, dword [ecx + 4]
push 0xffffffffffffffff
call fcn.00417318
mov edx, eax
pop eax
test edx, edx
je 0x41b3ae
lea eax, [edx + 0x22]
mov byte [edx + 0x1c], 1
mov byte [edx + 0x1e], 1
mov dword [edx + 0x48], eax
mov byte [edx + 0x20], 1
mov byte [edx + 0x21], 0
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov ebx, dword [esi + 4]
test ebx, ebx
js case.0x4175a4.11
mov edi, dword [ebp + 8]
cmp ebx, dword [edi + 0x38]
jge case.0x4175a4.11
mov eax, dword [edi + 0x3c]
push dword [eax + ebx*4]
call fcn.0040791f
mov eax, dword [edi + 0x3c]
mov dword [eax + ebx*4], 0
pop eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [eax + edx*4]
cmp dword [ebx], 0
je 0x419a19
movzx esi, byte [ebp - 0x29d]
mov eax, dword [ebx + 0x48]
cmp esi, 6
sete dl
cmp esi, 0x3f
mov byte [ebx + 0x1c], 0
sete cl
or edx, ecx
mov byte [eax], dl
cmp byte [ebx + 0x20], 0
je 0x41993f
push dword [ebp - 0x130]
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
pop edi
mov edi, dword [ebp - 0x1dc]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
cmp dword [edi + 8], 0
jne 0x4198fe
cmp byte [edi], 0x78
jne 0x4198fe
mov byte [ebx + 0x1f], 1
mov dword [ebx + 0x28], edx
sub dword [ebp - 0x130], 0x40
mov dword [ebx + 0x2c], ecx
jmp case.0x4175a4.11
lea eax, [ebp - 0x154]
push eax
push ecx
push edx
push 0
push dword [ebx]
call fcn.0040d5b5
add esp, 0x14
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x154], 0
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
sete byte [ebx + 0x19]
jmp 0x419971
mov ecx, dword [ebp - 0x130]
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ecx + 0x14]
cdq
push edx
push eax
push dword [ecx + 0x10]
push dword [ebx]
call fcn.0040d5b5
add esp, 0x14
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
mov byte [ebx + 0x19], 0
mov eax, dword [ebx + 0x48]
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x60], 0
mov byte [eax], 0
inc dword [0x6961d8]
cmp esi, 0x78
sete dl
cmp esi, 6
sete al
or eax, edx
test al, 1
mov eax, dword [ebp - 0x154]
je 0x4199c0
test eax, eax
jns 0x4199b4
lea eax, [ebp - 0x154]
push eax
push dword [ebx]
call fcn.0040deb5
jmp 0x4199d2
mov dword [ebp - 0x154], 0
jmp 0x4199f6
test eax, eax
js 0x4199e8
lea eax, [ebp - 0x154]
push eax
push dword [ebx]
call fcn.0040dfb8
pop edi
mov dword [ebp - 0x1e0], eax
pop edx
test eax, eax
jne 0x41b400
mov byte [ebx + 0x19], 0
jmp 0x4199f6
push dword [ebx]
call fcn.0040dea3
pop esi
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x419a19
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 8]
test eax, eax
jle 0x419a15
dec eax
mov dword [ebp - 0x1d8], eax
jmp 0x419a19
mov byte [ebx + 0x1c], 1
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x419a2c
push eax
call fcn.00408d7f
pop ecx
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x1dc]
xor esi, esi
mov edx, dword [ecx + 4]
mov eax, dword [ebx + 0x3c]
mov ebx, dword [eax + edx*4]
cmp dword [ebx], 0
je 0x419ab4
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x18]
test al, 0x12
jne 0x419a77
movzx eax, byte [ebp - 0x1e5]
push eax
push edx
call fcn.00408ca0
pop edi
test eax, eax
pop edx
jne 0x41b3ae
mov ecx, dword [ebp - 0x130]
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ecx + 0x14]
cdq
push edx
push eax
push dword [ecx + 0x10]
push dword [ebx]
call fcn.0040d5b5
add esp, 0x14
test eax, eax
jne 0x419aa9
cmp dword [ebp - 0x158], 0
jne 0x419aa9
mov esi, 1
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x60], 0
mov edi, dword [ebp - 0x1dc]
mov al, byte [edi]
cmp al, 0x7b
jne 0x419ad0
test esi, esi
je 0x419aec
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x1d8], eax
jmp 0x419aec
test esi, esi
jne 0x419ae4
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x1d8], ecx
cmp al, 0x6a
je case.0x4175a4.11
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x419aff
push eax
call fcn.00408d7f
pop ebx
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x130]
mov ebx, dword [esi + 4]
push eax
lea esi, [eax - 0x40]
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0x27c], ecx
mov ecx, dword [ebp + 8]
sub eax, 0x40
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x130], eax
mov eax, dword [ecx + 0x3c]
pop ecx
mov ebx, dword [eax + ebx*4]
mov dword [ebp - 0x274], ebx
mov ebx, dword [ebx]
mov dword [ebp - 0x278], ebx
test ebx, ebx
je case.0x4175a4.11
movzx eax, word [esi + 0x18]
test al, 0x12
jne 0x419b83
movzx eax, byte [ebp - 0x1e5]
push eax
push esi
call fcn.00408ca0
pop edi
test eax, eax
pop edx
jne 0x41b3ae
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
push edi
call fcn.0040896f
mov esi, dword [ebp - 0x274]
sub ebx, eax
mov eax, ebx
mov dword [esi + 0x60], 0
lea esi, [ebp - 0x15c]
cdq
push esi
push edx
push ebx
push edi
push dword [ebp - 0x278]
call fcn.0040d5b5
add esp, 0x18
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
cmp dword [ebp - 0x15c], 0
jns 0x419c02
push esi
push dword [ebp - 0x278]
call fcn.0040deb5
pop ecx
cmp dword [ebp - 0x15c], 0
mov dword [ebp - 0x1e0], eax
pop esi
je 0x419c02
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
lea eax, [ebp - 0x15c]
push eax
push edi
push ebx
push dword [ebp - 0x274]
call fcn.00408a68
add esp, 0x10
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
cmp dword [ebp - 0x15c], 0
jle 0x419c45
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x1d8], ecx
jmp case.0x4175a4.11
lea eax, [ebp - 0x164]
push eax
push dword [ebp - 0x278]
call fcn.0040899e
pop edi
test eax, eax
pop edx
mov dword [ebp - 0x1e0], eax
jne 0x41b400
mov ebx, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
cmp ebx, dword [ebp - 0x27c]
jne 0x419c98
cmp ecx, dword [ebp - 0x280]
jne 0x419c98
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x1d8], esi
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
lea edx, [eax + 0x40]
mov dword [eax + 0x40], ecx
mov dword [ebp - 0x130], edx
mov dword [eax + 0x44], ebx
mov word [edx + 0x18], 4
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [eax + edx*4]
mov edx, dword [ebx]
test edx, edx
je 0x419d31
lea eax, [ebp - 0x168]
push eax
mov eax, dword [ebp - 0x130]
push dword [eax + 4]
push dword [eax]
push 0
push edx
call fcn.0040d5b5
add esp, 0x14
cmp dword [ebp - 0x168], 0
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x130]
mov dword [ebx + 0x60], 0
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov byte [ebx + 0x1c], 0
sete byte [ebx + 0x19]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
cmp dword [ebp - 0x168], 0
je 0x419d31
mov esi, dword [edi + 8]
dec esi
mov dword [ebp - 0x1d8], esi
mov byte [ebx + 0x19], 0
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x419d44
push eax
call fcn.00408d7f
pop esi
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 4]
mov edi, dword [ebp - 0x130]
lea eax, [edi + 0x40]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x130], eax
mov eax, dword [ecx + 0x3c]
mov esi, dword [eax + edx*4]
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x5c]
mov eax, ecx
mov edx, ebx
add eax, 1
adc edx, 0
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], edx
mov dword [edi + 0x44], ebx
mov ebx, dword [ebp - 0x284]
mov dword [edi + 0x40], ecx
mov word [ebx + 0x18], 4
jmp case.0x4175a4.11
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x1dc]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov eax, dword [edi + 0x3c]
mov edx, dword [esi + 4]
mov edi, dword [eax + edx*4]
mov eax, dword [edi]
test eax, eax
je 0x41a05f
push eax
mov dword [ebp - 0x288], 0
call fcn.004107dc
pop ebx
and eax, 3
dec eax
jne 0x41b3de
cmp byte [edi + 0x1b], 0
jne 0x419f44
cmp byte [edi + 0x1d], 0
je 0x419e07
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
jmp 0x419e79
lea eax, [ebp - 0x16c]
push eax
push dword [edi]
call fcn.0040dabd
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x1e0], eax
jne 0x41b400
cmp dword [ebp - 0x16c], 0
je 0x419e44
mov dword [ebp - 0x174], 1
mov dword [ebp - 0x170], 0
jmp 0x419e85
lea eax, [ebp - 0x174]
push eax
push dword [edi]
call fcn.0040dbf4
mov edx, dword [ebp - 0x170]
pop ebx
mov eax, dword [ebp - 0x174]
pop esi
cmp edx, 0x7fffffff
jne 0x419e73
cmp eax, 0xffffffff
jne 0x419e73
mov byte [edi + 0x1b], 1
jmp 0x419e85
add eax, 1
adc edx, 0
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 8]
test eax, eax
je 0x419efd
mov ecx, dword [ebp + 8]
mov esi, eax
shl esi, 6
add esi, dword [ecx + 0x58]
push esi
call fcn.00408ef8
mov edx, dword [esi + 4]
mov eax, dword [esi]
pop ecx
cmp edx, 0x7fffffff
jne 0x419eba
cmp eax, 0xffffffff
je 0x41b3ea
cmp byte [edi + 0x1b], 0
jne 0x41b3ea
add eax, 1
mov ebx, dword [ebp - 0x170]
adc edx, 0
mov ecx, dword [ebp - 0x174]
cmp ebx, edx
jg 0x419eec
jl 0x419ee0
cmp ecx, eax
jae 0x419eec
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
mov dword [esi + 4], edx
mov dword [esi], eax
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x174]
cmp edx, 0x7fffffff
ja 0x419f36
jb 0x419f18
cmp eax, 0xfffffffe
ja 0x419f36
mov byte [edi + 0x1d], 1
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
add eax, 1
adc edx, 0
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x419f3a
mov byte [edi + 0x1d], 0
cmp byte [edi + 0x1b], 0
je 0x41a050
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x174], eax
xor ebx, ebx
mov eax, dword [ebp - 0x170]
or eax, dword [ebp - 0x174]
sete dl
cmp ebx, 2
setg al
or eax, edx
test al, 1
je 0x419fa9
lea eax, [ebp - 0x174]
push eax
push 8
call fcn.00415fa0
pop ecx
cmp ebx, 4
pop esi
jg 0x419fce
mov eax, dword [ebp - 0x174]
xor edx, edx
and eax, 0xffffff
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x174], eax
jmp 0x419fce
lea eax, [ebp - 0x175]
push eax
push 1
call fcn.00415fa0
movzx eax, byte [ebp - 0x175]
inc eax
cdq
add dword [ebp - 0x174], eax
pop eax
adc dword [ebp - 0x170], edx
pop edx
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x174]
mov esi, ecx
or esi, edx
je 0x419ffc
lea eax, [ebp - 0x16c]
inc ebx
push eax
push ecx
push edx
push 0
push dword [edi]
call fcn.0040d5b5
add esp, 0x14
mov dword [ebp - 0x288], eax
cmp ebx, 0x3e7
setle dl
xor eax, eax
cmp dword [ebp - 0x288], 0
sete al
test edx, eax
je 0x41a022
cmp dword [ebp - 0x16c], 0
je 0x419f5e
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x28], eax
cmp dword [ebp - 0x288], 0
jne 0x41a050
cmp dword [ebp - 0x16c], 0
je 0x41b3ea
mov byte [edi + 0x19], 0
mov byte [edi + 0x1f], 0
mov dword [edi + 0x60], 0
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
lea ebx, [eax + 0x40]
mov dword [eax + 0x40], edx
mov dword [ebp - 0x130], ebx
mov dword [eax + 0x44], ecx
mov word [ebx + 0x18], 4
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x3c]
mov ebx, dword [eax + edx*4]
cmp dword [ebx], 0
jne 0x41a0b2
cmp byte [ebx + 0x1e], 0
je 0x41a25f
mov edx, dword [ecx - 0x3c]
mov eax, dword [ecx - 0x40]
mov dword [ebp - 0x28c], edx
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x290], eax
test byte [edx + 8], 1
je 0x41a0d9
mov esi, dword [ebp + 8]
inc dword [esi + 0x23c]
mov edi, dword [ebp - 0x1dc]
test byte [edi + 8], 2
je 0x41a0fd
mov esi, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x28c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
cmp byte [ebx + 0x1d], 0
je 0x41a11d
mov edi, dword [ecx - 0x3c]
mov edx, dword [ebx + 0x14]
mov esi, dword [ecx - 0x40]
mov eax, dword [ebx + 0x10]
cmp edi, edx
jl 0x41a11d
jg 0x41a119
cmp esi, eax
jb 0x41a11d
mov byte [ebx + 0x1d], 0
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 1
je 0x41a137
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp byte [ebx + 0x1e], 0
je 0x41a1c9
push dword [ebx + 0x38]
call fcn.00406120
mov edx, dword [ebp - 0x28c]
mov dword [ebx + 0x44], edx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x290]
mov dword [ebx + 0x40], eax
mov eax, dword [edx + 0x14]
mov dword [ebx + 0x34], eax
test byte [edx + 0x18], 0x40
pop eax
je 0x41a17c
mov eax, dword [edx + 0x10]
mov word [edx + 0x18], 1
mov dword [ebx + 0x38], eax
jmp 0x41a1c3
push 1
mov eax, dword [ebx + 0x34]
add eax, 2
push eax
call fcn.00406c50
mov edx, eax
test eax, eax
mov dword [ebx + 0x38], eax
pop esi
pop edi
je 0x41b3ae
push dword [ebx + 0x34]
mov eax, dword [ebp - 0x130]
push dword [eax + 0x10]
push edx
call fcn.00577220
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x38]
add esp, 0xc
mov byte [edx + eax], 0
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x34]
mov byte [edx + eax + 1], 0
mov byte [ebx + 0x1c], 0
jmp 0x41a1ed
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [ebp - 0x28c]
push dword [ebp - 0x290]
push 0
push dword [ebx]
call fcn.0040fdb1
add esp, 0x18
mov dword [ebp - 0x1e0], eax
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x60], 0
cmp dword [ebp - 0x1e0], 0
jne 0x41a25f
mov edx, dword [ebp - 0x1e4]
cmp dword [edx + 0x74], 0
je 0x41a25f
mov ecx, dword [ebp - 0x1dc]
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x41a25f
mov ecx, dword [edx + 4]
imul edx, dword [ebx + 4], 0x18
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebx + 8]
push dword [ebp - 0x28c]
push dword [ebp - 0x290]
shr eax, 2
push esi
and eax, 1
mov esi, dword [ebp - 0x1e4]
cmp eax, 1
sbb eax, eax
push dword [edx + ecx]
and eax, 0xfffffffb
add eax, 0x17
push eax
push dword [esi + 0x70]
call dword [esi + 0x74]
add esp, 0x18
mov edx, 2
lea eax, [ebp - 0x130]
call fcn.004172eb
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [eax + edx*4]
cmp dword [ebx], 0
je 0x41a346
mov esi, dword [ebp - 0x1e4]
cmp dword [esi + 0x74], 0
je 0x41a2d9
cmp dword [edi + 0xc], 0
je 0x41a2d9
cmp byte [ebx + 0x19], 0
je 0x41a2bb
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x180], eax
jmp 0x41a2d9
lea eax, [ebp - 0x180]
push eax
push dword [ebx]
call fcn.0040dbf4
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x1e0], eax
jne 0x41b400
push ebx
call fcn.00408306
pop edi
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
push dword [ebx]
call fcn.0040ff5e
mov dword [ebx + 0x60], 0
test eax, eax
mov dword [ebp - 0x1e0], eax
mov byte [ebx + 0x1d], 0
pop esi
jne 0x41a346
mov edi, dword [ebp - 0x1e4]
cmp dword [edi + 0x74], 0
je 0x41a346
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x41a346
imul eax, dword [ebx + 4], 0x18
mov edx, dword [edi + 4]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push ecx
push dword [eax + edx]
push 9
push dword [edi + 0x70]
call dword [edi + 0x74]
add esp, 0x18
mov edx, dword [ebp - 0x1dc]
test byte [edx + 8], 1
je case.0x4175a4.11
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x23c]
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
cmp dword [ebx + 4], 0
je 0x41a386
mov esi, dword [ebp + 8]
push dword [esi + 0x23c]
push dword [ebp - 0x1e4]
call fcn.00407b5d
pop ecx
pop ebx
mov edi, dword [ebp + 8]
mov dword [edi + 0x23c], 0
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x130]
mov edx, dword [eax + 4]
mov eax, dword [ebx + 0x3c]
add ecx, 0x40
mov esi, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
cmp byte [esi + 0x1c], 0
jne 0x41a4c4
mov edi, dword [esi]
test edi, edi
je 0x41a4aa
push esi
call fcn.00408306
pop edx
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
cmp byte [esi + 0x1c], 0
je 0x41a3f9
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
cmp byte [esi + 0x21], 0
je 0x41a41a
lea eax, [ebp - 0x188]
push eax
push edi
call fcn.0040dbf4
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x18c], eax
jmp 0x41a427
lea eax, [ebp - 0x18c]
push eax
push edi
call fcn.0040dbad
mov edx, dword [ebp - 0x130]
pop ebx
pop eax
mov eax, dword [ebp - 0x18c]
mov dword [edx + 0x14], eax
cmp eax, 0x20
ja 0x41a44b
lea eax, [edx + 0x20]
mov word [edx + 0x18], 0x210
mov dword [edx + 0x10], eax
jmp 0x41a475
push 1
push eax
call fcn.00406c50
mov edx, eax
pop eax
test edx, edx
pop ecx
je 0x41b3ae
mov eax, dword [ebp - 0x130]
mov word [eax + 0x18], 0x50
mov dword [eax + 0x1c], 0
mov dword [eax + 0x10], edx
cmp byte [esi + 0x21], 0
mov ebx, dword [ebp - 0x130]
je 0x41a494
push dword [ebx + 0x10]
push dword [ebp - 0x18c]
push 0
push edi
call fcn.0040db64
jmp 0x41a4a5
push dword [ebx + 0x10]
push dword [ebp - 0x18c]
push 0
push edi
call fcn.0040db2d
add esp, 0x10
jmp 0x41a4ca
cmp byte [esi + 0x1e], 0
je 0x41a4c4
mov eax, dword [esi + 0x34]
mov word [ecx + 0x18], 0x110
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [ecx + 0x10], eax
jmp 0x41a4ca
mov word [ecx + 0x18], 1
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1b], 1
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
mov edx, dword [esi + 4]
mov eax, dword [edi + 0x3c]
mov ebx, dword [eax + edx*4]
push ebx
call fcn.00408306
pop esi
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41b400
mov eax, dword [ebp - 0x130]
add eax, 0x40
mov dword [ebp - 0x130], eax
cmp byte [ebx + 0x19], 0
je 0x41a51d
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
jmp 0x41a529
cmp byte [ebx + 0x1e], 0
je 0x41a537
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], edx
jmp 0x41a55d
cmp byte [ebx + 0x1c], 0
jne 0x41a542
cmp dword [ebx], 0
jne 0x41a54d
mov word [eax + 0x18], 1
jmp case.0x4175a4.11
lea eax, [ebp - 0x194]
push eax
push dword [ebx]
call fcn.0040dbf4
pop ecx
pop ebx
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov word [ecx + 0x18], 4
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x3c]
mov ebx, dword [eax + edx*4]
mov edx, dword [ebx]
test edx, edx
je 0x41a609
lea eax, [ebp - 0x198]
push eax
push edx
call fcn.0040dabd
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x198]
mov byte [ebx + 0x1c], al
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x60], 0
pop eax
pop edx
cmp dword [ebp - 0x198], 0
je case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
test eax, eax
jle case.0x4175a4.11
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov byte [ebx + 0x1c], 0
jmp case.0x4175a4.11
inc dword [0x6961d0]
dec dword [0x6961d8]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [eax + edx*4]
mov edx, dword [ebx]
test edx, edx
je 0x41a663
lea eax, [ebp - 0x19c]
push eax
push edx
call fcn.0040daf5
pop esi
cmp dword [ebp - 0x19c], 0
pop edi
mov dword [ebp - 0x1e0], eax
mov dword [ebx + 0x60], 0
sete byte [ebx + 0x1a]
mov byte [ebx + 0x1f], 0
jmp 0x41a66d
mov dword [ebp - 0x19c], 1
mov eax, dword [ebp - 0x19c]
mov byte [ebx + 0x1c], al
cmp dword [ebp - 0x19c], 0
je case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebx + 8]
test eax, eax
jle case.0x4175a4.11
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1e4]
test byte [esi + 8], 4
jne 0x41b438
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx]
test eax, eax
je 0x41a732
cmp byte [ebx + 0x1c], 0
je 0x41a6da
mov dword [ebp - 0x1a0], 1
jmp 0x41a711
cmp byte [ebp - 0x29d], 0x68
lea edx, [ebp - 0x1a0]
jne 0x41a6f2
push edx
push eax
call fcn.0040deb5
jmp 0x41a6f9
push edx
push eax
call fcn.0040dfb8
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1a0]
pop edx
pop ecx
mov byte [ebx + 0x1c], al
mov dword [ebx + 0x60], 0
cmp dword [ebp - 0x1a0], 0
jne 0x41a736
mov esi, dword [ebp - 0x1dc]
mov edi, dword [esi + 8]
inc dword [0x6961d8]
dec edi
mov dword [ebp - 0x1d8], edi
jmp 0x41a736
mov byte [ebx + 0x1c], 1
mov byte [ebx + 0x19], 0
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 0x3c]
mov esi, dword [eax + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je 0x41a783
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 0x14]
push 0
cdq
push 0x63e182
push edx
push eax
push dword [ecx + 0x10]
push ebx
call fcn.0040fdb1
mov dword [esi + 0x60], 0
add esp, 0x18
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x41a796
push eax
call fcn.00408d7f
pop eax
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x3c]
mov esi, dword [eax + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je 0x41a800
mov ecx, dword [ebp - 0x130]
lea eax, [ebp - 0x1a4]
push eax
mov eax, dword [ecx + 0x14]
cdq
push edx
push eax
push dword [ecx + 0x10]
push ebx
call fcn.0040d5b5
add esp, 0x14
test eax, eax
mov dword [ebp - 0x1e0], eax
jne 0x41a7f9
cmp dword [ebp - 0x1a4], 0
jne 0x41a7f9
push ebx
call fcn.0040ff5e
mov dword [ebp - 0x1e0], eax
pop eax
mov dword [esi + 0x60], 0
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x41a813
push eax
call fcn.00408d7f
pop edi
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x130]
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x3c]
add ecx, 0x40
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov word [ecx + 0x18], 1
mov edx, dword [eax]
test edx, edx
je case.0x4175a4.11
cmp byte [eax + 0x1c], 0
jne case.0x4175a4.11
lea eax, [ebp - 0x1ac]
push eax
push edx
call fcn.0040899e
pop ebx
test eax, eax
pop esi
mov dword [ebp - 0x1e0], eax
jne 0x41b400
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1a8]
mov word [ecx + 0x18], 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
mov edx, dword [esi + 4]
mov eax, dword [edi + 0x3c]
mov ebx, dword [eax + edx*4]
cmp dword [ebx], 0
je 0x41a960
mov edx, dword [ebp - 0x130]
movzx eax, word [edx + 0x18]
test al, 0x12
jne 0x41a8da
movzx eax, byte [ebp - 0x1e5]
push eax
push edx
call fcn.00408ca0
pop edx
test eax, eax
pop ecx
jne 0x41b3ae
mov eax, dword [ebx + 0x48]
mov edx, dword [ebp - 0x1dc]
cmp dword [edx + 0xc], 0
setne byte [eax]
lea eax, [ebp - 0x1b0]
push eax
mov eax, dword [ebp - 0x130]
push dword [eax + 0x10]
push dword [eax + 0x14]
push ebx
call fcn.00408a68
add esp, 0x10
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebx + 0x48]
mov byte [eax], 0
cmp dword [ebp - 0x1e0], 0
jne case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
mov al, byte [ecx]
cmp al, 0x24
jne 0x41a933
neg dword [ebp - 0x1b0]
jmp 0x41a947
cmp al, 0x3a
sete al
movzx eax, al
add eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
jle 0x41a960
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x1d8], esi
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x41a973
push eax
call fcn.00408d7f
pop eax
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x1d8], eax
jmp 0x41a9f2
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x1dc]
lea ebx, [ebp - 0x1b4]
mov ecx, dword [eax + 0x10]
mov esi, dword [edx + 4]
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x294], ecx
push ebx
push ecx
call fcn.00406ae2
pop ecx
mov ebx, eax
pop eax
cmp ebx, edi
setl dl
xor eax, eax
test esi, esi
setg al
test edx, eax
je 0x41a9f2
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x294]
add eax, ebx
push eax
call fcn.00406ae2
add ebx, eax
pop eax
cmp dword [ebp - 0x1b4], 0
pop edx
je 0x41a97f
dec esi
jmp 0x41a9bd
mov eax, dword [ebp - 0x130]
test byte [eax + 0x18], 0x40
je 0x41aa05
push eax
call fcn.00408d7f
pop eax
sub dword [ebp - 0x130], 0x40
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], 6
cmp dword [edx + 0x4c], 1
jg case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x1b8]
push eax
mov ebx, edx
push dword [ecx + 4]
imul eax, dword [ecx + 8], 0x18
mov edx, dword [edx + 4]
push dword [eax + edx + 4]
call fcn.00410622
mov edx, dword [ebp - 0x130]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
lea eax, [edx + 0x40]
mov dword [ebp - 0x130], eax
mov word [eax + 0x18], 4
mov eax, dword [ebp - 0x1b8]
mov esi, eax
mov dword [edx + 0x40], eax
sar esi, 0x1f
mov dword [edx + 0x44], esi
cmp dword [ebp - 0x1e0], 0
jne case.0x4175a4.11
test eax, eax
je case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
push dword [edi + 4]
push eax
imul eax, dword [edi + 8], 0x18
add eax, dword [ebx + 4]
push eax
call fcn.00413540
add esp, 0xc
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e4]
push dword [eax + 4]
imul eax, dword [eax + 8], 0x18
mov edx, dword [ecx + 4]
push dword [eax + edx + 4]
call fcn.0041058c
pop esi
pop edi
mov dword [ebp - 0x1e0], eax
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1e4]
xor edx, edx
imul eax, dword [esi + 4], 0x18
add eax, dword [edi + 4]
cmp byte [ebp - 0x29d], 0x30
sete dl
lea edx, [edx + edx*2 + 2]
push edx
lea edx, [ebp - 0x1bc]
push edx
push dword [eax + 4]
call fcn.00410279
mov ecx, dword [ebp - 0x130]
lea edx, [ecx + 0x40]
add esp, 0xc
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x130], edx
test eax, eax
jne 0x41ab47
mov eax, dword [ebp - 0x1bc]
mov word [edx + 0x18], 4
mov ebx, eax
mov dword [ecx + 0x40], eax
sar ebx, 0x1f
mov dword [ecx + 0x44], ebx
jmp case.0x4175a4.11
mov word [edx + 0x18], 1
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1e4]
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
imul edx, ecx, 0x18
mov eax, dword [edx + eax + 0x14]
test byte [eax + 0x7a], 1
je case.0x4175a4.11
mov edx, 0x63e265
cmp ecx, 1
je 0x41ab84
mov edx, 0x63e278
mov eax, dword [ebp - 0x1e4]
mov ebx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp + 8]
add eax, 0x230
mov esi, dword [ebp - 0x1e4]
mov dword [ebp - 0x1c0], eax
imul eax, ecx, 0x18
push dword [ebx + 0xc]
push edx
mov edx, dword [esi + 4]
push dword [eax + edx]
push dword [ebx + 4]
push str.SELECT_name__rootpage__sql___d_FROM__q._s_WHERE__s
call fcn.00417207
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x41b3ae
push esi
call fcn.004068b7
mov byte [esi + 0x44], 1
lea eax, [ebp - 0x1c4]
push 0
push eax
push fcn.0041559d
push ebx
push esi
call fcn.00405290
push ebx
mov dword [ebp - 0x1e0], eax
call fcn.00406120
mov byte [esi + 0x44], 0
push esi
call fcn.00406883
add esp, 0x20
cmp dword [ebp - 0x1e0], 7
jne case.0x4175a4.11
call fcn.00406c1e
jmp 0x41b3ae
mov edi, dword [ebp - 0x1dc]
push dword [edi + 4]
push dword [ebp - 0x1e4]
call fcn.00429dfb
pop ecx
pop ebx
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
push dword [eax + 0xc]
push dword [eax + 4]
push dword [ebp - 0x1e4]
call fcn.0041271e
add esp, 0xc
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
push dword [edx + 0xc]
push dword [edx + 4]
push dword [ebp - 0x1e4]
call fcn.0041243f
add esp, 0xc
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
push dword [ecx + 0xc]
push dword [ecx + 4]
push dword [ebp - 0x1e4]
call fcn.0041e76e
add esp, 0xc
jmp case.0x4175a4.11
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x130]
xor ebx, ebx
mov ecx, dword [esi + 0x28]
cmp eax, ecx
jb 0x41acbd
lea edx, [eax + 0x18]
test byte [edx], 4
je 0x41acbd
sub eax, 0x40
inc ebx
sub edx, 0x40
cmp eax, ecx
jae 0x41acad
lea eax, [ebx*4 + 4]
push 1
push eax
call fcn.00406c50
pop edi
test eax, eax
mov dword [ebp - 0x298], eax
pop edx
je 0x41b3ae
xor edx, edx
cmp edx, ebx
jge 0x41acfe
mov esi, dword [ebp - 0x130]
xor ecx, ecx
mov edi, dword [ebp - 0x298]
mov eax, dword [esi + ecx]
sub ecx, 0x40
mov dword [edi + edx*4], eax
inc edx
cmp edx, ebx
jl 0x41acea
mov eax, dword [ebp - 0x298]
mov dword [eax + edx*4], 0
mov edx, ebx
lea eax, [ebp - 0x130]
call fcn.004172eb
push ebx
push dword [ebp - 0x298]
mov ebx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e4]
add dword [ebp - 0x130], 0x40
imul eax, dword [ebx + 8], 0x18
mov edx, dword [ecx + 4]
push dword [eax + edx + 4]
call fcn.0041101c
add esp, 0xc
mov ebx, eax
test eax, eax
je 0x41ad57
cmp byte [eax], 0
jne 0x41ad73
push eax
call fcn.00406120
pop esi
mov eax, dword [ebp - 0x130]
mov dword [eax + 0x10], 0x63e2bb
mov dword [eax + 0x14], 2
mov word [eax + 0x18], 0xa2
jmp 0x41ad99
mov edx, dword [ebp - 0x130]
or ecx, 0xffffffff
cld
mov dword [edx + 0x10], eax
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov word [edx + 0x18], 0x62
mov dword [edx + 0x14], ecx
mov dword [edx + 0x1c], 0
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1b], 1
movzx eax, byte [ebp - 0x1e5]
push eax
push dword [ebp - 0x130]
call fcn.00408b20
push dword [ebp - 0x298]
call fcn.00406120
add esp, 0xc
jmp case.0x4175a4.11
push dword [ebp - 0x130]
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x64
push eax
call fcn.0041b617
sub dword [ebp - 0x130], 0x40
add esp, 0x10
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1e4]
test byte [esi + 8], 4
jne 0x41b438
lea eax, [ebp - 0x1cc]
push eax
mov eax, dword [ebp + 8]
add eax, 0x64
push eax
call fcn.0041b681
pop ecx
cmp eax, 0x65
pop ebx
jne 0x41ae39
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0x1d8], eax
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1c8]
lea ebx, [eax + 0x40]
mov dword [eax + 0x40], edx
mov dword [ebp - 0x130], ebx
mov dword [eax + 0x44], ecx
mov word [ebx + 0x18], 4
jmp case.0x4175a4.11
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0x70]
cmp ebx, dword [edx + 0x74]
lea eax, [ebx + 1]
mov dword [edx + 0x70], eax
jl 0x41ae9a
mov dword [edx + 0x74], eax
imul eax, ebx, 0x18
add eax, 0x18
push eax
mov eax, edx
add eax, 0x78
push eax
call fcn.00406e93
mov ecx, dword [ebp + 8]
pop eax
pop edx
cmp dword [ecx + 0x78], 0
je 0x41b3ae
imul ecx, ebx, 0x18
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x1e4]
add ecx, dword [ebx + 0x78]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [ecx], eax
mov eax, dword [ebx + 0x23c]
mov dword [ecx + 8], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 0x64]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x68]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 0x6c]
mov dword [ecx + 0x14], eax
mov eax, ebx
add eax, 0x64
push eax
call fcn.0041b603
pop eax
jmp case.0x4175a4.11
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x1e4]
mov ebx, dword [edi + 0x70]
dec ebx
mov dword [edi + 0x70], ebx
imul ebx, ebx, 0x18
add ebx, dword [edi + 0x78]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ecx + 0x20], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x23c], eax
mov eax, edi
add eax, 0x64
mov dword [ecx + 0x24], edx
push eax
call fcn.0041b6db
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x68], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x6c], eax
pop eax
jmp case.0x4175a4.11
push dword [ebp - 0x130]
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 4]
shl eax, 6
add eax, dword [esi + 0x58]
push eax
call fcn.00409033
sub dword [ebp - 0x130], 0x40
pop esi
mov dword [ebp - 0x1e0], eax
pop edi
cmp dword [ebx + 8], 0
jne case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x130]
mov eax, dword [edi + 4]
push 0x100
shl eax, 6
add edx, 0x40
add eax, dword [ecx + 0x58]
mov dword [ebp - 0x130], edx
push eax
push edx
call fcn.00408fc6
add esp, 0xc
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
mov ebx, dword [esi + 4]
shl ebx, 6
add ebx, dword [edi + 0x58]
push ebx
call fcn.00408ef8
push dword [ebp - 0x130]
call fcn.00408ef8
mov eax, dword [ebp - 0x130]
mov edi, dword [ebx + 4]
mov edx, dword [eax + 4]
pop ecx
mov esi, dword [ebx]
mov eax, dword [eax]
pop ecx
cmp edi, edx
jg case.0x4175a4.11
jl 0x41afe0
cmp esi, eax
jae case.0x4175a4.11
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
mov ecx, edx
sar ecx, 0x1f
add dword [eax], edx
adc dword [eax + 4], ecx
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
mov edx, dword [eax + 4]
mov eax, dword [eax]
test edx, edx
jl case.0x4175a4.11
jg 0x41b038
cmp eax, 0
jbe case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax + 8]
dec edx
mov dword [ebp - 0x1d8], edx
jmp case.0x4175a4.11
mov ecx, dword [ebp - 0x1dc]
mov ebx, dword [ebp + 8]
mov eax, dword [ecx + 4]
shl eax, 6
add eax, dword [ebx + 0x58]
cmp dword [eax + 4], 0
jns case.0x4175a4.11
mov esi, dword [ecx + 8]
dec esi
mov dword [ebp - 0x1d8], esi
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 4]
shl eax, 6
add eax, dword [edx + 0x58]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov ecx, edx
or ecx, eax
jne case.0x4175a4.11
mov ebx, dword [edi + 8]
dec ebx
mov dword [ebp - 0x1d8], ebx
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
push eax
call fcn.00408f5a
pop ecx
jmp case.0x4175a4.11
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1dc]
mov ebx, dword [ebp + 8]
mov eax, dword [edx + 4]
cdq
push edx
push eax
mov eax, dword [ecx + 8]
shl eax, 6
add eax, dword [ebx + 0x58]
push eax
call fcn.00408f7d
add esp, 0xc
jmp case.0x4175a4.11
mov esi, dword [ebp - 0x1dc]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 8]
mov edx, dword [edi + 0x58]
shl eax, 6
lea eax, [edx + eax]
push eax
mov eax, dword [esi + 4]
shl eax, 6
add edx, eax
push edx
call fcn.00409033
mov dword [ebp - 0x1e0], eax
pop eax
pop edx
jmp case.0x4175a4.11
mov eax, dword [ebp - 0x1dc]
mov ebx, 1
mov edx, dword [ebp + 8]
xor esi, esi
mov edi, dword [eax + 8]
sub ebx, edi
mov edx, dword [edx + 0x30]
shl ebx, 6
mov dword [ebp - 0x29c], edx
add ebx, dword [ebp - 0x130]
cmp esi, edi
jge 0x41b164
mov ecx, dword [ebp - 0x29c]
mov eax, ebx
mov dword [ecx + esi*4], ebx
inc esi
call fcn.004172b0
add ebx, 0x40
jmp 0x41b14a
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp + 8]
mov word [ebp - 0x10c], 1
mov dword [ebp - 0x108], 0
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
shl eax, 6
mov dword [ebp - 0x12c], edx
add eax, dword [esi + 0x58]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], 0
inc dword [eax + 0x14]
mov byte [ebp - 0xe0], 0
cmp byte [edx + 3], 0
je 0x41b1c5
mov eax, dword [ebx - 8]
mov dword [ebp - 0xdc], eax
push dword [ebp - 0x29c]
lea eax, [ebp - 0x12c]
push edi
push eax
mov eax, dword [ebp - 0x12c]
call dword [eax + 0x14]
mov edx, edi
lea eax, [ebp - 0x130]
call fcn.004172eb
add esp, 0xc
cmp byte [ebp - 0xe0], 0
je 0x41b221
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.0040b226
mov dword [esp], eax
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00406c82
mov dword [ebp - 0x1e0], 1
add esp, 0xc
lea eax, [ebp - 0x124]
push eax
call fcn.00408d7f
pop eax
jmp case.0x4175a4.11
mov edi, dword [ebp - 0x1dc]
mov eax, dword [ebp + 8]
mov ebx, dword [edi + 4]
shl ebx, 6
add ebx, dword [eax + 0x58]
push dword [edi + 0xc]
push ebx
call fcn.00408d04
pop esi
pop edi
mov dword [ebp - 0x1e0], eax
dec eax
jne case.0x4175a4.11
push 0
push ebx
call fcn.0040b226
mov dword [esp], eax
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00406c82
add esp, 0xc
jmp case.0x4175a4.11
push dword [ebp - 0x1e4]
call fcn.004068b7
pop ebx
test eax, eax
jne 0x41b3f6
push dword [ebp - 0x1e4]
mov eax, dword [ebp + 8]
add eax, 0x230
push eax
call fcn.00429f55
push dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], eax
call fcn.00406883
add esp, 0xc
test eax, eax
je case.0x4175a4.11
jmp 0x41b3f6
mov edx, dword [ebp - 0x1dc]
cmp dword [edx + 4], 0
jne 0x41b2e1
push dword [ebp - 0x1e4]
call fcn.00408af6
pop ecx
jmp case.0x4175a4.11
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x238], 1
jmp case.0x4175a4.11
mov ebx, dword [ebp - 0x1dc]
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x1f
test al, al
je 0x41b301
not ecx
movzx eax, al
push eax
mov esi, dword [ebp - 0x1dc]
imul eax, ecx, 0x18
push dword [esi + 8]
mov edi, dword [ebp - 0x1e4]
mov edx, dword [edi + 4]
push dword [eax + edx + 4]
call fcn.004116a7
add esp, 0xc
cmp eax, 6
mov dword [ebp - 0x1e0], eax
jne case.0x4175a4.11
push 0
mov eax, dword [ebp + 8]
push dword [esi + 0xc]
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.00406c82
add esp, 0x10
inc dword [ebp - 0x1d8]
cmp dword [ebp - 0x1e0], 0
je 0x417518
jmp 0x41b36a
cmp dword [ebp - 0x1e0], 0
je 0x41b385
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e0], 1
mov dword [eax + 0x80], edx
jmp 0x41b38f
mov dword [ebp - 0x1e0], 0x65
push dword [ebp + 8]
call fcn.00407b6e
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x130]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x1e0]
jmp 0x41b4e5
mov eax, dword [ebp + 8]
push 0
add eax, 0x230
push 0x63e2d9
push eax
call fcn.00406c82
add esp, 0xc
mov dword [ebp - 0x1e0], 7
jmp 0x41b36a
mov dword [ebp - 0x1e0], 0x14
jmp 0x41b400
mov dword [ebp - 0x1e0], 0xb
jmp 0x41b400
mov dword [ebp - 0x1e0], 0xd
jmp 0x41b400
mov dword [ebp - 0x1e0], 0x15
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x230], 0
jne 0x41b361
call fcn.00406bc0
test eax, eax
je 0x41b423
mov dword [ebp - 0x1e0], 7
push 0
push dword [ebp - 0x1e0]
call fcn.0040463b
mov dword [esp], eax
mov eax, dword [ebp + 8]
jmp 0x41b471
mov esi, dword [ebp - 0x1e4]
xor eax, eax
mov edi, dword [ebp + 8]
and dword [esi + 8], 0xfffffffb
cmp dword [esi + 0x30], 0xf03b7906
setne al
dec eax
and eax, 0xfffffff4
add eax, 0x15
mov dword [edi + 0x80], eax
mov dword [ebp - 0x1e0], eax
push 0
push eax
call fcn.0040463b
mov dword [esp], eax
mov eax, edi
add eax, 0x230
push eax
call fcn.00406c82
add esp, 0xc
jmp 0x41b361
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x1d8]
mov dword [edx + 0x2c], eax
mov al, 1
sub al, bl
mov ebx, dword [ebp - 0x1e4]
mov dword [edx + 0x7c], ecx
mov byte [ebx + 0x10], al
mov dword [edx + 0x80], 5
jmp 0x41b4e0
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x130]
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], 5
mov dword [esi + 0x2c], eax
jmp 0x41b4e0
mov eax, dword [ebp + 8]
mov dword [eax + 0x80], 5
mov eax, 5
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret