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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c0
mov eax, dword [0x58d038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ebx, dword [esi + 0x68]
mov edx, dword [esi + 0x58]
push edi
mov edi, dword [esi]
mov cl, byte [edi + 0x4e]
xor eax, eax
push esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x55], al
mov byte [ebp - 0x4c], cl
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x1c], edx
call fcn.004c0dd0
add esp, 4
cmp dword [edi + 0x158], 0
je 0x5300cf
mov edi, dword [edi + 0x160]
mov eax, dword [esi + 0xb4]
xor edx, edx
div edi
sub edi, edx
mov dword [ebp - 0x6c], edi
jmp 0x5300d6
mov dword [ebp - 0x6c], 0xffffffff
cmp dword [esi + 0x28], 7
je 0x5330c1
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov edi, esi
mov dword [edi + 0x28], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x78], eax
mov dword [ecx + 0x1ac], eax
mov eax, dword [ecx + 0x110]
test eax, eax
jne 0x53534b
mov eax, dword [edi + 0x24]
lea ecx, [eax + eax*4]
mov edx, ebx
lea ebx, [edx + ecx*4]
mov cl, byte [ebx]
inc dword [ebp - 0x9c]
movzx eax, cl
cmp eax, 0xaa
ja case.0x530128.85
jmp dword [eax*4 + 0x535530]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov edx, 4
mov word [ecx + 8], dx
mov edx, ebx
sub edx, dword [ebp - 0x48]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x534ee2
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x48]
lea ebx, [ecx + edx*4]
mov edx, 0x80
mov word [eax + 8], dx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [ecx + 4], edx
mov edx, 4
mov dword [ecx], eax
mov word [ecx + 8], dx
cmp dword [ebx + 8], 0
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*4 - 0x14]
mov edx, 0x80
mov word [eax + 8], dx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
sub ebx, dword [ebp - 0x48]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov esi, dword [ecx]
mov edx, 4
mov word [ecx + 8], dx
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x48]
lea eax, [esi + esi*4]
lea ebx, [ecx + eax*4]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
test byte [eax + edx*8 + 8], 1
je case.0x530128.85
mov ecx, ebx
sub ecx, dword [ebp - 0x48]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebx + 4], 0
mov dword [ebp - 0x40], eax
jne 0x534f95
mov esi, dword [edi + 0xc8]
test esi, esi
je 0x534f95
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x2c]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], ecx
mov ecx, dword [ebp - 0x24]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
call fcn.00515890
cmp dword [ebx + 8], 4
jne 0x5302a6
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + edx*4 + 8]
dec eax
mov ebx, dword [edi + 0x68]
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0x48], ebx
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*4]
mov dword [ebp - 0x1c], ecx
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, 8
mov word [eax + 8], dx
mov ecx, dword [ebx + 0x10]
fld qword [ecx]
add ebx, 0x14
fstp qword [eax]
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov esi, eax
mov eax, dword [ebx + 0x10]
call fcn.004ae510
cmp byte [ebp - 0x4c], 1
mov dword [ebx + 4], eax
je 0x53039e
mov eax, dword [ebx + 0x10]
push 0
push 1
push eax
or eax, 0xffffffff
mov ecx, esi
call fcn.004d1fb0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x534336
movzx ecx, byte [ebp - 0x4c]
mov eax, esi
call fcn.004d1ef0
test eax, eax
jne 0x5330c1
mov edx, 0x800
or word [esi + 8], dx
mov dword [esi + 0x18], eax
cmp byte [ebx + 1], 0xf9
jne 0x53038b
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x53038b
mov ecx, dword [ebp - 0x24]
call fcn.004ae210
mov edi, dword [ebp - 0x28]
mov byte [ebx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x24]
cmp edx, dword [eax + 0x6c]
jg 0x534336
mov byte [ebx], 0x47
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, eax
mov edx, 0xa02
mov word [ecx + 8], dx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [ebx + 4]
mov al, byte [ebp - 0x4c]
mov dword [ecx + 0xc], edx
mov byte [ecx + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x534eef
lea esi, [eax + eax*4]
movzx eax, word [ebx + 2]
cdq
mov dword [ebp - 0x25c], edx
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + esi*8]
cmp edx, eax
jne 0x534eef
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + esi*8 + 4]
cmp edx, dword [ebp - 0x25c]
jne 0x534eef
mov eax, 0xa10
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov esi, dword [ebx + 0xc]
sub esi, dword [ebx + 8]
mov ecx, dword [ebx + 4]
neg ecx
sbb ecx, ecx
and ecx, 0x100
inc ecx
movzx ecx, cx
mov word [eax + 8], cx
add eax, 0xc
mov dword [ebp - 0x34], ecx
mov dword [eax], 0
test esi, esi
jle 0x534eef
mov dword [ebp - 0x18], eax
lea esp, [esp]
mov eax, dword [ebp - 0x18]
add eax, 0x28
mov dword [ebp - 0x18], eax
add eax, 0xfffffff4
call fcn.004b3ec0
mov eax, dword [ebp - 0x18]
mov dx, word [ebp - 0x34]
dec esi
mov word [eax - 4], dx
mov dword [eax], 0
test esi, esi
jg 0x530460
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
mov dx, word [ecx + eax*8 + 8]
lea eax, [ecx + eax*8]
mov ecx, 0xff41
and dx, cx
or dx, 1
mov word [eax + 8], dx
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebx + 0x10]
push 0
mov esi, eax
mov eax, dword [ebx + 4]
push 0
push edx
mov ecx, esi
call fcn.004d1fb0
mov al, byte [ebp - 0x4c]
add esp, 0xc
mov byte [esi + 0xa], al
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x64]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8 - 0x28]
mov dword [ebp - 0x18], ecx
call fcn.004b3fc0
test eax, eax
jne 0x534336
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edx, 0x2400
test word [esi + 8], dx
je 0x530521
mov eax, esi
call fcn.004b3ec0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [esi + 0x10], eax
mov cx, word [esi + 8]
mov edx, 0xebff
and cx, dx
mov eax, 0x840
or cx, ax
mov word [esi + 8], cx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0xc]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x18], ecx
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov edi, edi
mov edx, dword [ebp - 0x2c]
push edx
mov eax, esi
call fcn.004b4070
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x5305ab
mov eax, esi
call fcn.004cd750
test eax, eax
jne 0x5330c1
mov edi, dword [ebp - 0x28]
add dword [ebp - 0x2c], 0x28
add esi, 0x28
dec dword [ebp - 0x18]
jne 0x530580
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea edi, [ecx + edx*8]
lea esi, [ecx + eax*8]
lea ebx, [ebx]
push 0x1000
push edi
push esi
call fcn.004b4010
mov ecx, 0x1000
add esp, 0xc
test word [esi + 8], cx
je 0x530609
mov eax, esi
call fcn.004cd750
test eax, eax
jne 0x5330c1
mov eax, dword [ebp - 0x18]
mov edx, eax
dec eax
mov dword [ebp - 0x18], eax
test edx, edx
je 0x534eef
add esi, 0x28
add edi, 0x28
jmp 0x5305e0
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
push 0x1000
lea eax, [eax + eax*4]
push edx
lea ecx, [ecx + eax*8]
push ecx
call fcn.004b4010
add esp, 0xc
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
push edx
push ecx
mov ecx, dword [ebx + 8]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
call fcn.004b3f20
add esp, 8
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
movzx eax, word [edx + 8]
mov dword [ebp - 0x2c], edx
mov dl, byte [esi + 8]
or dl, al
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], eax
test dl, 1
je 0x5306c0
mov eax, ecx
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
test al, 0x12
jne 0x5306f3
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x2c]
push 0
push eax
call fcn.004d1f10
add esp, 8
test eax, eax
jne 0x5330c1
mov ecx, edi
mov dx, word [ecx + 8]
mov eax, 0xfffd
and dx, ax
movzx ecx, dx
mov dword [ebp - 0x34], ecx
jmp 0x53071e
test eax, 0x4000
je 0x530721
mov esi, dword [ebp - 0x2c]
call fcn.004c6190
test eax, eax
jne 0x5330c1
mov edx, esi
mov ax, word [edx + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x34], edx
mov esi, dword [ebp - 0x20]
movzx eax, word [esi + 8]
mov dword [ebp - 0x18], eax
test al, 0x12
jne 0x53074f
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x20]
push 0
push eax
call fcn.004d1f10
add esp, 8
test eax, eax
jne 0x5330c1
mov ecx, edi
mov dx, word [ecx + 8]
mov esi, edi
jmp 0x53076a
test eax, 0x4000
je 0x530778
call fcn.004c6190
test eax, eax
jne 0x5330c1
mov esi, dword [ebp - 0x20]
mov dx, word [esi + 8]
mov eax, 0xfffd
and dx, ax
movzx ecx, dx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [esi + 0xc]
add eax, dword [edx + 0xc]
cdq
mov edi, eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x6c]
mov ecx, edx
cdq
mov dword [ebp - 0x268], edi
cmp ecx, edx
jg 0x534336
jl 0x5307a5
cmp edi, eax
ja 0x534336
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, esi
sete cl
add edi, 3
push ecx
push edi
call fcn.004c5fc0
add esp, 8
test eax, eax
jne 0x5330c1
mov esi, dword [ebp - 0x30]
mov dx, word [esi + 8]
mov edi, dword [ebp - 0x20]
mov eax, 0x3e40
and dx, ax
or dx, 2
mov word [esi + 8], dx
cmp esi, edi
je 0x5307fe
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov eax, dword [esi + 0x10]
push ecx
push edx
push eax
call fcn.00480500
mov cx, word [ebp - 0x18]
add esp, 0xc
mov word [edi + 8], cx
mov edi, dword [ebp - 0x2c]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov eax, dword [edi + 0x10]
push edx
mov edx, dword [ecx + 0xc]
add edx, dword [esi + 0x10]
push eax
push edx
call fcn.00480500
mov ax, word [ebp - 0x34]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x268]
mov ecx, dword [esi + 0x10]
mov edi, dword [ebp - 0x28]
mov byte [eax + ecx], 0
mov edx, dword [esi + 0x10]
mov byte [eax + edx + 1], 0
mov ecx, dword [esi + 0x10]
mov byte [eax + ecx + 2], 0
add esp, 0xc
mov edx, 0x200
or word [esi + 8], dx
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x4c]
mov byte [esi + 0xa], al
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov ecx, esi
call fcn.004c75f0
mov edx, dword [ebp - 0x1c]
movzx eax, ax
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x20], ecx
call fcn.004c75f0
mov edx, dword [ebp - 0x1c]
movzx ecx, ax
mov eax, dword [ebx + 0xc]
and cl, byte [ebp - 0x18]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov ax, word [edx + 8]
or ax, word [esi + 8]
movzx eax, ax
test cl, 4
je 0x5309b5
mov edx, dword [edx]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 4]
mov dword [ebp - 0x74], edx
movzx edx, byte [ebx]
add edx, 0xffffff97
cmp edx, 3
ja case.default.0x5308d8
jmp dword [edx*4 + 0x5357dc]
push ecx
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.004af120
add esp, 0xc
test eax, eax
jne 0x5309bd
jmp 0x53098b
push ecx
push eax
lea edx, [ebp - 0x78]
call fcn.004af1c0
add esp, 8
test eax, eax
jne 0x5309bd
jmp 0x53098b
push ecx
push eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.004af210
add esp, 0xc
test eax, eax
jne 0x5309bd
jmp 0x53098b
mov edx, eax
or edx, ecx
je 0x530aac
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x53094b
cmp dword [ebp - 0x78], 0
jne 0x53094b
cmp dword [ebp - 0x74], 0x80000000
je 0x5309bd
push ecx
mov ecx, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x74]
push eax
push ecx
call fcn.004818d0
jmp 0x530985
mov edx, eax
or edx, ecx
je 0x530aac
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x530976
mov eax, 1
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x74]
push eax
push ecx
call fcn.0053ab50
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [eax], edx
mov dx, word [eax + 8]
mov dword [eax + 4], ecx
mov ecx, 0x3e40
and dx, cx
or dx, 4
mov word [eax + 8], dx
add ebx, 0x14
jmp 0x530112
test al, 1
jne 0x530aac
mov ecx, esi
call fcn.004b3c10
fstp qword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
call fcn.004b3c10
movzx eax, byte [ebx]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x5309da
jmp dword [eax*4 + 0x5357ec]
fadd qword [ebp - 0x44]
jmp 0x530a75
fsub qword [ebp - 0x44]
jmp 0x530a75
fmul qword [ebp - 0x44]
jmp 0x530a75
fld qword [ebp - 0x44]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x530aa8
fdivp st(1)
jmp 0x530a75
mov ecx, esi
fstp st(0)
call fcn.004b3ba0
mov ecx, dword [ebp - 0x20]
mov esi, eax
mov dword [ebp - 0x128], edx
call fcn.004b3ba0
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x74], edx
mov edx, esi
or edx, ecx
mov dword [ebp - 0x78], eax
je 0x530aac
mov edx, esi
and edx, ecx
cmp edx, 0xffffffff
jne 0x530a57
mov dword [ebp - 0x128], 0
mov ecx, dword [ebp - 0x128]
mov esi, 1
push ecx
mov ecx, dword [ebp - 0x74]
push esi
push ecx
push eax
call fcn.0053ab50
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
fild qword [ebp - 0x1a8]
sub esp, 8
fst qword [esp]
call fcn.004ae4e0
add esp, 8
test eax, eax
jne 0x530aaa
mov eax, dword [ebp - 0x30]
mov dx, word [eax + 8]
fstp qword [eax]
mov ecx, 0x3e40
and dx, cx
or dx, 8
mov word [eax + 8], dx
add ebx, 0x14
jmp 0x530112
fstp st(1)
fstp st(0)
mov eax, dword [ebp - 0x30]
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
test eax, eax
je case.0x530128.85
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
push 0
push 0
lea eax, [eax + edx*8]
call fcn.004b3f20
add esp, 8
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + ecx*8]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dl, byte [ecx + 8]
or dl, byte [esi + 8]
mov dword [ebp - 0x30], eax
test dl, 1
je 0x530b1d
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
call fcn.004b3ba0
mov ecx, esi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.004b3ba0
mov esi, eax
mov al, byte [ebx]
cmp al, 0x65
jne 0x530b42
and dword [ebp - 0x64], esi
and dword [ebp - 0x60], edx
jmp 0x530c20
cmp al, 0x66
jne 0x530b51
or dword [ebp - 0x64], esi
or dword [ebp - 0x60], edx
jmp 0x530c20
mov ecx, esi
or ecx, edx
je 0x530c20
test edx, edx
jg 0x530b89
jl 0x530b65
test esi, esi
jae 0x530b7e
mov cl, 0xcf
sub cl, al
mov al, cl
cmp edx, 0xffffffff
jl 0x530b89
jg 0x530b77
cmp esi, 0xffffffc0
jbe 0x530b89
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x530bb2
jg 0x530b89
cmp esi, 0x40
jb 0x530bb2
cmp dword [ebp - 0x60], 0
jg 0x530ba7
jl 0x530b97
cmp dword [ebp - 0x64], 0
jae 0x530ba7
cmp al, 0x67
je 0x530ba7
or eax, 0xffffffff
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x530c20
xor eax, eax
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x530c20
mov edx, dword [ebp - 0x60]
cmp al, 0x67
mov eax, dword [ebp - 0x64]
mov ecx, esi
jne 0x530bd1
call fcn.00484e40
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
jmp 0x530c0e
call fcn.00484880
cmp dword [ebp - 0x60], 0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
jg 0x530c0e
jl 0x530bf0
cmp dword [ebp - 0x64], 0
jae 0x530c0e
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00484e40
or dword [ebp - 0xa8], eax
or dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [eax], ecx
mov cx, word [eax + 8]
mov dword [eax + 4], edx
mov edx, 0x3e40
and cx, dx
or cx, 4
mov word [eax + 8], cx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.004b3cf0
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea esi, [eax + edx*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x530cb9
test al, 8
jne 0x530c96
test al, 2
je 0x530c9b
push 1
mov eax, esi
call fcn.004b56f0
add esp, 4
jmp 0x530c9b
call fcn.004b3c80
movzx eax, word [esi + 8]
test al, 4
jne 0x530cb9
cmp dword [ebx + 8], 0
jne 0x534ee2
mov dword [ebp - 0x14], 0x14
jmp 0x53434d
and eax, 0x3e40
or eax, 4
mov word [esi + 8], ax
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 0x24
lea esi, [edx + ecx*8]
je case.0x530128.85
call fcn.004b3d50
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edx, 0x4000
test word [esi + 8], dx
je 0x530d18
call fcn.004c6190
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebx + 8]
push eax
mov eax, esi
call fcn.004d8f10
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea edx, [ecx + edx*8]
mov dword [ebp - 0x2c], edx
movzx edx, word [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [ebp - 0x30], edx
movzx edx, word [esi + 8]
mov eax, edx
or eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], edx
test al, 1
je 0x530df5
movzx eax, word [ebx + 2]
test al, al
jns 0x530daf
mov al, dl
mov cl, al
and cl, byte [ebp - 0x30]
test cl, 1
je 0x530d9c
test edx, 0x100
jne 0x530d9c
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x569a04]
xor eax, eax
jmp 0x530e7f
test al, 1
mov eax, 0
sete al
lea eax, [eax + eax - 1]
jmp 0x530fad
test al, 0x20
je 0x530de2
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov cx, word [eax + 8]
mov edx, 0x3e40
and cx, dx
or cx, 1
mov dword [ebp - 0x84], 1
mov word [eax + 8], cx
add ebx, 0x14
jmp 0x530112
test al, 0x10
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov cl, byte [ebx + 2]
and cl, 0x47
cmp cl, 0x43
jl 0x530f1b
test al, 2
je 0x530e3c
mov al, byte [ebp - 0x30]
and al, 0x2e
cmp al, 2
jne 0x530e25
mov eax, dword [ebp - 0x2c]
push 0
call fcn.004b56f0
movzx ecx, word [esi + 8]
add esp, 4
mov dword [ebp - 0x20], ecx
mov dl, byte [ebp - 0x20]
and dl, 0x2e
cmp dl, 2
jne 0x530e3c
push 0
mov eax, esi
call fcn.004b56f0
add esp, 4
mov edx, dword [ebp - 0x2c]
mov al, byte [edx + 8]
and al, byte [esi + 8]
test al, 4
je 0x530f9d
mov edx, dword [edx]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebp - 0x158], edx
mov edx, dword [ebp - 0x2c]
cmp eax, dword [edx + 4]
jl 0x530eef
jg 0x530e70
cmp ecx, dword [ebp - 0x158]
jbe 0x530eef
mov eax, 1
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x569a0c]
mov cx, word [ebp - 0x20]
mov word [esi + 8], cx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], edx
mov dx, word [ebp - 0x30]
mov word [ecx + 8], dx
movzx edx, word [ebx + 2]
test dl, 0x20
je 0x530fd5
mov ecx, dword [ebx + 8]
mov esi, dword [ebp - 0x1c]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0x84], eax
test dl, 8
je 0x530eca
xor edx, edx
cmp byte [ebx], 0x35
sete dl
cmp edx, dword [ebp - 0x3c]
je 0x534eef
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x3c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebp - 0x2c]
cmp eax, dword [edx + 4]
jg 0x530d8b
jl 0x530f09
cmp ecx, dword [ebp - 0x158]
jae 0x530d8b
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x5699fc]
or eax, 0xffffffff
jmp 0x530e7f
cmp cl, 0x42
jne 0x530f9d
mov al, byte [ebp - 0x30]
test al, 2
jne 0x530f68
test al, 0x2c
je 0x530f68
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x2c]
push 1
push eax
call fcn.004d1f10
mov ax, word [ebp - 0x30]
mov ecx, edi
mov dx, word [ecx + 8]
xor dx, ax
mov edi, 0x3e40
and dx, di
xor ax, dx
add esp, 8
mov word [ebp - 0x30], ax
cmp ecx, esi
jne 0x530f68
mov eax, dword [ebp - 0x30]
or eax, 2
movzx ecx, ax
mov dword [ebp - 0x20], ecx
mov al, byte [ebp - 0x20]
test al, 2
jne 0x530f9d
test al, 0x2c
je 0x530f9d
mov edx, dword [ebp - 0x4c]
push 1
push edx
mov edi, esi
call fcn.004d1f10
mov ax, word [ebp - 0x20]
mov cx, word [esi + 8]
xor cx, ax
mov edx, 0x3e40
and cx, dx
add esp, 8
xor ax, cx
mov word [ebp - 0x20], ax
mov edi, dword [ebx + 0x10]
mov edx, dword [ebp - 0x2c]
mov eax, esi
call fcn.004d2510
mov edi, dword [ebp - 0x28]
test eax, eax
jns 0x530fc0
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x5699fc]
jmp 0x530e7f
jne 0x530e75
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x569a04]
jmp 0x530e7f
cmp dword [ebp - 0x3c], 0
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
cmp dword [ebp - 0x84], 0
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
test byte [ebx + 2], 1
jne 0x53100f
xor esi, esi
mov dword [ebp - 0x18], esi
jmp 0x53101a
mov eax, dword [ebx - 4]
add eax, 4
mov dword [ebp - 0x18], eax
mov esi, eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], eax
test ecx, ecx
jle case.0x530128.85
add edx, 0x14
mov dword [ebp - 0x34], edx
jmp 0x53104a
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x531056
mov ecx, dword [esi + eax*4]
mov dword [ebp - 0x3c], ecx
jmp 0x531059
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x34]
mov edi, dword [edx]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x38]
movzx esi, byte [edx + ecx]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
add eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + edx*8]
mov eax, dword [ebp - 0x30]
add eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea eax, [eax + ecx*8]
and esi, 1
call fcn.004d2510
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x5310b7
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x34], 4
inc eax
mov dword [ebp - 0x38], eax
cmp eax, dword [ebp - 0x40]
jl 0x531047
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x38]
test byte [ecx + edx], 2
je 0x5310f3
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x3c]
lea ecx, [edi + edx]
mov edx, dword [ebp - 0x1c]
lea ecx, [ecx + ecx*4]
test byte [edx + ecx*8 + 8], 1
jne 0x5310eb
mov ecx, dword [ebp - 0x2c]
add ecx, edi
lea ecx, [ecx + ecx*4]
test byte [edx + ecx*8 + 8], 1
je 0x5310f3
neg eax
mov dword [ebp - 0x84], eax
test esi, esi
je 0x534eef
mov edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x28]
neg edx
mov dword [ebp - 0x84], edx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebp - 0x84]
test eax, eax
jns 0x531133
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x48]
lea eax, [ebx + ebx*4]
lea ebx, [ecx + eax*4 - 0x14]
add ebx, 0x14
jmp 0x530112
jne 0x53114a
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x48]
lea edx, [ebx + ebx*4]
lea ebx, [eax + edx*4 - 0x14]
add ebx, 0x14
jmp 0x530112
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x48]
lea ecx, [ebx + ebx*4]
lea ebx, [edx + ecx*4 - 0x14]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
push 2
lea ecx, [ecx + eax*8]
call fcn.004b3c30
mov esi, eax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
push 2
lea ecx, [eax + edx*8]
call fcn.004b3c30
add esp, 8
cmp byte [ebx], 0x2c
jne 0x53119c
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x569a48]
jmp 0x5311a7
lea edx, [eax + esi*2]
movzx eax, byte [esi + edx + 0x569a54]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
cmp eax, 2
jne 0x5311d4
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
or ax, 1
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x530112
cdq
mov dword [ecx], eax
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0x3e40
and ax, dx
or ax, 4
mov word [ecx + 8], ax
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x1c]
push eax
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea ecx, [esi + ecx*8]
call fcn.004b3c30
xor eax, dword [ebx + 0x10]
cdq
push edx
push eax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
call fcn.004b3f20
add esp, 0xc
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
jne 0x531267
push 0
call fcn.004b3c30
neg eax
sbb eax, eax
inc eax
cdq
push edx
push eax
mov eax, esi
call fcn.004b3f20
add esp, 0xc
add ebx, 0x14
jmp 0x530112
mov eax, esi
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edx, [esi + ecx*8]
lea esi, [esi + eax*8]
mov eax, esi
mov dword [ebp - 0x2c], edx
call fcn.004b3ec0
mov ecx, dword [ebp - 0x2c]
test byte [ecx + 8], 1
jne 0x534eef
mov edx, 4
mov word [esi + 8], dx
call fcn.004b3ba0
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x14
jmp 0x530112
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x531329
mov ecx, ebx
sub ecx, dword [edi + 0x68]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov esi, eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x18]
and esi, 7
mov eax, 1
mov ecx, esi
shl eax, cl
shr edi, 3
test byte [edi + edx], al
jne 0x534ee2
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x18]
mov al, 1
mov ecx, esi
shl al, cl
or byte [edi + edx], al
mov edi, dword [ebp - 0x28]
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
add ebx, 0x14
jmp 0x530112
mov ecx, dword [edi + 0x68]
mov edx, dword [ecx + 4]
cmp edx, dword [ebx + 4]
je 0x534ee2
mov edi, dword [ebp - 0x28]
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
push edx
lea ecx, [ecx + eax*8]
call fcn.004b3c30
add esp, 4
test eax, eax
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp dword [ebx + 0xc], edx
lea eax, [eax + eax*4]
sete dl
lea ecx, [ecx + eax*8]
push edx
call fcn.004b3c30
add esp, 4
test eax, eax
je 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
test byte [eax + edx*8 + 8], 1
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 8], 1
je 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx + eax*4]
cmp byte [edx + 2], 0
je case.0x530128.85
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
call fcn.004b3ec0
jmp 0x534ee2
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x94], edx
lea ecx, [ebp - 0x94]
lea edx, [ebp - 0x70]
call fcn.004fc5e0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x70]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x20], edx
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0x30], eax
cmp edx, dword [edi + 0x20]
je 0x531534
cmp byte [esi + 2], 0
je 0x531495
cmp byte [esi], 3
jne 0x531485
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], ecx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x4c], ecx
jmp 0x5314d0
mov eax, dword [ebp - 0x20]
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebp - 0x70]
mov esi, dword [edx + 0x28]
mov ecx, esi
mov dword [ebp - 0x40], esi
call fcn.004b3670
mov ecx, dword [esi + 0x2c]
mov eax, dword [ebp - 0x70]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0x40]
lea esi, [eax + 0x54]
call fcn.004b36b0
mov ecx, dword [ebp - 0x70]
mov dword [ecx + 0x4c], eax
mov edx, dword [ecx + 0x50]
mov eax, dword [ebp - 0x24]
cmp edx, dword [eax + 0x6c]
ja 0x534336
mov esi, ecx
mov ecx, dword [edi + 0x20]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x5314ee
movzx edx, al
mov eax, dword [ebp - 0x30]
mov dword [eax], edx
mov eax, 1
jmp 0x5314fc
mov esi, dword [ebp - 0x30]
call fcn.004af070
mov esi, dword [ebp - 0x70]
movzx eax, al
movzx ecx, al
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x30], ecx
xor edx, edx
mov word [esi + 0x3a], dx
mov ecx, dword [esi + 0x54]
cmp ecx, dword [eax]
jae 0x5315c1
xor ecx, ecx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x54], ecx
mov eax, dword [eax]
cmp eax, 0x18003
ja 0x531705
cmp eax, dword [esi + 0x50]
ja 0x531705
movzx edx, word [esi + 0x3a]
mov eax, dword [ebp - 0x94]
cmp edx, eax
jg 0x53175c
mov eax, dword [esi + 0x30]
mov ecx, dword [ebp - 0x30]
cmp eax, dword [ecx]
jae 0x531722
cmp dword [esi + 0x4c], 0
jne 0x5315c1
xor eax, eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
lea edx, [ebp - 0x1f8]
mov eax, ecx
mov eax, dword [eax]
push edx
mov edx, dword [esi + 0x28]
call fcn.004ee8a0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov ecx, dword [ebp - 0x1e8]
jmp 0x5315c4
mov ecx, dword [esi + 0x4c]
movzx eax, word [esi + 0x3a]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + eax*4]
mov edx, dword [edx]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x30]
add eax, ecx
add edx, ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x18], edx
lea edx, [esi + ecx*4 + 0x58]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], edx
lea ecx, [ecx]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x5c], ecx
mov dword [edx], ecx
cmp ecx, 0x80
jae 0x531630
inc eax
mov dword [ebp - 0x2c], eax
movzx eax, cl
movzx eax, byte [eax + 0x569938]
cdq
add dword [ebp - 0x90], eax
adc dword [ebp - 0x8c], edx
jmp 0x53165e
mov ecx, dword [ebp - 0x2c]
lea esi, [ebp - 0x5c]
call fcn.004af070
mov edx, dword [ebp - 0x34]
movzx ecx, al
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x2c], ecx
mov dword [edx], eax
call fcn.004b44b0
add dword [ebp - 0x90], eax
mov esi, dword [ebp - 0x70]
adc dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x30]
add dword [ebp - 0x34], 4
inc eax
cmp eax, dword [ebp - 0x94]
mov dword [ebp - 0x3c], eax
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x2c]
jg 0x53168b
cmp eax, dword [ebp - 0x18]
jb 0x531600
jmp 0x531690
cmp eax, dword [ebp - 0x18]
jb 0x5316aa
cmp eax, dword [ebp - 0x18]
ja 0x5316c1
mov ecx, dword [esi + 0x50]
cmp dword [ebp - 0x90], ecx
jne 0x5316c1
xor ecx, ecx
cmp dword [ebp - 0x8c], ecx
jne 0x5316c1
mov edx, dword [esi + 0x50]
xor ecx, ecx
cmp dword [ebp - 0x8c], ecx
jb 0x5316d3
ja 0x5316c1
cmp dword [ebp - 0x90], edx
jbe 0x5316d3
mov eax, dword [ebp - 0x30]
cmp dword [eax], 0
jne 0x5316f4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], 0
sub eax, dword [ebp - 0x38]
mov cx, word [ebp - 0x3c]
mov word [esi + 0x3a], cx
mov dword [esi + 0x30], eax
cmp dword [esi + 0x4c], 0
jne 0x531729
lea eax, [ebp - 0x1f8]
call fcn.004b3af0
jmp 0x531729
cmp dword [esi + 0x4c], 0
jne 0x531705
lea eax, [ebp - 0x1f8]
call fcn.004b3af0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x53510e
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*4 - 0x14]
add ebx, 0x14
jmp 0x530112
mov dword [ebp - 0x5c], 0
movzx edx, word [esi + 0x3a]
cmp edx, dword [ebp - 0x94]
jg 0x531763
cmp byte [ebx + 1], 0xf5
jne 0x531485
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x20]
push 0x800
push eax
push ecx
call fcn.004b4010
add esp, 0xc
add ebx, 0x14
jmp 0x530112
mov edx, dword [esi + eax*4 + 0x58]
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x20]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x531778
mov eax, ecx
call fcn.004b3ec0
mov edx, dword [esi + 0x54]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x94]
cmp edx, dword [eax + ecx*4 + 4]
jb 0x531840
mov esi, dword [esi + 0x4c]
add esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], esi
cmp eax, 0xc
jae 0x5317b8
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x5c]
push eax
mov ecx, esi
call fcn.004b45c0
add esp, 4
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x20]
mov cl, byte [ebp - 0x4c]
add eax, 0xfffffff4
shr eax, 1
mov byte [esi + 0xa], cl
lea ecx, [eax + 2]
mov dword [ebp - 0x18], eax
mov dword [esi + 0xc], eax
cmp dword [esi + 0x18], ecx
jge 0x5317f7
mov edx, 1
mov eax, esi
push 0
push ecx
mov word [eax + 8], dx
call fcn.004c5fc0
add esp, 8
test eax, eax
jne 0x5330c1
mov edi, dword [ebp - 0x28]
jmp 0x5317fd
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x10]
push ecx
push edx
push eax
call fcn.00480500
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x10]
mov byte [eax + ecx], 0
mov edx, dword [esi + 0x10]
mov byte [eax + edx + 1], 0
mov eax, dword [ebp - 0x5c]
and eax, 1
mov ax, word [eax*2 + 0x569a60]
add esp, 0xc
mov word [esi + 8], ax
add ebx, 0x14
jmp 0x530112
mov cl, byte [ebp - 0x4c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
mov byte [edx + 0xa], cl
movzx ecx, word [ebx + 2]
test cl, 0xc0
je 0x531862
cmp eax, 0xc
jb 0x53185e
test al, 1
je 0x53186b
test cl, cl
js 0x53186b
call fcn.004b44b0
test eax, eax
jne 0x531887
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x5c]
push eax
mov ecx, 0x569080
call fcn.004b45c0
add esp, 4
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x20]
push ecx
mov ecx, dword [edx + 0x28]
push ecx
mov edi, eax
call fcn.004ee7d0
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov edx, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x10]
push esi
call fcn.004b45c0
mov edi, dword [ebp - 0x28]
add esp, 4
mov edx, 0xefff
and word [esi + 8], dx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edx, dword [ebp - 0x4c]
mov al, byte [edi]
push edx
mov ecx, esi
call fcn.004d3470
add esp, 4
cmp byte [edi], 0x45
jne 0x53194f
movzx ecx, word [esi + 8]
test cl, 4
je 0x53194f
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], eax
cmp eax, 0x7fff
jg 0x53193a
jl 0x531922
cmp edx, 0xffffffff
ja 0x53193a
cmp eax, 0xffff8000
jl 0x53193a
jg 0x53192f
test edx, edx
jb 0x53193a
and ecx, 0xfffb
or ecx, 0x20
jmp 0x53194b
fild qword [ebp - 0x150]
and ecx, 0xfffb
or ecx, 8
fstp qword [esi]
mov word [esi + 8], cx
inc edi
cmp byte [edi], 0
je 0x534eef
add esi, 0x28
jmp 0x5318e5
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8 - 0x28]
mov dword [ebp - 0x38], eax
movzx eax, byte [edi + 0x93]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
test esi, esi
je 0x5319e2
lea edi, [edx + 8]
mov edx, dword [ebp - 0x4c]
mov al, byte [esi]
push edx
lea ecx, [edi - 8]
call fcn.004d3470
add esp, 4
cmp byte [esi], 0x45
jne 0x5319d9
movzx eax, word [edi]
test al, 4
je 0x5319d9
and eax, 0xfffb
or eax, 0x20
mov word [edi], ax
inc esi
add edi, 0x28
cmp byte [esi], 0
jne 0x5319b1
mov edi, dword [ebp - 0x38]
add edi, 0x1c
movzx eax, word [edi - 0x14]
test al, 1
je 0x531a06
and eax, 0x4000
neg eax
sbb eax, eax
and eax, 0xa
inc dword [ebp - 0x2c]
mov dword [edi], eax
jmp 0x531bcc
test al, 0x24
je 0x531b46
mov esi, dword [edi - 0x18]
mov ecx, dword [edi - 0x1c]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x244], esi
test esi, esi
jg 0x531a3e
jl 0x531a30
test ecx, ecx
jae 0x531a3e
mov edx, ecx
not edx
mov dword [ebp - 0x100], edx
not esi
jmp 0x531a44
mov dword [ebp - 0x100], ecx
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x100]
test esi, esi
ja 0x531a8d
jb 0x531a58
cmp edx, 0x7f
ja 0x531a8d
mov eax, ecx
and eax, 1
xor esi, esi
cmp eax, ecx
jne 0x531a7b
cmp esi, dword [ebp - 0x244]
jne 0x531a7b
cmp dword [ebp - 0x40], 4
jl 0x531a7b
add edx, 8
mov dword [edi], edx
jmp 0x531bcc
add dword [ebp - 0x54], 1
mov dword [edi], 1
adc dword [ebp - 0x50], esi
jmp 0x531bcc
xor ecx, ecx
cmp esi, ecx
ja 0x531aef
jb 0x531a9d
cmp edx, 0x7fff
ja 0x531aaf
add dword [ebp - 0x54], 2
mov dword [edi], 2
adc dword [ebp - 0x50], ecx
jmp 0x531bcc
cmp esi, ecx
ja 0x531aef
jb 0x531abd
cmp edx, 0x7fffff
ja 0x531acf
add dword [ebp - 0x54], 3
mov dword [edi], 3
adc dword [ebp - 0x50], ecx
jmp 0x531bcc
cmp esi, ecx
ja 0x531aef
jb 0x531add
cmp edx, 0x7fffffff
ja 0x531aef
add dword [ebp - 0x54], 4
mov dword [edi], 4
adc dword [ebp - 0x50], ecx
jmp 0x531bcc
cmp esi, 0x7fff
ja 0x531b10
jb 0x531afe
cmp edx, 0xffffffff
ja 0x531b10
add dword [ebp - 0x54], 6
mov dword [edi], 5
adc dword [ebp - 0x50], ecx
jmp 0x531bcc
add dword [ebp - 0x54], 8
adc dword [ebp - 0x50], ecx
test al, 0x20
je 0x531b3b
fild qword [ebp - 0x160]
and eax, 0xffdf
or eax, 8
mov word [edi - 0x14], ax
fstp qword [edi - 0x1c]
mov dword [edi], 7
jmp 0x531bcc
mov dword [edi], 6
jmp 0x531bcc
test al, 8
je 0x531b5d
inc dword [ebp - 0x2c]
add dword [ebp - 0x54], 8
mov dword [edi], 7
adc dword [ebp - 0x50], 0
jmp 0x531bcc
mov ecx, dword [edi - 0x10]
mov edx, eax
shr edx, 1
and edx, 1
mov dword [ebp - 0x18], ecx
lea ecx, [edx + ecx*2 + 0xc]
mov dword [ebp - 0x20], ecx
test eax, 0x4000
je 0x531baf
mov eax, dword [edi - 0x1c]
lea esi, [edi - 0x1c]
mov edx, ecx
lea ecx, [edx + eax*2]
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
mov dword [ebp - 0x20], ecx
je 0x531ba2
call fcn.004c6190
test eax, eax
jne 0x5330c1
mov eax, dword [esi]
add dword [ebp - 0x18], eax
jmp 0x531baf
cdq
add dword [ebp - 0xb4], eax
adc dword [ebp - 0xb0], edx
mov ecx, dword [ebp - 0x18]
add dword [ebp - 0x54], ecx
mov esi, dword [ebp - 0x20]
push 0
adc dword [ebp - 0x50], 0
push esi
call fcn.004af0e0
add esp, 8
add dword [ebp - 0x2c], eax
mov dword [edi], esi
lea edx, [edi - 0x1c]
cmp edx, dword [ebp - 0x34]
je 0x531bdc
sub edi, 0x28
jmp 0x5319e8
cmp dword [ebp - 0x2c], 0x7e
jle 0x531c06
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
call fcn.004af0e0
mov esi, eax
mov eax, dword [ebp - 0x2c]
add eax, esi
mov dword [ebp - 0x2c], eax
cdq
push edx
push eax
call fcn.004af0e0
add esp, 0x10
cmp esi, eax
jge 0x531c09
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
cdq
add edi, eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x18]
adc esi, edx
mov ecx, edi
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x110], edx
adc esi, dword [ebp - 0xb0]
cdq
cmp esi, edx
jg 0x531c4f
jl 0x531c42
cmp ecx, eax
ja 0x531c4f
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], ecx
mov esi, eax
jmp 0x531c7c
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x6c]
cdq
cmp esi, edx
jg 0x534336
jl 0x531c68
cmp ecx, eax
ja 0x534336
mov esi, dword [ebp - 0x30]
mov ecx, edi
mov eax, esi
call fcn.004c6120
test eax, eax
jne 0x5330c1
mov eax, 0x10
mov word [esi + 8], ax
mov eax, dword [ebp - 0xb4]
mov ecx, eax
or ecx, dword [ebp - 0xb0]
mov dword [esi + 0xc], edi
je 0x531ca3
mov edx, 0x4010
mov dword [esi], eax
mov word [esi + 8], dx
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0x2c]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x531cbf
mov byte [esi], al
mov eax, 1
jmp 0x531cd5
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
push ecx
push edx
call fcn.004aee90
add esp, 8
mov ecx, dword [ebp - 0x34]
movzx eax, al
add esi, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, 0x80
jae 0x531cf9
mov byte [esi], al
mov eax, 1
jmp 0x531d07
mov eax, dword [ebp - 0x20]
push 0
push eax
call fcn.004aee90
add esp, 8
movzx ecx, al
mov eax, dword [ebp - 0x18]
add esi, ecx
mov ecx, dword [ebp - 0x20]
call fcn.004b44d0
add edi, eax
mov eax, dword [ebp - 0x18]
add eax, 0x28
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x38]
jbe 0x531ce0
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x28]
xor esi, esi
cmp dword [ebx + 0xc], esi
je 0x531d5c
push eax
call fcn.004b3760
add esp, 4
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
jmp 0x531d86
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0xd4]
push edx
push ecx
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], esi
call fcn.004ed8d0
add esp, 8
mov dword [ebp - 0x14], eax
cmp eax, esi
jne 0x53434d
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x534a5c
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x18], eax
test ecx, ecx
jne 0x531e7e
cmp dword [esi + 0xb8], ecx
jg 0x534efa
call fcn.004ae510
mov edx, dword [esi + 0x1e0]
add edx, dword [esi + 0x1dc]
mov dword [ebp - 0x34], eax
push edx
push 0
push esi
call fcn.004b9c20
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x34]
add eax, 0x21
push 0
push eax
mov ecx, esi
call fcn.004bc820
add esp, 8
mov dword [ebp - 0x38], eax
test eax, eax
je 0x534eef
mov edx, dword [ebp - 0x18]
mov ecx, eax
lea eax, [ecx + 0x20]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x34]
inc ecx
push ecx
push edx
push eax
call fcn.00480500
add esp, 0xc
cmp byte [esi + 0x4f], 0
je 0x531e3a
mov byte [esi + 0x4f], 0
mov byte [esi + 0x57], 1
jmp 0x531e40
inc dword [esi + 0x1dc]
mov ecx, dword [esi + 0x1d0]
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x18], ecx
mov edx, dword [esi + 0x1e8]
mov dword [esi + 0x1d0], eax
mov dword [eax + 8], edx
mov ecx, dword [esi + 0x1ec]
mov dword [eax + 0xc], ecx
mov edx, dword [esi + 0x1f0]
mov dword [eax + 0x10], edx
mov ecx, dword [esi + 0x1f4]
mov dword [eax + 0x14], ecx
add ebx, 0x14
jmp 0x530112
mov eax, dword [esi + 0x1d0]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], eax
test eax, eax
je 0x531eb3
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edx, dword [edx]
call fcn.004ae600
test eax, eax
je 0x531ed2
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
inc dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x531e92
mov eax, dword [ebp - 0x18]
push eax
push str.no_such_savepoint:__s
mov esi, edi
call fcn.004d9490
add esp, 8
mov dword [ebp - 0x14], 1
jmp 0x53434d
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp dword [esi + 0xb8], ecx
jle 0x531ee8
cmp eax, 1
je 0x534f12
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], ecx
jne 0x531f3e
cmp byte [esi + 0x57], cl
je 0x531f3e
mov dword [ebp - 0x2c], 1
cmp eax, 1
jne 0x531f41
push eax
mov eax, edi
call fcn.004d9830
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x5354ba
mov eax, edi
mov byte [esi + 0x4f], 1
call fcn.0051bd80
cmp eax, 5
je 0x535120
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x531fad
mov byte [esi + 0x4f], 0
jmp 0x532016
mov dword [ebp - 0x2c], ecx
mov edx, dword [esi + 0x1dc]
sub edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
cmp eax, 2
jne 0x531fb3
mov eax, dword [esi + 0x18]
and eax, 1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
cmp dword [esi + 0x14], ecx
jle 0x531fb8
xor edx, edx
cmp eax, ecx
sete dl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0x18]
push eax
mov eax, dword [edx + ecx + 4]
push 0x204
push eax
call fcn.004f32d0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x18], 0x10
inc eax
mov dword [ebp - 0x38], eax
cmp eax, dword [esi + 0x14]
jl 0x531f71
mov eax, dword [ebp - 0x34]
jmp 0x531fb8
mov byte [esi + 0x57], 0
jmp 0x532020
xor eax, eax
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov dword [ebp - 0x38], ecx
cmp dword [esi + 0x14], ecx
jle 0x531ffe
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
mov eax, dword [esi + 0x10]
push ecx
mov ecx, dword [ebp - 0x18]
push edx
mov edx, dword [ecx + eax + 4]
push edx
call fcn.00509af0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x18], 0x10
inc eax
mov dword [ebp - 0x38], eax
cmp eax, dword [esi + 0x14]
jl 0x531fc5
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x532016
xor ecx, ecx
mov eax, esi
call fcn.004b4bd0
mov eax, esi
call fcn.004dbf20
or dword [esi + 0x18], 1
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov eax, dword [ebp - 0x20]
cmp dword [esi + 0x1d0], eax
je 0x532059
jmp 0x532030
mov eax, dword [esi + 0x1d0]
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x1d0], ecx
mov ecx, esi
call fcn.004ae210
mov edx, dword [ebp - 0x20]
dec dword [esi + 0x1dc]
cmp dword [esi + 0x1d0], edx
jne 0x532030
mov eax, edx
mov ecx, dword [ebp - 0x3c]
cmp ecx, 1
jne 0x532086
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x1d0], ecx
mov ecx, esi
call fcn.004ae210
cmp dword [ebp - 0x2c], 0
jne 0x5321ef
dec dword [esi + 0x1dc]
jmp 0x5320b9
cmp dword [ebp - 0x2c], 0
mov edx, dword [eax + 8]
mov dword [esi + 0x1e8], edx
mov edx, dword [eax + 0xc]
mov dword [esi + 0x1ec], edx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x1f0], edx
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1f4], eax
je 0x5320b9
cmp ecx, 2
jne 0x5321ef
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
push ecx
push edx
push esi
call fcn.004b9c20
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 8]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0xbc], 0
test edx, edx
je 0x532103
mov eax, dword [esi + 0x20]
and eax, 0x100000
xor ecx, ecx
or eax, ecx
jne 0x53525e
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x5321c1
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xbc]
push eax
push edx
push ecx
call fcn.005097d0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53526a
test byte [edi + 0x98], 0x40
je 0x5321c1
cmp dword [ebx + 8], eax
je 0x5321c1
cmp byte [esi + 0x4f], al
je 0x532159
cmp dword [esi + 0xb4], 1
jle 0x5321c1
cmp dword [edi + 0x30], 0
jne 0x532174
mov edx, dword [esi + 0x1dc]
inc dword [esi + 0x1e0]
add edx, dword [esi + 0x1e0]
mov dword [edi + 0x30], edx
mov eax, dword [edi + 0x30]
dec eax
push eax
push 0
push esi
call fcn.004b9c20
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53219d
mov ecx, dword [edi + 0x30]
mov eax, dword [ebp - 0x18]
push ecx
call fcn.004c06f0
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [esi + 0x1e8]
mov dword [edi + 0x48], edx
mov eax, dword [esi + 0x1ec]
mov dword [edi + 0x4c], eax
mov ecx, dword [esi + 0x1f0]
mov dword [edi + 0x50], ecx
mov edx, dword [esi + 0x1f4]
mov dword [edi + 0x54], edx
cmp word [ebx + 2], 0
je 0x5321ef
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebx + 0xc]
jne 0x534f2a
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [edx + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
cmp ecx, dword [ebx + 0x10]
jne 0x534f2a
cmp dword [ebp - 0x14], 0
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x24]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
call fcn.004c0750
add esp, 8
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, eax
mov eax, dword [ebp - 0x130]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
push edx
mov ecx, dword [esi + 4]
push eax
push ecx
call fcn.004c5c90
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 8]
mov ecx, 1
add esp, 0xc
cmp eax, ecx
jne 0x532281
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0x24]
or dword [eax + 0x18], ecx
jmp 0x53228f
cmp eax, 2
jne 0x53228f
mov edx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [edx + 0x4c], al
cmp dword [ebx + 4], ecx
jne 0x5322a5
mov eax, dword [ebp - 0x24]
xor ecx, ecx
call fcn.004b4bd0
and dword [edi + 0x98], 0xfffffffc
cmp dword [ebp - 0x14], 0
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je case.0x530128.96
mov edx, dword [esi + 0x34]
cmp edx, dword [ebx + 8]
je 0x5323c5
mov eax, dword [edi + 0x98]
and al, 3
cmp al, 1
je 0x535298
mov esi, dword [ebp - 0x24]
mov edx, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x34], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0x20], esi
cmp cl, 0x61
jne 0x53232b
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0xc]
mov al, byte [ecx + 0x4c]
cmp al, byte [edi + 0x93]
jae 0x532332
mov byte [edi + 0x93], al
jmp 0x532332
mov dword [ebp - 0x3c], 0
test byte [ebx + 2], 0x10
je 0x53234b
mov eax, dword [ebp - 0x1c]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
call fcn.004b3cf0
mov ecx, dword [esi]
mov dword [ebp - 0x34], ecx
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x532361
mov eax, dword [ebx + 0x10]
movzx edx, word [eax + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], edx
jmp 0x53236b
cmp al, 0xfd
jne 0x53236b
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebx + 4]
mov esi, dword [ebp - 0x28]
push 0
push ecx
push edx
call fcn.00515910
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5330c1
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
or dword [esi + 8], 4
push edi
push ecx
mov ecx, dword [ebp - 0x20]
mov dword [esi + 0x34], eax
push eax
mov eax, dword [esi + 0x28]
mov byte [esi + 2], 1
call fcn.004e96a0
mov dword [esi + 0x2c], edi
mov edi, dword [ebp - 0x28]
add esp, 0xc
cmp byte [ebx + 1], 0xf7
mov dword [ebp - 0x14], eax
setne dl
mov byte [esi + 4], dl
mov al, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
and al, 3
cmp dword [ebp - 0x14], 0
mov byte [ecx + 3], al
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x28]
mov edx, dword [ebx + 8]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + edx*4]
movsx ecx, word [eax + 0x38]
mov edi, dword [ebx + 4]
push 0
push 0xffffffffffffffff
push ecx
mov dword [ebp - 0x40], eax
call fcn.00515910
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5330c1
or dword [esi + 8], 1
mov ecx, dword [ebp - 0x40]
mov edi, dword [esi + 8]
mov byte [esi + 2], 1
mov edx, dword [ecx + 0x2c]
mov dword [esi + 0x2c], edx
mov al, byte [ecx + 4]
mov byte [esi + 4], al
mov edx, dword [ecx + 0x34]
mov dword [esi + 0x34], edx
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0x2c]
xor eax, edi
and eax, 4
xor eax, edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x34]
mov ecx, dword [ecx + 0xc]
push edx
push 4
push eax
mov eax, dword [esi + 0x28]
call fcn.004e96a0
mov edi, dword [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 0x14], eax
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov esi, dword [edx + ecx*4]
test esi, esi
je 0x532496
mov eax, dword [esi + 0xc]
test eax, eax
je 0x532496
xor ecx, ecx
push ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x34]
push ecx
call fcn.004fbba0
add esp, 8
mov dword [ebp - 0x14], eax
jmp 0x532583
mov edx, dword [ebx + 8]
mov esi, dword [ebp - 0x28]
push 0
push 0xffffffffffffffff
push edx
mov edi, ecx
call fcn.00515910
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5330c1
or dword [esi + 8], 1
movzx eax, word [ebx + 2]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
push eax
push 0
push ecx
lea ecx, [esi + 0xc]
call fcn.004fa450
add esp, 0x14
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x532569
mov edx, dword [esi + 0xc]
push eax
push 1
push edx
call fcn.005097d0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x532569
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x40], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x532547
movzx ecx, word [ebx + 2]
or ecx, 2
lea eax, [esi + 0x34]
push ecx
push eax
mov eax, dword [esi + 0xc]
call fcn.004fbb50
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x532541
mov edx, dword [ebp - 0x40]
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0xc]
push edx
push 4
push eax
mov eax, dword [esi + 0x28]
call fcn.004e96a0
add esp, 0xc
mov dword [ebp - 0x14], eax
mov byte [esi + 4], 0
jmp 0x532569
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xc]
push 0
push 4
push 1
mov dword [esi + 0x34], 1
call fcn.004e96a0
add esp, 0xc
mov dword [ebp - 0x14], eax
mov byte [esi + 4], 1
mov edi, dword [ebp - 0x28]
xor ecx, ecx
cmp word [ebx + 2], 8
setne cl
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 8]
and ecx, 4
xor dword [esi + 8], ecx
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov byte [esi + 2], 1
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 8]
mov edi, dword [ebx + 4]
mov esi, dword [ebp - 0x28]
push 1
push 0xffffffffffffffff
push edx
call fcn.00515910
add esp, 0xc
test eax, eax
je 0x5330c1
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebp - 0x24]
push edx
push eax
call fcn.004cde40
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov edi, esi
add ebx, 0x14
jmp 0x530112
mov edx, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
mov eax, ecx
or eax, edx
je 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov esi, dword [ebp - 0x28]
push 3
push 0xffffffffffffffff
push eax
call fcn.00515910
add esp, 0xc
test eax, eax
je 0x5330c1
mov byte [eax + 2], 1
mov ecx, dword [ebx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x596393
mov edi, esi
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
push edi
call fcn.00515740
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
add esp, 4
mov dword [edx + ecx*4], 0
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov word [esi + 2], ax
mov dword [esi + 0x1c], eax
cmp byte [esi + 4], al
je 0x5327b3
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2c], eax
movzx eax, word [eax + 8]
mov dword [ebp - 0x40], eax
and al, 0x2e
cmp al, 2
jne 0x5326c5
mov eax, dword [ebp - 0x2c]
push 0
call fcn.004b56f0
add esp, 4
mov ecx, dword [ebp - 0x2c]
call fcn.004b3ba0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xcc], eax
movzx eax, word [ecx + 8]
mov dword [ebp - 0xc8], edx
mov dx, word [ebp - 0x40]
mov word [ecx + 8], dx
test al, 0x24
jne 0x53276f
test al, 8
jne 0x53273e
test al, 1
jne 0x534ee2
cmp dword [ebp - 0x20], 0x18
jge 0x534ee2
mov eax, dword [esi + 0x28]
lea edi, [ebp - 0x68]
call fcn.004e9f50
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebp - 0x68], 0
jne 0x534ee2
mov edi, dword [ebp - 0x28]
cmp dword [ebp - 0x18], 0
je 0x534eef
add ebx, 0x14
add ebx, 0x14
jmp 0x530112
fild qword [ebp - 0xcc]
mov ecx, dword [ebp - 0x2c]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x53275d
test byte [ebp - 0x20], 1
fstp st(0)
je 0x53276f
dec dword [ebp - 0x20]
jmp 0x53276f
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x53276f
test byte [ebp - 0x20], 1
jne 0x53276f
inc dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x68]
push eax
mov eax, dword [esi + 0x28]
push 0
push ecx
push edx
push 0
push eax
call fcn.004f3420
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
add esp, 0x18
mov dword [ebp - 0x14], eax
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
test eax, eax
jne 0x53434d
jmp 0x53283a
mov eax, dword [esi + 0x28]
test byte [eax + 3], 2
je 0x5327c3
mov dword [ebp - 0x18], 1
test byte [ebp - 0x20], 1
mov ecx, dword [esi + 0x2c]
mov dx, word [ebx + 0x10]
sete al
mov dword [ebp - 0x140], ecx
mov word [ebp - 0x138], dx
mov edx, dword [ebp - 0x1c]
mov byte [ebp - 0x132], 0
lea eax, [eax + eax - 1]
mov byte [ebp - 0x136], al
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
lea ecx, [ebp - 0x68]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x140]
mov dword [ebp - 0x13c], eax
mov eax, dword [esi + 0x28]
push edx
push eax
call fcn.004f3420
add esp, 0x18
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebp - 0x18], eax
je 0x53283a
cmp byte [ebp - 0x132], al
je 0x53271c
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
cmp ecx, 0x18
jl 0x532898
test eax, eax
js 0x53285c
jne 0x532850
cmp ecx, 0x19
je 0x53285c
mov dword [ebp - 0x68], 0
jmp 0x532729
mov ecx, dword [esi + 0x28]
push 0
push ecx
mov dword [ebp - 0x68], 0
call fcn.004fb040
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
je 0x532729
cmp eax, 0x65
jne 0x53434d
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x68], 1
jmp 0x534ee2
test eax, eax
jg 0x5328b5
jne 0x5328a3
cmp ecx, 0x16
je 0x5328b5
mov edx, dword [esi + 0x28]
xor eax, eax
cmp byte [edx], al
setne al
mov dword [ebp - 0x68], eax
jmp 0x53271c
mov ecx, dword [esi + 0x28]
push 0
push ecx
mov dword [ebp - 0x68], 0
call fcn.004fb160
jmp 0x53286e
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [eax + 8]
and ecx, 8
xor dword [eax + 8], ecx
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
cmp dword [eax + edx*4], 0
je case.0x530128.11
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov eax, dword [edx + ecx*4]
test byte [eax + 8], 8
jne case.0x530128.85
cmp dword [ebx + 0x10], 0
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov eax, dword [ebx + 0xc]
mov edi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2c], eax
jle 0x53295e
mov edx, dword [edi + 0x2c]
mov cx, word [ebx + 0x10]
mov dword [ebp - 0x258], edx
mov word [ebp - 0x250], cx
mov dword [ebp - 0x254], eax
lea esi, [ebp - 0x258]
mov dword [ebp - 0x18], 0
jmp 0x5329a6
mov edx, 0x4000
test word [eax + 8], dx
je 0x532979
mov esi, dword [ebp - 0x2c]
call fcn.004c6190
test eax, eax
jne 0x5330c1
mov esi, dword [edi + 0x2c]
call fcn.004c6f90
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x5330c1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0x2c]
push esi
push ecx
push edx
push eax
call fcn.004b4760
add esp, 0x10
xor ecx, ecx
mov byte [esi + 0xa], 0
cmp byte [ebx], 0x1c
mov dword [ebp - 0x34], ecx
jne 0x5329dc
xor edx, edx
cmp dx, word [esi + 8]
jae 0x5329dc
mov eax, dword [esi + 4]
add eax, 8
test byte [eax], 1
jne 0x5329d5
movzx edx, word [esi + 8]
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x5329c2
jmp 0x5329dc
mov dword [ebp - 0x34], 1
mov ecx, dword [edi + 0x28]
lea eax, [ebp - 0x118]
push eax
push 0
push 0
push 0
push esi
push ecx
call fcn.004f3420
add esp, 0x18
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x14], eax
je 0x532a0a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
call fcn.004ae210
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov ecx, dword [ebp - 0x118]
xor eax, eax
test ecx, ecx
sete al
mov dl, 1
sub dl, al
mov dword [edi + 0x20], ecx
mov byte [edi + 2], dl
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
cmp byte [ebx], 0x1e
jne 0x532a4e
test eax, eax
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
cmp dword [ebp - 0x34], 0
jne 0x534ee2
test eax, eax
je 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x24
lea esi, [ecx + eax*8]
jne 0x532adf
mov ecx, 0xa
lea edi, [ebp - 0x298]
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebp - 0x290]
test al, 4
jne 0x532ac8
test al, 8
jne 0x532aaf
test al, 2
je 0x532ac0
push 1
lea eax, [ebp - 0x298]
call fcn.004b56f0
add esp, 4
jmp 0x532aba
lea esi, [ebp - 0x298]
call fcn.004b3c80
mov al, byte [ebp - 0x290]
test al, 4
je 0x534ee2
mov ecx, dword [ebp - 0x294]
mov edi, dword [ebp - 0x298]
mov dword [ebp - 0x120], ecx
jmp 0x532af2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8 + 4]
mov edi, dword [ecx + eax*8]
mov dword [ebp - 0x120], edx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov esi, dword [edx + eax*4]
mov edx, dword [ebp - 0x120]
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0xf8]
push ecx
push 0
push edx
push edi
push 0
push eax
mov dword [ebp - 0xf8], 0
call fcn.004f3420
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x120]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0xf8]
add esp, 0x18
mov dword [esi + 0x40], edi
mov dword [esi + 0x1c], 0
mov word [esi + 2], 0
mov dword [esi + 0x20], eax
test eax, eax
je 0x532b67
cmp dword [ebx + 8], 0
jne 0x534ee2
mov eax, 0x15ebf
call fcn.004e4200
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x10]
mov dword [eax], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add ebx, 0x14
jmp 0x530112
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xac], eax
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov dword [ebp - 0x30], eax
mov eax, dword [edx + ecx*4]
test byte [eax + 8], 2
mov dword [ebp - 0x20], eax
jne 0x532c47
mov eax, dword [eax + 0x28]
lea edi, [ebp - 0xac]
call fcn.004e9f50
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0xac], eax
je 0x532c0e
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], eax
jmp 0x532c4a
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.004b3670
mov eax, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edi
cmp edi, 0x7fffffff
jl 0x532c39
jg 0x532c33
cmp eax, 0xffffffff
jb 0x532c39
or dword [esi + 8], 2
jmp 0x532c4a
add eax, 1
adc edi, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edi
jmp 0x532c4a
mov esi, dword [ebp - 0x20]
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x532cdc
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 0xc8]
test ecx, ecx
je 0x532c84
mov eax, dword [ecx + 4]
test eax, eax
je 0x532c79
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x532c70
mov eax, dword [ecx + 0x10]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
jmp 0x532c8d
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x1c]
lea esi, [edx + ecx*8]
call fcn.004b3cf0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x532ca8
cmp ecx, 0x7fffffff
je 0x5352a4
mov edx, dword [ebp - 0x20]
test byte [edx + 8], 2
jne 0x5352a4
mov edx, dword [ebp - 0x7c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x532cd1
jl 0x532cc9
cmp dword [ebp - 0x80], eax
jae 0x532cd1
mov edx, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x20]
test byte [esi + 8], 2
je 0x532d44
xor edi, edi
lea ecx, [ebp - 0x80]
push ecx
push 8
call fcn.004bcb30
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0xac]
push edx
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 0x28]
push 0
push eax
mov dword [ebp - 0x80], ecx
call fcn.004f3420
add esp, 0x20
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebp - 0xac], eax
jne 0x532d41
inc edi
cmp edi, 0x64
jge 0x5352a4
mov esi, dword [ebp - 0x20]
jmp 0x532ce4
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x28]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov dword [eax], ecx
mov dword [eax + 4], edx
add ebx, 0x14
jmp 0x530112
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x40], edx
mov edx, dword [edi + 0x60]
mov esi, dword [edx + eax*4]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8]
mov dword [ebp - 0x238], edx
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x234], eax
jne 0x532dc4
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0xf0], 0
je 0x532dc4
movsx edx, byte [esi + 1]
mov eax, ecx
mov ecx, dword [eax + 0x10]
add edx, edx
mov edx, dword [ecx + edx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
jmp 0x532dcf
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x24]
test byte [ebx + 2], 1
je 0x532dd8
inc dword [edi + 0x2c]
test byte [ebx + 2], 0x20
je 0x532df0
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x230], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x224], eax
movzx eax, word [ebx + 2]
test al, 0x10
je 0x532e15
mov edx, dword [esi + 0x20]
mov dword [ebp - 0x18], edx
jmp 0x532e1c
mov dword [ebp - 0x18], 0
mov edx, 0x4000
test word [ecx + 8], dx
je 0x532e31
mov ecx, dword [ecx]
mov dword [ebp - 0x220], ecx
jmp 0x532e3b
mov dword [ebp - 0x220], 0
mov edx, dword [ebp - 0x18]
and eax, 0xa
push edx
push eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x240], 0
push eax
mov eax, dword [esi + 0x28]
call fcn.004fb1a0
add esp, 0xc
mov dword [ebp - 0x14], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x534eef
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x238]
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x38]
push edx
mov dl, byte [ebx + 2]
push eax
and dl, 4
movzx eax, dl
neg eax
sbb eax, eax
and eax, 5
push ecx
add eax, 0x12
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0xec]
mov edx, dword [eax + 0xf0]
push ecx
call edx
add esp, 0x18
add ebx, 0x14
jmp 0x530112
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov esi, dword [edx + ecx*4]
mov dword [ebp - 0x38], eax
jne 0x532f26
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0xf0], 0
je 0x532f26
movsx ecx, byte [esi + 1]
mov edx, eax
mov eax, dword [edx + 0x10]
mov edx, dword [ebx + 0x10]
add ecx, ecx
test byte [ebx + 2], 2
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], edx
je 0x532f2e
cmp byte [esi + 4], 0
je 0x532f2e
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x40], ecx
call fcn.004b3670
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x40], ecx
mov edx, dword [eax + 0x24]
mov dword [esi + 0x44], edx
jmp 0x532f2e
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], eax
mov al, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.004fb560
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
cmp eax, ecx
jne 0x53434d
test byte [ebp - 0x38], 1
je 0x534eef
inc dword [edi + 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x534eef
mov ecx, dword [ebp - 0x18]
test byte [ecx + 0x24], 0x80
jne 0x534eef
mov edx, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
push edx
mov edx, dword [ebp - 0x18]
push ecx
mov ecx, dword [edx]
mov edx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x24]
push edx
mov edx, dword [ecx + 0xec]
push 9
push edx
call eax
add esp, 0x18
add ebx, 0x14
jmp 0x530112
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x24]
add dword [eax + 0x68], ecx
mov dword [eax + 0x64], ecx
mov dword [edi + 0x2c], 0
add ebx, 0x14
jmp 0x530112
mov ecx, dword [edi + 0x60]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebx + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx + edx*8]
mov edx, dword [ebx + 0x10]
lea esi, [ebp - 0xe4]
push esi
push edx
push ecx
mov dword [ebp - 0xe4], 0
call fcn.004f0630
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebp - 0xe4], eax
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edi, [eax + edx*8]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
call fcn.004c7ef0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebx + 0xc]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + ecx*4]
mov dword [ecx + 0x1c], 0
mov edi, edx
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.004b3670
mov eax, dword [edi + 0x2c]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edx + 0x6c]
ja 0x534336
push esi
mov edx, edi
call fcn.004ee8a0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebx + 0xc], eax
jne 0x534eef
mov eax, 0x1000
test word [esi + 8], ax
je 0x534eef
mov eax, esi
call fcn.004cd750
test eax, eax
je 0x534eef
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x51], 0
jne 0x533107
cmp byte [eax + 0x52], 0
jne 0x533107
cmp dword [eax + 0xbc], 0
mov byte [eax + 0x51], 1
jle 0x5330e7
mov dword [eax + 0x110], 1
inc dword [eax + 0x118]
xor edx, edx
mov word [eax + 0x11c], dx
mov eax, dword [eax + 0xf4]
test eax, eax
je 0x533107
mov dword [eax + 0xc], 7
mov esi, dword [ebp - 0x28]
push 0x56776c
call fcn.004d9490
mov dword [ebp - 0x14], 7
jmp 0x53434a
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 2], 0
mov dword [ebp - 0x30], eax
je 0x53314c
mov ecx, 1
mov word [eax + 8], cx
add ebx, 0x14
jmp 0x530112
cmp byte [esi + 3], 0
je 0x533177
mov edx, dword [esi + 0x40]
mov dword [ebp - 0xdc], edx
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0xd8], ecx
mov dword [eax], edx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 4], ecx
add ebx, 0x14
jmp 0x530112
cmp byte [esi], 2
jne 0x5331c3
mov eax, dword [esi + 0x28]
mov esi, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0xdc]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
push esi
push edi
mov dword [ebp - 0x14], eax
call fcn.004c6fd0
add esp, 0x10
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0xdc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 4], ecx
add ebx, 0x14
jmp 0x530112
mov ecx, dword [esi + 0x28]
cmp byte [ecx], 0
je 0x5331fa
mov edi, esi
call fcn.004fc5a0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp byte [esi + 2], 0
je 0x533203
mov edx, 1
mov word [eax + 8], dx
add ebx, 0x14
jmp 0x530112
mov dword [ebp - 0x14], 0
jmp 0x5331e3
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.004b3670
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xdc], eax
mov ecx, dword [esi + 0x24]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
mov dword [eax], edx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 4], ecx
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x1c], 0
jne 0x534eef
mov esi, dword [eax + 0x28]
call fcn.004b3090
add ebx, 0x14
jmp 0x530112
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0xe0], 0
cmp cl, 0x81
jne 0x533293
mov dword [esi + 0x20], 0xffffffff
cmp byte [eax], 0
je 0x534eef
lea edi, [ebp - 0xe0]
call fcn.004e9f50
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x14], eax
mov byte [esi + 2], cl
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x53434d
cmp dword [ebx + 8], eax
jle 0x534eef
test ecx, ecx
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov esi, dword [ecx + 0x28]
lea edi, [ebp - 0xf0]
mov eax, esi
call fcn.004e9f20
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebp - 0xf0], eax
jne 0x534ee2
push esi
call fcn.004b3760
add esp, 4
test edx, edx
jl 0x534eef
jg 0x533327
test eax, eax
jb 0x534eef
push edx
push eax
call fcn.004af3a0
movsx edx, ax
add esp, 8
cmp edx, dword [ebx + 0xc]
jge 0x534eef
mov dword [ebp - 0xf0], 1
jmp 0x534ee2
inc dword [edi + 0xac]
mov ecx, dword [edi + 0x60]
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
cmp byte [esi], 1
mov dword [ebp - 0xb8], 1
lea edi, [ebp - 0xb8]
jne 0x533379
mov ecx, esi
call fcn.004f05e0
jmp 0x53338c
mov eax, dword [esi + 0x28]
call fcn.004e9f20
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0xb8]
mov byte [esi + 2], al
test eax, eax
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, esi
call fcn.004c7e50
add esp, 4
jmp 0x5333e5
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi + 0x28]
mov eax, dword [ebx + 0x10]
push ecx
push edx
call eax
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [esi + 0x1c], ecx
cmp eax, ecx
jne 0x53340b
mov byte [esi + 2], cl
movzx ecx, word [ebx + 2]
inc dword [edi + ecx*4 + 0xa4]
lea eax, [edi + ecx*4 + 0xa4]
jmp case.0x530128.11
cmp eax, 0x65
jne 0x53434d
mov dword [ebp - 0x14], ecx
mov byte [esi + 2], 1
jmp 0x534a5c
test byte [ebx + 2], 1
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
lea esi, [eax + edx*8]
je 0x533441
inc dword [edi + 0x2c]
mov edx, 0x4000
test word [esi + 8], dx
je 0x53345f
call fcn.004c6190
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov ecx, dword [ebp - 0x18]
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + edx*8]
mov ax, word [ebx + 0x10]
mov word [ebp - 0x2a8], ax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x2ac], edx
test al, 0x10
je 0x5334a2
mov edx, dword [ecx + 0x20]
jmp 0x5334a4
xor edx, edx
push edx
and eax, 0xa
push eax
mov eax, dword [ecx + 0x28]
lea edx, [ebp - 0x2c0]
push edx
call fcn.004fb1a0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x14], eax
mov dword [ecx + 0x1c], 0
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], ecx
lea esi, [eax + edx*8]
mov ecx, 0x4000
test word [esi + 8], cx
je 0x53350b
call fcn.004c6190
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x40]
push esi
call fcn.004f01b0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov ax, word [ebx + 0xc]
mov word [ebp - 0x200], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x208], edx
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + edx*8]
lea eax, [ebp - 0x11c]
push eax
push 0
push 0
mov dword [ebp - 0x204], edx
push 0
lea edx, [ebp - 0x208]
push edx
push ecx
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x1fe], 0
call fcn.004f3420
add esp, 0x18
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp dword [ebp - 0x11c], eax
jne 0x5335b9
mov ecx, dword [ebp - 0x40]
mov al, 4
call fcn.004fb560
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
add ebx, 0x14
jmp 0x530112
cmp word [ebx + 2], 0
jne 0x5352b0
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov esi, dword [ecx + eax*4]
mov edx, dword [esi + 0x28]
cmp byte [edx], 0
je 0x53366e
mov edi, esi
call fcn.004fc5a0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov edi, dword [ebp - 0x28]
cmp byte [esi + 2], 0
jne 0x533699
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [esi + 0x28]
push ecx
call fcn.004ef1c0
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
cmp byte [ebx], 0x85
jne 0x533677
mov edx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], edx
mov word [eax + 2], 0x100
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], esi
add ebx, 0x14
jmp 0x530112
mov dword [ebp - 0x14], 0
jmp 0x5335fe
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov dword [eax], edx
mov dword [eax + 4], ecx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea eax, [eax + edx*8]
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 3], 0
je case.0x530128.85
call fcn.004f39f0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov edx, dword [edi + 0x60]
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [eax + 0x2c]
cmp cl, 0x28
sbb cl, cl
mov dword [ebp - 0x218], edx
mov dx, word [ebx + 0x10]
mov byte [ebp - 0x20e], cl
mov ecx, dword [ebx + 0xc]
mov word [ebp - 0x210], dx
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + edx*8]
lea ecx, [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x214], edx
lea edx, [ebp - 0x218]
push edx
push ecx
mov dword [ebp - 0x98], 0
call fcn.004ef310
add esp, 0xc
test byte [ebx], 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x98]
jne 0x53374d
neg eax
jmp 0x53374e
inc eax
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x98], eax
jne 0x53434d
test eax, eax
jg 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov esi, eax
mov eax, dword [ebp - 0x24]
mov edx, 1
mov word [esi + 8], dx
mov ecx, dword [eax + 0xc0]
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x5352bc
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0xe8]
push edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x18], ecx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
push edx
mov dword [ebp - 0xe8], 0
call fcn.004fbed0
mov ecx, 4
mov edi, eax
mov word [esi + 8], cx
mov ecx, dword [ebp - 0xe8]
mov eax, ecx
cdq
add esp, 8
mov dword [ebp - 0x14], edi
mov dword [esi], eax
mov dword [esi + 4], edx
test edi, edi
jne 0x53434d
test ecx, ecx
je 0x534eef
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0x18]
mov esi, ecx
mov ecx, dword [ebp - 0x24]
call fcn.004b7d10
mov al, byte [ebp - 0x18]
mov edi, dword [ebp - 0x28]
inc al
mov byte [ebp - 0x55], al
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
neg edx
sbb edx, edx
lea eax, [ebp - 0xec]
and edx, eax
mov eax, dword [ebp - 0x24]
push edx
mov edx, dword [ebx + 8]
push ecx
mov ecx, dword [eax + 0x10]
add edx, edx
mov dword [ebp - 0xec], 0
mov eax, dword [ecx + edx*8 + 4]
call fcn.004fbba0
add esp, 8
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0x14], eax
je 0x533873
mov eax, dword [ebp - 0xec]
add dword [edi + 0x2c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x533873
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx + edx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
cmp dword [ebp - 0x14], 0
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax], 1
jne 0x5338ab
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 0x24]
push ecx
push edx
call fcn.004c7700
add esp, 8
add ebx, 0x14
jmp 0x530112
mov eax, dword [eax + 0x28]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 8]
push 0
push ecx
call fcn.004fbba0
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebx + 0xc]
mov esi, eax
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edx + 0x10]
push ecx
mov eax, dword [eax + 4]
lea edx, [ebp - 0xf4]
push edx
mov dword [ebp - 0xf4], 0
call fcn.004fbb50
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0xf4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x24]
inc byte [esi + 0x5a]
mov eax, dword [ebx + 0x10]
push 0
push 0
push 0
push eax
push esi
call fcn.00535d50
dec byte [esi + 0x5a]
add esp, 0x14
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x5339a3
mov edx, dword [ebp - 0x18]
mov eax, dword [esi + 0x10]
add edx, edx
mov ecx, dword [eax + edx*8 + 0xc]
push ecx
call fcn.004d3d40
mov eax, dword [ebp - 0x18]
and dword [esi + 0x18], 0xffffffef
push 1
lea edx, [edi + 0x7c]
push edx
push eax
push esi
call fcn.00536480
or dword [esi + 0x18], 1
add esp, 0x14
and dword [edi + 0x98], 0xfffffffc
mov dword [ebp - 0x14], eax
jmp 0x533a57
mov eax, dword [ebp - 0x18]
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x178], eax
lea edx, [edi + 0x7c]
mov dword [ebp - 0x17c], edx
add eax, eax
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x170], 0
mov edx, dword [ecx + eax*8]
push str.sqlite_master
push edx
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov edx, esi
call fcn.004d6f50
add esp, 0x10
mov dword [ebp - 0x18], eax
test eax, eax
je 0x534f89
mov ecx, dword [ebp - 0x18]
xor eax, eax
push eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x180]
push eax
push fcn.0052fe60
push ecx
push esi
mov byte [esi + 0xa5], 1
call fcn.00535d50
add esp, 0x14
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x533a46
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x533a46
cmp dword [ebp - 0x16c], eax
jne 0x533a46
mov eax, 0x1646e
call fcn.004e4200
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov ecx, esi
call fcn.004ae210
mov byte [esi + 0xa5], 0
cmp dword [ebp - 0x14], 0
je case.0x530128.85
mov eax, esi
call fcn.004dbf20
cmp dword [ebp - 0x14], 7
je 0x5330c1
jmp 0x53434d
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
call fcn.004db680
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x24]
push edx
push eax
mov eax, dword [ebx + 4]
call fcn.004ce920
add esp, 8
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push ecx
mov ecx, dword [ebp - 0x24]
call fcn.004c8ff0
add esp, 4
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x24]
push edx
push eax
mov eax, dword [ebx + 4]
call fcn.004cfb30
add esp, 8
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi]
inc eax
push eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], ecx
movzx ecx, word [ebx + 2]
push edx
mov edx, dword [ebp - 0x24]
add eax, 4
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
push ecx
lea ecx, [ebp - 0x10c]
call fcn.004ee230
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
add esp, 0x10
call fcn.004b3ec0
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x533b6d
cmp dword [ebp - 0x18], 0
je 0x5330c1
mov ecx, dword [ebp - 0x2c]
dec eax
cdq
sub dword [esi], eax
push fcn.004ae140
push 1
sbb dword [esi + 4], edx
mov edx, dword [ebp - 0x18]
push edx
or eax, 0xffffffff
call fcn.004d1fb0
mov edi, dword [ebp - 0x28]
add esp, 0xc
movzx ecx, byte [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
call fcn.004d1ef0
jmp 0x534a5c
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x10
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebp - 0x20], eax
jne 0x533bb2
mov edi, esi
call fcn.004c08f0
test eax, eax
jne 0x5330c1
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov esi, dword [esi + 0x10]
push ecx
push edx
call fcn.004be170
add esp, 8
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x10
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2c], eax
je 0x533c20
mov edx, eax
mov eax, dword [edx + 0x10]
lea esi, [ebp - 0x148]
call fcn.004b16e0
test eax, eax
je 0x533c1d
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
push eax
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
push ecx
lea eax, [eax + edx*8]
call fcn.004b3f20
add esp, 8
jmp 0x534a5c
mov eax, dword [ebp - 0x2c]
call fcn.004b3ec0
jmp case.0x530128.11
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x10
mov eax, dword [ebx + 0xc]
lea edi, [esi + ecx*8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x10]
lea esi, [esi + edx*8]
mov dword [ebp - 0x18], eax
jne 0x533c5c
call fcn.004c08f0
test eax, eax
jne 0x5330c1
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x533c80
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
push eax
mov eax, dword [edi + 0x10]
call fcn.004be200
add esp, 0xc
test eax, eax
jne 0x534ee2
mov eax, dword [ebp - 0x18]
test eax, eax
js 0x534eef
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov esi, dword [edi + 0x10]
push eax
push ecx
call fcn.004be170
mov edi, dword [ebp - 0x28]
add esp, 8
add ebx, 0x14
jmp 0x530112
cmp word [ebx + 2], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea esi, [eax + edx*8]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x38], esi
je 0x533ce0
mov eax, dword [edi + 0xc8]
mov edx, dword [ecx + 0x14]
test eax, eax
je 0x533ce0
lea esp, [esp]
cmp dword [eax + 0x1c], edx
je case.0x530128.85
mov eax, dword [eax + 4]
test eax, eax
jne 0x533cd0
mov edx, dword [edi + 0xd0]
mov eax, dword [ebp - 0x24]
cmp edx, dword [eax + 0x94]
jge 0x5352cf
test byte [esi + 8], 0x10
jne 0x533df5
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
add eax, edx
mov dword [ebp - 0x34], eax
test edx, edx
jne 0x533d12
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
lea ecx, [eax + eax*4 + 0xa]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
add eax, 7
lea ecx, [edx + ecx*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
cdq
push edx
push eax
call fcn.004cd300
mov esi, eax
add esp, 8
test esi, esi
je 0x5330c1
mov edi, dword [ebp - 0x38]
mov eax, edi
call fcn.004b3af0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
sub ebx, dword [ebp - 0x48]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], esi
mov dword [edi + 0x24], 0x4b43d0
mov edx, 0x410
mov word [edi + 8], dx
mov edi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x3c], ecx
mov dword [esi], edi
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x30], eax
mov edx, dword [edi + 0x58]
mov dword [esi + 0x10], edx
mov eax, dword [edi + 0x18]
mov dword [esi + 0x38], eax
mov edx, dword [edi + 0x60]
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x2c], eax
mov edx, dword [edi + 0x68]
mov dword [esi + 8], edx
mov eax, dword [edi + 0x6c]
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x14]
lea ecx, [ecx + ecx*4 + 0xa]
mov dword [esi + 0x1c], eax
lea ecx, [esi + ecx*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x533dfb
mov edx, dword [ebp - 0x24]
jmp 0x533de0
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x533de0
jmp 0x533dfb
mov edx, dword [ebp - 0x38]
mov esi, dword [edx + 0x10]
inc dword [edi + 0xd0]
mov eax, dword [edi + 0xc8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x20], ecx
mov edx, dword [eax + 0x2c]
mov dword [esi + 0x24], edx
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x44], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 0x64]
mov dword [esi + 0x48], edx
mov eax, dword [edi + 0xdc]
mov dword [esi + 0x28], eax
mov ebx, dword [ebp - 0x18]
xor ecx, ecx
mov dword [edi + 0xdc], ecx
mov dword [edi + 0x2c], ecx
mov dword [edi + 0xc8], esi
lea eax, [esi + 0x50]
mov dword [edi + 0x58], eax
mov edx, dword [esi + 0x3c]
mov dword [edi + 0x18], edx
movzx edx, word [esi + 0x40]
mov dword [edi + 0x1c], edx
mov edx, dword [edi + 0x18]
mov dword [ebp - 0x1c], eax
lea edx, [edx + edx*4]
lea eax, [eax + edx*8]
mov dword [edi + 0x60], eax
mov edx, dword [ebx + 0xc]
lea eax, [eax + edx*4]
mov dword [ebp - 0x40], eax
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, dword [ebp - 0x40]
push ecx
push eax
call fcn.00480280
mov eax, dword [ebx]
mov dword [edi + 0x68], eax
mov ecx, dword [ebx + 4]
add esp, 0xc
mov dword [ebp - 0x48], eax
mov dword [edi + 0x6c], ecx
lea ebx, [eax - 0x14]
jmp 0x534a5c
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [edi + 0xc8]
mov ecx, dword [edx + 0x30]
mov esi, dword [edx + 8]
mov edx, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
mov ecx, dword [esi + ecx*4 + 4]
add ecx, dword [ebx + 4]
push 0x1000
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
push ecx
push eax
call fcn.004b4010
add esp, 0xc
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
and eax, 0x80000
xor edx, edx
or eax, edx
mov eax, dword [ebx + 8]
je 0x533f0d
cdq
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
add ebx, 0x14
jmp 0x530112
cmp dword [ebx + 4], edx
cdq
je 0x533f27
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
add ebx, 0x14
jmp 0x530112
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
add ebx, 0x14
jmp 0x530112
cmp dword [ebx + 4], 0
je 0x533f6d
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x1e8]
or edx, dword [eax + 0x1ec]
jne case.0x530128.85
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
je 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov edx, dword [edi + 0x40]
or edx, dword [edi + 0x44]
jne case.0x530128.85
mov eax, dword [ebp - 0x24]
jmp 0x533f50
mov ecx, dword [edi + 0xc8]
test ecx, ecx
je 0x533fa4
mov eax, dword [ecx + 4]
test eax, eax
je 0x533f99
nop
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x533f90
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
jmp 0x533fad
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + edx*8]
mov esi, ecx
mov dword [ebp - 0x2c], ecx
call fcn.004b3cf0
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea esi, [eax + edx*8]
call fcn.004b3cf0
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 4], esi
jg 0x534eef
jl 0x533fe6
cmp dword [edx], ecx
jae 0x534eef
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], esi
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
mov esi, dword [edx + ecx*8 + 4]
mov eax, dword [edx + ecx*8]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x270], eax
test esi, esi
jl case.0x530128.85
jg 0x534021
test eax, eax
je case.0x530128.85
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x270]
cdq
sub edi, eax
sbb esi, edx
mov dword [ecx], edi
mov dword [ecx + 4], esi
jmp 0x534ee2
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebp - 0x2c], eax
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], esi
test esi, esi
jl 0x5340bf
jg 0x534078
test ecx, ecx
je 0x5340bf
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jl 0x53408a
jg 0x53408e
test ecx, ecx
jne 0x53408e
xor ecx, ecx
xor eax, eax
push eax
push ecx
lea ecx, [ebp - 0x108]
push ecx
call fcn.004af120
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x30]
jne 0x5340bf
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
mov dword [eax], edx
mov dword [eax + 4], ecx
add ebx, 0x14
jmp 0x530112
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*8 + 4]
lea edx, [eax + edx*8]
mov eax, dword [edx]
mov esi, eax
or esi, ecx
je case.0x530128.85
test ecx, ecx
jl 0x534ee2
jg 0x534102
test eax, eax
je 0x534ee2
sub eax, 1
sbb ecx, 0
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x534ee2
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, 0x80000000
jl 0x53413c
jg 0x534131
test edx, edx
je 0x53413c
sub edx, 1
sbb ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [eax]
or ecx, dword [eax + 4]
je 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
movzx eax, word [ebx + 2]
mov ecx, dword [ebp - 0x24]
lea edx, [eax*4 + 0x44]
push 0
push edx
mov dword [ebp - 0x18], eax
call fcn.004bc820
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x5330c1
mov eax, dword [ebp - 0x18]
lea eax, [ecx + eax*4 + 0x1c]
mov dword [ecx], eax
xor esi, esi
mov dword [ecx + 8], esi
mov dword [eax + 0x18], esi
mov edi, dword [ebp - 0x28]
mov edx, 1
mov word [eax + 8], dx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x20], edx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
mov edx, ebx
sub edx, dword [ebp - 0x48]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, byte [ebp - 0x18]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edi
mov byte [ecx + 0x18], 0
mov dword [ecx + 0x14], esi
mov byte [ecx + 0x19], dl
mov dword [ebx + 0x10], ecx
mov word [ebx], 0xf09b
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x40], eax
cmp dword [esi + 8], eax
je 0x534219
movzx ecx, byte [esi + 0x19]
dec ecx
mov dword [esi + 8], eax
js 0x534219
lea edx, [esi + ecx*4 + 0x1c]
mov esi, dword [ebp - 0x1c]
lea ecx, [ecx]
mov eax, dword [ebx + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx], eax
sub edx, 4
dec ecx
jns 0x534200
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x18]
inc dword [eax + 0xc]
cmp dword [ebx + 4], 0
je 0x534236
movzx eax, byte [esi + 0x19]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x1c]
lea edx, [esi + 0x1c]
push edx
push eax
push esi
call ecx
jmp 0x534248
movzx ecx, byte [esi + 0x19]
mov edx, dword [esi + 4]
mov edx, dword [edx + 0x10]
lea eax, [esi + 0x1c]
push eax
push ecx
push esi
call edx
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x534eef
jle 0x53427e
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
push ecx
call fcn.004d26e0
push eax
push 0x566c0c
mov esi, edi
call fcn.004d9490
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x14]
add esp, 0xc
mov dword [ebp - 0x14], eax
mov esi, edx
cmp byte [esi + 0x18], 0
je 0x5342a4
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x5342a0
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
push 0
push 1
lea eax, [edx + ecx*8]
call fcn.004b3f20
add esp, 8
mov byte [esi + 0x18], 0
mov eax, dword [esi]
call fcn.004b3af0
cmp dword [ebp - 0x14], 0
mov eax, dword [esi]
mov ecx, 1
mov word [eax + 8], cx
mov dword [esi + 0x14], 0
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edi, [eax + edx*8]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x534305
mov esi, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
push edi
mov edi, dword [ebx + 0x10]
lea eax, [esi + ecx*8]
call fcn.004c0890
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
add esp, 4
lea edi, [esi + edx*8]
jmp 0x534312
mov ecx, dword [ebx + 0x10]
mov eax, edi
call fcn.004b39e0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x5352e7
movzx ecx, byte [ebp - 0x4c]
mov eax, edi
call fcn.004d1ef0
mov ecx, edi
call fcn.004b3fc0
test eax, eax
je 0x534eef
mov esi, dword [ebp - 0x28]
push str.string_or_blob_too_big
call fcn.004d9490
mov dword [ebp - 0x14], 0x12
add esp, 4
mov esi, dword [ebp - 0x24]
cmp byte [esi + 0x51], 0
je 0x53537a
mov eax, 7
mov dword [ebp - 0x14], eax
jmp 0x53537d
mov edx, dword [ebx + 8]
or eax, 0xffffffff
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
push eax
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xc]
push ecx
mov ecx, dword [ebp - 0x24]
push edx
push eax
xor esi, esi
push ecx
mov dword [ebp - 0x10], esi
call fcn.004f94c0
add esp, 0x14
mov dword [ebp - 0x14], eax
cmp eax, esi
je 0x5343a7
cmp eax, 5
jne 0x53434d
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + edx*8]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + esi*4 - 0x10]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
call fcn.004b3f20
add dword [ebp - 0x18], 0x28
inc esi
add esp, 8
cmp esi, 3
jl 0x5343b6
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov edx, dword [eax + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [edx]
mov dword [ebp - 0x20], eax
movzx eax, byte [eax + 5]
mov dword [ebp - 0x38], eax
cmp esi, 0xffffffff
jne 0x534411
mov esi, eax
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x10], 3
jae 0x534430
mov ecx, dword [eax + 0x40]
cmp dword [ecx], 0
je 0x534433
cmp dword [eax + 0x4c], 0
jl 0x534433
jg 0x534430
cmp dword [eax + 0x48], 0
jbe 0x534433
mov esi, dword [ebp - 0x38]
cmp byte [eax + 0xf], 0
je 0x534440
mov eax, 0x5698cc
jmp 0x534446
mov eax, dword [eax + 0xa8]
cmp esi, 5
jne 0x534468
call fcn.004ae510
test eax, eax
je 0x534460
mov eax, dword [ebp - 0x20]
call fcn.004b22c0
test eax, eax
jne 0x534468
mov esi, dword [ebp - 0x38]
jmp 0x5344e9
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
je 0x5344e9
cmp ecx, 5
je 0x534479
cmp esi, 5
jne 0x5344e9
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x4f], 0
je 0x535303
cmp dword [eax + 0xb4], 1
jg 0x535303
cmp ecx, 5
jne 0x5344b9
mov edx, eax
mov eax, dword [ebp - 0x20]
push edx
call fcn.004fa1b0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x5344ef
mov eax, dword [ebp - 0x20]
mov ecx, esi
call fcn.005093d0
jmp 0x5344d1
cmp ecx, 4
jne 0x5344cb
mov eax, dword [ebp - 0x20]
mov ecx, 2
call fcn.005093d0
cmp dword [ebp - 0x14], 0
jne 0x5344ef
xor eax, eax
cmp esi, 5
sete al
inc eax
push eax
mov eax, dword [ebp - 0x40]
call fcn.00509bb0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x5344f2
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov ecx, esi
call fcn.005093d0
mov edx, dword [ebp - 0x30]
mov ecx, 0xa02
mov word [edx + 8], cx
cmp eax, 6
jne 0x534511
xor eax, eax
jmp 0x534518
mov eax, dword [eax*4 + 0x56a578]
mov esi, dword [ebp - 0x30]
mov dword [esi + 0x10], eax
call fcn.004ae510
movzx ecx, byte [ebp - 0x4c]
mov dword [esi + 0xc], eax
mov eax, esi
mov byte [esi + 0xa], 1
call fcn.004d1ef0
cmp dword [ebp - 0x14], 0
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 8]
test eax, eax
je 0x534559
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
jmp 0x53455b
xor eax, eax
mov ecx, dword [ebp - 0x24]
push eax
mov eax, dword [ebx + 4]
lea edx, [edi + 0x7c]
push edx
call fcn.0052f450
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.004fad30
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x534eef
cmp eax, 0x65
jne 0x53434d
mov dword [ebp - 0x14], 0
jmp 0x534ee2
cmp dword [ebx + 4], 0
jne 0x5345d2
mov ecx, dword [ebx + 8]
mov eax, dword [ebp - 0x24]
call fcn.004b4bd0
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov eax, dword [edx + ecx*4]
mov eax, dword [eax + 0x28]
or byte [eax + 1], 0x40
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x60]
mov eax, dword [edx + ecx*4]
mov eax, dword [eax + 0x28]
and byte [eax + 1], 0xbf
add ebx, 0x14
jmp 0x530112
mov cl, byte [ebx + 0xc]
test cl, cl
jne 0x534645
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x20]
and eax, 0x400
mov dword [ebp - 0x44], eax
mov eax, 0
jne case.0x530128.85
test eax, eax
jne case.0x530128.85
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push edx
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.004c0820
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je case.0x530128.85
cmp al, 6
jne 0x53434d
mov eax, dword [ebx + 0x10]
push eax
push str.database_table_is_locked:__s
mov esi, edi
call fcn.004d9490
add esp, 8
jmp 0x53434d
mov edi, dword [ebx + 0x10]
mov eax, dword [ebp - 0x24]
call fcn.004cb120
mov dword [ebp - 0x14], eax
test edi, edi
je 0x5346ad
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x28]
push eax
push ecx
call fcn.004c6fd0
add esp, 8
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edi, [eax + edx*8]
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1b0], esi
call fcn.004cd7a0
lea ecx, [ebp - 0x1d0]
push ecx
mov dword [ebp - 0x14], eax
call fcn.004d26e0
add esp, 4
test eax, eax
je 0x53474e
mov edx, dword [ebp - 0x28]
add edx, 0x7c
push edx
push eax
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.004e1eb0
add esp, 8
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1d0]
call fcn.004b3af0
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x24]
inc dword [esi + 0xc0]
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
push esi
call fcn.004cfc10
dec dword [esi + 0xc0]
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xa0], 0
mov esi, dword [ecx + 8]
mov dword [ebp - 0x18], esi
test esi, esi
je 0x53533f
mov eax, dword [esi]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x53533f
mov eax, dword [eax + 0x18]
lea edx, [ebp - 0xa0]
push edx
push esi
call eax
push esi
push edi
mov dword [ebp - 0x14], eax
call fcn.004c6fd0
add esp, 0x10
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov ecx, dword [ebp - 0xa0]
mov edx, esi
mov esi, dword [ebp - 0x28]
push 2
mov dword [ecx], edx
mov edi, dword [ebx + 4]
push 0xffffffffffffffff
push 0
call fcn.00515910
mov ecx, dword [ebp - 0xa0]
add esp, 0xc
test eax, eax
je 0x53532e
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0x18]
inc dword [eax + 4]
mov edi, esi
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + edx*8]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx]
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x34], ecx
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x40], esi
test ecx, ecx
jle 0x53487e
mov esi, dword [ebp - 0x18]
add edx, 0x50
lea ecx, [ecx]
mov dword [esi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x534870
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x10]
push edx
mov edx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x38]
push eax
mov eax, dword [edx + 0x20]
push ecx
push esi
call eax
mov ecx, dword [ebp - 0x3c]
push ecx
push edi
mov dword [ebp - 0x14], eax
call fcn.004c6fd0
add esp, 0x1c
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x20]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
jne 0x534ee2
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
cmp byte [esi + 2], 0
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0x38], ecx
je 0x534901
mov eax, ecx
call fcn.004b3ec0
add ebx, 0x14
jmp 0x530112
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x18], eax
xor eax, eax
test byte [ebx + 2], 1
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1a0], ecx
je 0x534968
mov eax, dword [ebp - 0x38]
call fcn.004b3ec0
mov eax, dword [ebp - 0x38]
mov ecx, 0x4001
mov word [eax + 8], cx
mov dword [eax], 0
jmp 0x53497c
mov dx, word [ecx + 8]
mov eax, 0x3e40
and dx, ax
or dx, 1
mov word [ecx + 8], dx
mov ecx, dword [ebx + 8]
mov eax, dword [esi + 0x28]
push ecx
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x1a0]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
push eax
push edi
call fcn.004c6fd0
add esp, 0x14
cmp dword [ebp - 0x18c], 0
jle 0x5349ce
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.004d26e0
push eax
push 0x566c0c
mov esi, edi
call fcn.004d9490
mov edx, dword [ebp - 0x18c]
add esp, 0xc
mov dword [ebp - 0x14], edx
movzx ecx, byte [ebp - 0x4c]
mov esi, dword [ebp - 0x38]
mov eax, esi
call fcn.004d1ef0
mov ecx, esi
call fcn.004b3fc0
test eax, eax
jne 0x534336
cmp dword [ebp - 0x14], eax
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 2], 0
mov dword [ebp - 0x40], eax
jne case.0x530128.85
mov eax, dword [eax + 0x28]
mov esi, dword [eax]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x24]
push eax
mov dword [ebp - 0x18], ecx
call edx
push esi
push edi
mov dword [ebp - 0x14], eax
call fcn.004c6fd0
add esp, 0xc
cmp dword [ebp - 0x14], 0
jne 0x53434d
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x534a5c
mov ebx, dword [ebx + 8]
mov edx, dword [ebp - 0x48]
lea ecx, [ebx + ebx*4]
lea ebx, [edx + ecx*4 - 0x14]
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + 0x110]
test eax, eax
jne 0x53534b
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0x6c]
jb 0x534eef
lea esp, [esp]
mov eax, dword [esi + 0x158]
test eax, eax
je 0x534eef
mov ecx, dword [esi + 0x15c]
mov edx, dword [esi + 0x160]
add dword [ebp - 0x6c], edx
push ecx
call eax
add esp, 4
test eax, eax
jne 0x5354ee
mov edx, dword [ebp - 0x6c]
cmp dword [ebp - 0x9c], edx
jae 0x534a80
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + 0x20]
or dword [esi + 0x20], 0x4000000
and eax, 0x4000000
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x24], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x40], eax
call fcn.004d1ef0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
add esp, 8
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x14], eax
jne 0x534b31
mov eax, dword [esi + 0x24]
and dword [esi + 0x20], 0xfbffffff
mov dword [esi + 0x24], eax
mov ecx, dword [ebp - 0x18]
push ecx
push edi
call fcn.004c6fd0
add esp, 8
jmp 0x53229e
mov edx, dword [ebp - 0x24]
cmp byte [edx + 0x51], 0
jne 0x5330c1
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x53533f
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x53533f
cmp dword [eax + 0x34], 0
mov ecx, dword [ebx + 8]
je 0x534eef
mov al, byte [edx + 0x56]
mov edi, dword [ebp - 0x28]
mov esi, dword [edi + 0x5c]
mov byte [ebp - 0x85], al
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea edx, [eax + edx*8]
xor eax, eax
test ecx, ecx
jle 0x534bab
lea esp, [esp]
mov dword [esi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x534ba0
mov dl, byte [ebx + 2]
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x56], dl
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x168]
push edx
push esi
push ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x34]
push eax
call edx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x85]
push edx
push edi
mov byte [ecx + 0x56], al
call fcn.004c6fd0
add esp, 0x18
cmp dword [ebp - 0x14], 0
jne 0x534c06
cmp dword [ebx + 4], 0
je 0x534c06
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp - 0x14]
cmp cl, 0x13
jne 0x534c41
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x534c41
movzx eax, word [ebx + 2]
cmp eax, 4
jne 0x534c2f
mov dword [ebp - 0x14], 0
add ebx, 0x14
jmp 0x530112
cmp eax, 5
jne 0x534c39
mov eax, 2
mov byte [edi + 0x92], al
jmp 0x534c44
inc dword [edi + 0x2c]
test ecx, ecx
jne 0x53434d
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x10]
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x30]
and ecx, 0x7fffffff
mov dword [eax], ecx
mov dword [eax + 4], 0
add ebx, 0x14
jmp 0x530112
mov eax, ebx
mov edx, edi
call fcn.004b5830
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov edx, dword [ebx + 0xc]
xor ecx, ecx
test edx, edx
je 0x534cbe
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x30]
and ecx, 0x7fffffff
cmp ecx, edx
jae 0x534cbe
mov ecx, edx
push ecx
call fcn.004c0560
cdq
add esp, 4
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x14
jmp 0x530112
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
lea eax, [eax + edx*8]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], eax
cmp dword [esi], eax
je 0x534d20
movzx ecx, byte [esi + 0x19]
dec ecx
mov dword [esi + 0xc], edi
mov dword [esi], eax
js 0x534d20
lea edx, [esi + ecx*4 + 0x1c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x1c]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
sub eax, 4
dec ecx
mov dword [ebp - 0x18], eax
jns 0x534d01
mov eax, dword [ebp - 0x30]
mov cx, word [eax + 8]
mov edx, 0x3e40
and cx, dx
or cx, 1
mov word [eax + 8], cx
movzx edx, byte [esi + 0x19]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x10]
lea ecx, [esi + 0x1c]
push ecx
push edx
push esi
call eax
mov esi, dword [esi + 0x14]
add esp, 0xc
test esi, esi
je 0x534da7
jle 0x534d74
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004d26e0
push eax
push 0x566c0c
mov esi, edi
call fcn.004d9490
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x14]
add esp, 0xc
mov dword [ebp - 0x14], eax
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0x34]
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
push ecx
push edx
add eax, 0xdc
push eax
call fcn.004b43f0
add esp, 0xc
cmp dword [ebp - 0x14], 0
mov dword [esi + 0x14], 0
jne 0x53434d
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
test byte [esi + 8], 0x12
je 0x534eef
movzx ecx, byte [ebp - 0x4c]
mov eax, esi
call fcn.004d1ef0
mov ecx, esi
call fcn.004b3fc0
test eax, eax
jne 0x534336
add ebx, 0x14
jmp 0x530112
mov esi, dword [ebp - 0x24]
mov cl, byte [esi + 0x58]
test cl, 0x41
je 0x534e8b
cmp byte [edi + 0x95], 0
jne 0x534e8b
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x534e07
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x534e8b
push eax
test cl, 0x40
je 0x534e36
mov ecx, dword [esi + 0xcc]
mov edx, edi
mov dword [ebp - 0x40], ecx
call fcn.004d2f90
mov edx, dword [esi + 0xd0]
push eax
push edx
mov dword [ebp - 0x18], eax
call dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
push eax
call fcn.004ae140
jmp 0x534e88
cmp dword [esi + 0xbc], 1
jle 0x534e76
push str.____s
mov edx, esi
call fcn.004d6f50
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xcc]
push eax
push edi
push ecx
push 1
mov dword [ebp - 0x18], eax
call edx
add esp, 0x18
cmp dword [ebp - 0x18], 0
je 0x534e8b
mov eax, dword [ebp - 0x18]
mov ecx, esi
call fcn.004ae210
jmp 0x534e8b
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xcc]
push edi
push eax
push 1
call ecx
add esp, 0x10
mov edx, dword [ebx + 4]
cmp edx, dword [0x58e89c]
jl 0x534ed4
cmp byte [ebx], 0xaa
je case.0x530128.85
mov esi, 1
mov edx, esi
cmp dword [edi + 0x6c], esi
jle 0x534ecb
mov ecx, 0x14
lea esp, [esp]
mov eax, dword [edi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x534ec1
mov dword [eax + ecx + 4], 0
add edx, esi
add ecx, 0x14
cmp edx, dword [edi + 0x6c]
jl 0x534eb0
mov dword [ebx + 4], 0
jmp 0x534ed9
mov esi, 1
add dword [ebx + 4], esi
add dword [edi + 0xbc], esi
mov ebx, dword [ebx + 8]
mov edx, dword [ebp - 0x48]
lea ecx, [ebx + ebx*4]
lea ebx, [edx + ecx*4 - 0x14]
mov edi, dword [ebp - 0x28]
add ebx, 0x14
jmp 0x530112
push str.cannot_open_savepoint___SQL_statements_in_progress
mov esi, edi
call fcn.004d9490
mov dword [ebp - 0x14], 5
jmp 0x53434a
push str.cannot_release_savepoint___SQL_statements_in_progress
mov esi, edi
call fcn.004d9490
mov dword [ebp - 0x14], 5
jmp 0x53434a
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x534f38
mov ecx, esi
call fcn.004ae210
push str.database_schema_has_changed
mov ecx, esi
call fcn.004c44c0
mov dword [edi + 0x7c], eax
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x10]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
mov edx, dword [ebp - 0xbc]
add esp, 4
cmp dword [ecx], edx
je 0x534f6b
push esi
call fcn.004dbc40
add esp, 4
mov eax, dword [edi + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [edi + 0x98], eax
mov dword [ebp - 0x14], 0x11
jmp 0x53434d
mov dword [ebp - 0x14], 7
jmp 0x533a61
mov ecx, dword [ebx + 4]
mov dword [edi + 0x28], ecx
mov dl, byte [ebx + 8]
mov byte [edi + 0x92], dl
mov dword [edi + 0x24], eax
test ecx, ecx
je 0x53501d
movzx eax, word [ebx + 2]
mov esi, edi
test ax, ax
je 0x534fec
mov ecx, dword [eax*4 + 0x569a1c]
push ecx
push str._s_constraint_failed
call fcn.004d9490
mov eax, dword [ebx + 0x10]
add esp, 8
test eax, eax
je 0x534ffd
mov edx, dword [edi + 0x7c]
push eax
push edx
mov edx, dword [ebp - 0x24]
push str._z:__s
call fcn.004d6f50
add esp, 0xc
mov dword [edi + 0x7c], eax
jmp 0x534ffd
mov eax, dword [ebx + 0x10]
push eax
push 0x566c0c
call fcn.004d9490
add esp, 8
mov ecx, dword [edi + 0x7c]
mov edx, dword [edi + 0xc0]
mov eax, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebx + 4]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call fcn.004d71b0
add esp, 0x14
mov eax, edi
call fcn.0051bd80
mov dword [ebp - 0x14], eax
cmp eax, 5
jne 0x535034
mov dword [edi + 0x28], eax
jmp 0x5354ba
mov eax, dword [edi + 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x14], eax
jmp 0x5354ba
push 0
mov eax, edi
call fcn.004d9830
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x53434d
lea edx, [eax + 1]
mov eax, edi
call fcn.0050a100
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp - 0x1c]
add edx, 2
or edx, 1
mov dword [edi + 0x20], edx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [edi + 0x78], esi
xor edi, edi
cmp dword [ebx + 8], edi
jle 0x5350ba
lea esp, [esp]
mov edx, 0x1000
test word [esi + 8], dx
je 0x5350aa
mov eax, esi
call fcn.004cd750
test eax, eax
jne 0x5330c1
mov eax, esi
call fcn.004c61e0
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x535090
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x51], 0
jne 0x5330c1
test byte [eax + 0x58], 4
mov edi, dword [ebp - 0x28]
je 0x5350e7
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xcc]
push 0
push edi
push ecx
push 4
call edx
add esp, 0x10
mov ecx, ebx
sub ecx, dword [ebp - 0x48]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 1]
mov dword [edi + 0x24], ecx
mov dword [ebp - 0x14], 0x64
jmp 0x5354ba
mov eax, 0x157a8
call fcn.004e4200
mov dword [ebp - 0x14], eax
jmp 0x53434d
mov ecx, ebx
sub ecx, dword [ebp - 0x48]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, 5
mov byte [esi + 0x4f], 0
mov dword [ebp - 0x14], eax
mov dword [edi + 0x28], eax
jmp 0x5354ba
mov esi, dword [ebp - 0x24]
movzx edx, byte [esi + 0x4f]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x18], eax
cmp eax, edx
je 0x53521f
test ecx, ecx
je 0x53517e
push 0x204
mov eax, esi
call fcn.00515530
add esp, 4
mov byte [esi + 0x4f], 1
jmp 0x5351c0
test eax, eax
je 0x5351a3
cmp dword [esi + 0xb8], 0
jle 0x5351a3
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, edi
call fcn.004d9490
mov dword [ebp - 0x14], 5
jmp 0x53434a
push 1
mov eax, edi
call fcn.004d9830
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x5354ba
mov al, byte [ebp - 0x18]
mov byte [esi + 0x4f], al
mov eax, edi
call fcn.0051bd80
cmp eax, 5
jne 0x5351fd
mov ecx, ebx
sub ecx, dword [ebp - 0x48]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dl, 1
sub dl, byte [ebp - 0x18]
mov eax, 5
mov dword [edi + 0x24], ecx
mov byte [esi + 0x4f], dl
mov dword [ebp - 0x14], eax
mov dword [edi + 0x28], eax
jmp 0x5354ba
mov edi, esi
call fcn.004bb700
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
mov edi, dword [ebp - 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x14], eax
jmp 0x5354ba
test eax, eax
jne 0x53523c
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
mov esi, edi
call fcn.004d9490
mov dword [ebp - 0x14], 1
jmp 0x53434a
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x53524a
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov esi, edi
call fcn.004d9490
mov dword [ebp - 0x14], 1
jmp 0x53434a
mov dword [ebp - 0x14], 8
jmp 0x53434d
cmp byte [ebp - 0x14], 5
jne 0x53434d
mov ecx, ebx
sub ecx, dword [ebp - 0x48]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x24], ecx
mov dword [edi + 0x28], edx
jmp 0x5354ba
mov dword [ebp - 0x14], 0x204
jmp 0x53434d
mov dword [ebp - 0x14], 0xd
jmp 0x53434d
mov dword [ebp - 0x14], 0x30b
jmp 0x53434d
mov dword [ebp - 0x14], 6
mov byte [edi + 0x92], 2
jmp 0x53434d
push str.too_many_levels_of_trigger_recursion
mov esi, edi
mov dword [ebp - 0x14], 1
call fcn.004d9490
jmp 0x53434a
push edi
call fcn.004d26e0
mov esi, dword [ebp - 0x28]
push eax
push 0x566c0c
call fcn.004d9490
add esp, 0xc
jmp 0x53434d
mov dword [ebp - 0x14], 1
mov eax, str.into
cmp esi, 5
je 0x535319
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov esi, edi
call fcn.004d9490
add esp, 8
jmp 0x53434d
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp 0x5330c1
mov dword [ebp - 0x14], 6
jmp 0x53434d
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp byte [ecx + 0x51], dl
sete dl
lea edx, [edx + edx + 7]
mov dword [ebp - 0x14], edx
mov dword [edi + 0x28], edx
call fcn.004bb860
push eax
push 0x566c0c
mov esi, edi
call fcn.004d9490
add esp, 8
jmp 0x53434d
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
cmp dword [edi + 0x7c], 0
jne 0x5353e6
cmp eax, 0xc0a
je 0x5353e6
mov ecx, eax
sub ecx, 0x64
mov edx, str.unknown_error
je 0x5353cb
dec ecx
je 0x5353c4
sub ecx, 0x19f
je 0x5353bd
and eax, 0xff
cmp eax, 0x1c
ja 0x5353d0
mov eax, dword [eax*4 + 0x56e170]
test eax, eax
je 0x5353d0
mov edx, eax
jmp 0x5353d0
mov edx, str.abort_due_to_ROLLBACK
jmp 0x5353d0
mov edx, str.no_more_rows_available
jmp 0x5353d0
mov edx, str.another_row_available
push edx
push 0x566c0c
mov esi, edi
call fcn.004d9490
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
add esp, 8
mov dword [edi + 0x28], eax
cmp eax, 0xc0a
je 0x535419
and eax, 0xff
cmp eax, 0xe
je 0x5353ff
cmp eax, 0xa
jne 0x535419
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x535414
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x535416
xor eax, eax
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0x7c]
mov ecx, dword [edi + 0xc0]
push eax
push ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x48]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x14]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ecx
call fcn.004d71b0
add esp, 0x14
mov eax, edi
call fcn.0051bd80
cmp dword [ebp - 0x14], 0xc0a
jne 0x53549f
cmp byte [esi + 0x51], 0
jne 0x53549f
cmp byte [esi + 0x52], 0
jne 0x53549f
cmp dword [esi + 0xbc], 0
mov byte [esi + 0x51], 1
jle 0x53547f
mov dword [esi + 0x110], 1
mov eax, dword [esi + 0xf4]
inc dword [esi + 0x118]
xor edx, edx
mov word [esi + 0x11c], dx
test eax, eax
je 0x53549f
mov dword [eax + 0xc], 7
cmp byte [ebp - 0x55], 0
mov dword [ebp - 0x14], 1
jbe 0x5354ba
movzx eax, byte [ebp - 0x55]
dec eax
push esi
call fcn.004dbc40
add esp, 4
mov esi, dword [ebp - 0x24]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0x6c]
jb 0x535501
mov eax, dword [esi + 0x158]
test eax, eax
je 0x535501
mov edx, dword [esi + 0x15c]
mov ecx, dword [esi + 0x160]
add dword [ebp - 0x6c], ecx
push edx
call eax
add esp, 4
test eax, eax
je 0x5354c0
mov dword [ebp - 0x6c], 0xffffffff
mov dword [ebp - 0x14], 9
jmp 0x53434d
add dword [edi + 0xb4], ecx
cmp dword [edi + 0xa0], 0
je 0x535519
push edi
call fcn.004b42c0
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00480264
mov esp, ebp
pop ebp
ret