Function at 0x433a31
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d4
mov eax, dword [0x559940]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0x158], 0
push ebx
push esi
mov esi, eax
mov dword [ebp - 0x154], eax
mov ebx, dword [eax + 0x58]
push edi
mov dword [ebp - 0x184], ebx
mov edi, dword [esi]
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x160], edi
mov byte [ebp - 0x199], 0
mov al, byte [edi + 0x46]
mov byte [ebp - 0x180], al
mov byte [ebp - 0x1c0], al
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x164], eax
call fcn.0042aa20
cmp dword [esi + 0x28], 7
je 0x438cfe
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x68], 0
cmp dword [edi + 0x100], 0
mov dword [edi + 0x18c], 0
jne 0x438cc8
cmp dword [edi + 0x138], 0
je 0x432e82
mov ecx, dword [edi + 0x140]
xor edx, edx
mov eax, dword [esi + 0xb0]
div ecx
sub ecx, edx
mov dword [ebp - 0x1a8], ecx
jmp 0x432e8c
mov dword [ebp - 0x1a8], 0xffffffff
mov eax, dword [esi + 0x24]
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0x3e00
mov dword [ebp - 0x1bc], 0xff61
movsd qword [ebp - 0x1d0], xmm0
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1a0], eax
xor eax, eax
mov dl, byte [ebx]
inc eax
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x15c], eax
movzx eax, dl
mov dword [ebp - 0x168], ebx
mov byte [ebp - 0x169], dl
mov dword [ebp - 0x17c], eax
cmp eax, 0xa4
ja case.0x432eeb.83
jmp dword [eax*4 + 0x438e14]
mov eax, dword [ebx + 4]
mov ecx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x164]
mov word [eax + esi*8 + 8], cx
mov ecx, ebx
sub ecx, dword [ebp - 0x184]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x164]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
mov esi, dword [ebp - 0x154]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x184]
mov edi, dword [ebp - 0x160]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x184]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x164]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0x160]
mov dword [eax + ecx*8 + 4], edx
mov edx, 4
mov word [eax + ecx*8 + 8], dx
cmp dword [ebx + 8], 0
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x184]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
add ebx, 0xffffffec
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, 4
sub ebx, dword [ebp - 0x184]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x164]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0x164]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x184]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x154]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.0x432eeb.83
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x184]
imul ecx
mov ecx, dword [ebp - 0x168]
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [ecx + 4]
test edx, edx
jne 0x4387a2
mov esi, dword [esi + 0xc4]
test esi, esi
je 0x43879c
mov ecx, dword [ebp - 0x154]
mov eax, dword [esi + 4]
mov edi, dword [ebp - 0x160]
dec dword [ecx + 0xcc]
mov edx, dword [ecx + 0x2c]
mov dword [ecx + 0xc4], eax
mov ecx, edi
call fcn.0042ee40
mov ecx, esi
call fcn.0042b5b0
mov esi, dword [ebp - 0x168]
cmp dword [esi + 8], 4
mov esi, dword [ebp - 0x154]
jne 0x433103
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
mov ecx, dword [esi + 0x5c]
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x164], ecx
lea ebx, [edx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x43315e
call fcn.00432d60
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x15c]
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x432ebc
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x15c]
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x4331b9
mov ecx, edx
call fcn.00432d60
mov edx, eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x15c]
mov dword [edx], ecx
add ebx, 0x14
jmp 0x432ebc
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x15c]
mov dword [edx], ecx
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x4331fb
call fcn.00432d60
mov ecx, eax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x15c]
movsd qword [ecx], xmm0
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x43323f
mov ecx, esi
call fcn.00432d60
mov esi, eax
jmp 0x433248
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
mov byte [ebx], 0x45
test edx, edx
jne 0x433256
xor ecx, ecx
jmp 0x433275
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433260
sub ecx, edi
mov edi, dword [ebp - 0x160]
and ecx, 0x3fffffff
cmp byte [ebp - 0x180], 1
mov dword [ebx + 4], ecx
je 0x4332d9
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00428a70
movzx edx, byte [ebp - 0x180]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0x158], eax
call fcn.00427cc0
test eax, eax
jne 0x434d7b
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x4332c9
mov edx, dword [ebx + 0x10]
mov ecx, edi
call fcn.00405510
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 esi, dword [ebp - 0x154]
cmp ecx, dword [edi + 0x64]
jg 0x438a7a
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x433306
call fcn.00432d60
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x180]
mov byte [ecx + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle case.0x432eeb.83
mov edi, dword [ebp - 0x164]
lea esi, [eax + eax*4]
movzx eax, word [ebx + 2]
cdq
cmp dword [edi + esi*8], eax
mov edi, dword [ebp - 0x160]
jne 0x4336f7
mov eax, dword [ebp - 0x164]
cmp dword [eax + esi*8 + 4], edx
mov esi, dword [ebp - 0x154]
jne case.0x432eeb.83
mov eax, 0xa10
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x43339b
mov ecx, edx
call fcn.00432d60
mov edx, eax
jmp 0x4333a4
mov eax, 4
mov word [edx + 8], ax
cmp dword [ebx + 4], 0
mov esi, 0x101
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
cmovne eax, esi
movzx eax, ax
lea esi, [edx + 8]
sub edi, ecx
mov dword [ebp - 0x14], eax
mov word [esi], ax
mov dword [edx + 0xc], 0
test edi, edi
jle 0x4336f1
mov ecx, 0x2460
nop dword [eax]
test word [esi + 0x28], cx
lea esi, [esi + 0x28]
je 0x4333f9
lea ecx, [esi - 8]
call fcn.00428230
mov eax, dword [ebp - 0x14]
mov ecx, 0x2460
dec edi
mov word [esi], ax
mov dword [esi + 4], 0
test edi, edi
jg 0x4333e0
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, word [ebp - 0x1bc]
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x433473
mov ecx, esi
call fcn.00432d60
mov esi, eax
jmp 0x43347c
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
mov ecx, esi
push 0
push 0
push dword [ebx + 4]
call fcn.00428a70
mov al, byte [ebp - 0x180]
add esp, 0xc
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x74]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.00428950
test eax, eax
jne 0x438a74
mov eax, dword [ebx + 8]
lea edx, [esi - 0x28]
mov ecx, dword [ebp - 0x164]
push 0x800
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004289b0
mov esi, dword [ebp - 0x154]
add esp, 4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xa4], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop dword [eax]
mov eax, 0x2460
test word [esi + 8], ax
jne 0x433531
cmp dword [esi + 0x18], 0
je 0x43353e
mov ecx, esi
call fcn.004282a0
mov ecx, dword [ebp - 0xa4]
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x433586
mov ecx, esi
call fcn.00427f00
test eax, eax
jne 0x434d7b
mov ecx, dword [ebp - 0xa4]
add edi, 0x28
add esi, 0x28
sub ecx, 1
mov dword [ebp - 0xa4], ecx
jne 0x433520
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x170], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.004289b0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x4335fd
mov ecx, esi
call fcn.00427f00
test eax, eax
jne 0x434d7b
mov ecx, dword [ebp - 0x170]
mov eax, ecx
dec ecx
mov dword [ebp - 0x170], ecx
test eax, eax
je 0x4336f1
add esi, 0x28
add edi, 0x28
jmp 0x4335d2
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004289b0
mov eax, dword [ebp - 0x15c]
add esp, 4
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov esi, 0x2460
test word [ecx + 8], si
mov esi, dword [ebp - 0x154]
je 0x43369a
push eax
push edx
call fcn.00428810
mov eax, dword [ebp - 0x15c]
add esp, 8
add ebx, 0x14
jmp 0x432ebc
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x15c]
mov dword [ecx], edx
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebp - 0x164]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0xa4], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x43370b
mov ecx, esi
call fcn.004287f0
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
test edx, 0x4000
je 0x433720
call fcn.00427fa0
test eax, eax
jne 0x434d7b
mov eax, 0x4000
test word [edi + 8], ax
je 0x43373a
mov ecx, edi
call fcn.00427fa0
test eax, eax
jne 0x434d7b
mov eax, dword [ebp - 0xa4]
test byte [eax + 8], 0x12
jne 0x433760
mov dl, byte [ebp - 0x180]
mov ecx, eax
push 0
call fcn.00427ff0
add esp, 4
test eax, eax
jne 0x434d7b
test byte [edi + 8], 0x12
jne 0x433780
mov dl, byte [ebp - 0x180]
mov ecx, edi
push 0
call fcn.00427ff0
add esp, 4
test eax, eax
jne 0x434d7b
mov eax, dword [ebp - 0xa4]
mov ecx, dword [edi + 0xc]
add ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x14], ecx
cmp ecx, dword [eax + 0x64]
jg 0x438a74
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.00427ce0
add esp, 4
test eax, eax
jne 0x434d7b
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x4337e4
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004f79b0
add esp, 0xc
mov eax, dword [ebp - 0xa4]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0x10]
push eax
call fcn.004f79b0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x160]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x180]
mov byte [esi + 0xa], al
mov eax, dword [ebp - 0x15c]
mov dword [esi + 0xc], ecx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x174], eax
call fcn.00432d40
movzx eax, ax
mov dword [ebp - 0x17c], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x170], eax
call fcn.00432d40
mov edi, dword [ebp - 0x170]
mov edx, dword [ebp - 0x174]
movzx eax, ax
mov dword [ebp - 0x194], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ax, word [edi + 8]
or ax, word [edx + 8]
movzx ecx, ax
mov al, byte [ebp - 0x194]
and al, byte [ebp - 0x17c]
mov dword [ebp - 0x178], esi
test al, 4
je 0x433a05
mov eax, edx
mov byte [ebp - 0x169], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x30], eax
movzx eax, byte [ebx]
add eax, 0xffffffa8
mov dword [ebp - 0x2c], edi
cmp eax, 3
ja case.default.0x4338ec
jmp dword [eax*4 + 0x4390a8]
push edx
push ecx
lea ecx, [ebp - 0x30]
call fcn.004099b0
add esp, 8
test eax, eax
je 0x4339cc
mov edx, dword [ebp - 0x174]
mov ecx, edx
call fcn.00428490
mov ecx, dword [ebp - 0x170]
movsd qword [ebp - 0x190], xmm0
call fcn.00428490
movzx eax, byte [ebx]
add eax, 0xffffffa8
movsd qword [ebp - 0x18], xmm0
cmp eax, 3
ja case.default.0x43393c
jmp dword [eax*4 + 0x4390b8]
push edx
push ecx
lea ecx, [ebp - 0x30]
call fcn.00409a50
add esp, 8
test eax, eax
jne 0x433908
jmp 0x4339cc
push edx
push ecx
lea ecx, [ebp - 0x30]
call fcn.00409aa0
add esp, 8
test eax, eax
jne 0x433908
jmp 0x4339cc
mov eax, ecx
or eax, edx
je 0x433b1b
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xa4]
jne 0x433992
test eax, eax
jne 0x433992
cmp edi, 0x80000000
je 0x433908
push edx
push ecx
push edi
push eax
call fcn.00520320
jmp 0x4339c6
mov eax, ecx
or eax, edx
je 0x433b1b
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4339b7
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 0xa4]
push edx
push ecx
push edi
push eax
call fcn.005204b0
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x160]
mov dword [esi], eax
mov ax, word [esi + 8]
mov dword [esi + 4], ecx
mov ecx, 0x3e00
and ax, cx
or ax, 4
mov word [esi + 8], ax
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
test cl, 1
jne 0x433b1b
mov byte [ebp - 0x169], 0
jmp 0x43390e
addsd xmm0, qword [ebp - 0x190]
jmp 0x433aae
subsd xmm0, qword [ebp - 0x190]
jmp 0x433aae
mulsd xmm0, qword [ebp - 0x190]
jmp 0x433aae
movsd xmm1, qword [ebp - 0x190]
ucomisd xmm1, qword [ebp - 0x1d0]
lahf
test ah, 0x44
jnp 0x433b1b
divsd xmm0, xmm1
jmp 0x433aae
movsd xmm0, qword [ebp - 0x190]
call fcn.004f5170
movsd xmm0, qword [ebp - 0x18]
mov esi, eax
mov edi, edx
call fcn.004f5170
mov ecx, eax
mov dword [ebp - 0x2c], edx
mov eax, esi
mov dword [ebp - 0x30], ecx
or eax, edi
je 0x433b1b
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x433a98
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.005204b0
mov ecx, eax
call fcn.004f5280
mov esi, dword [ebp - 0x178]
movsd qword [ebp - 0x18], xmm0
call fcn.00408620
test eax, eax
jne 0x433b1b
mov ax, word [esi + 8]
mov ecx, 0x3e00
movsd xmm0, qword [ebp - 0x18]
and ax, cx
or ax, 8
movsd qword [esi], xmm0
mov word [esi + 8], ax
mov eax, dword [ebp - 0x194]
or al, byte [ebp - 0x17c]
test al, 8
jne 0x4336f1
cmp byte [ebp - 0x169], 0
jne 0x4336f1
mov ecx, esi
call fcn.004284c0
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebp - 0x178]
jmp 0x4336ec
mov eax, dword [ebx + 4]
test eax, eax
je case.0x432eeb.83
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00428840
mov eax, dword [ebp - 0x15c]
add esp, 8
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x14], ecx
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [ebp - 0x18c], esi
test al, 1
je 0x433ba6
mov ecx, esi
call fcn.004287f0
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, edx
call fcn.00428410
mov ecx, dword [ebp - 0x14]
mov edi, eax
mov esi, edx
mov dword [ebp - 0x1b8], edi
mov dword [ebp - 0x1b4], esi
call fcn.00428410
mov ecx, eax
mov al, byte [ebx]
mov dword [ebp - 0x170], ecx
mov byte [ebp - 0x169], al
cmp al, 0x54
jne 0x433bdf
and edi, ecx
and esi, edx
jmp 0x433c50
cmp al, 0x55
jne 0x433be9
or edi, ecx
or esi, edx
jmp 0x433c50
mov eax, ecx
or eax, edx
je 0x433c50
test edx, edx
jg 0x433c1c
jl 0x433bf9
test ecx, ecx
jae 0x433c1c
mov al, 0xad
sub al, byte [ebp - 0x169]
cmp edx, 0xffffffff
jl 0x433c2d
jg 0x433c0d
cmp ecx, 0xffffffc0
jbe 0x433c2d
neg ecx
mov dword [ebp - 0x170], ecx
adc edx, 0
neg edx
jmp 0x433c22
mov al, byte [ebp - 0x169]
test edx, edx
jl 0x433c89
jg 0x433c2d
cmp ecx, 0x40
jb 0x433c89
test esi, esi
jg 0x433c42
jl 0x433c37
test edi, edi
jae 0x433c42
cmp al, 0x56
je 0x433c42
or edi, 0xffffffff
or esi, edi
jmp 0x433c50
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18c]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], edi
mov edi, dword [ebp - 0x160]
or ax, 4
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x154]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
movq xmm1, qword [ebp - 0x1b8]
movd xmm0, ecx
cmp al, 0x56
jne 0x433ca4
psllq xmm1, xmm0
movq qword [ebp - 0x18], xmm1
jmp 0x433c4a
psrlq xmm1, xmm0
movq qword [ebp - 0x18], xmm1
test esi, esi
jg 0x433c4a
jl 0x433cb7
test edi, edi
jae 0x433c4a
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [ebp - 0x170]
or edx, 0xffffffff
call fcn.004f4a60
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
or edi, eax
or esi, edx
jmp 0x433c50
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00428520
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x15c]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x433d5e
push dword [ebp - 0x180]
mov dl, 0x43
mov ecx, esi
call fcn.00432b90
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x433d5e
cmp dword [ebx + 8], 0
mov esi, dword [ebp - 0x154]
jne 0x432f35
mov ebx, 0x14
jmp 0x438d11
mov eax, dword [ebp - 0x15c]
and ecx, 0x3e00
or ecx, 4
mov word [esi + 8], cx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je case.0x432eeb.83
call fcn.00428590
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
mov ecx, esi
test word [esi + 8], ax
je 0x433e07
call fcn.00427fa0
push dword [ebp - 0x180]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x158], eax
call fcn.00428690
add esp, 4
mov esi, dword [ebp - 0x154]
cmp dword [ebp - 0x158], 0
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
push dword [ebp - 0x1c0]
mov dl, byte [ebx + 8]
mov dword [ebp - 0x158], 0
call fcn.00428690
mov esi, dword [ebp - 0x154]
add esp, 4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
lea esi, [ebx + 2]
mov edx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x174], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
movzx eax, word [ecx + 8]
movzx edx, word [edi + 8]
mov ecx, edx
mov dword [ebp - 0x170], edi
or ecx, eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x178], edx
test cl, 1
je 0x433f1d
movzx eax, word [esi]
test al, al
jns 0x433eb1
mov al, dl
and al, byte [ebp - 0x168]
test al, 1
je 0x433f96
test edx, 0x100
jne 0x433f96
movzx edx, byte [ebx]
xor ecx, ecx
mov al, byte [edx + 0x54c290]
jmp 0x433fa4
test al, 0x20
je 0x433efb
mov eax, dword [ebx + 8]
mov esi, 0x3e00
mov edx, dword [ebp - 0x164]
mov edi, dword [ebp - 0x160]
mov dword [ebp - 0x1a4], 1
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov esi, dword [ebp - 0x154]
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov esi, dword [ebp - 0x154]
test al, 0x10
jne 0x432f35
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov al, byte [esi]
and al, 0x47
cmp al, 0x43
jb 0x43405d
test cl, 2
je 0x433f66
mov al, byte [ebp - 0x168]
and al, 0xe
cmp al, 2
jne 0x433f51
mov ecx, dword [ebp - 0x174]
xor edx, edx
call fcn.00432ab0
movzx eax, word [edi + 8]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
and al, 0xe
cmp al, 2
jne 0x433f66
xor edx, edx
mov ecx, edi
call fcn.00432ab0
mov ecx, dword [ebp - 0x174]
mov al, byte [edi + 8]
and al, byte [ecx + 8]
test al, 4
je 0x4340df
mov edx, dword [edi]
mov eax, ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp dword [edi + 4], eax
jl 0x43404c
jg 0x433f96
cmp edx, ecx
jbe 0x434039
movzx edx, byte [ebx]
mov ecx, 1
mov al, byte [edx + 0x54b624]
mov edi, dword [ebp - 0x174]
movzx edx, al
movzx eax, word [ebp - 0x168]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x170]
movzx eax, word [ebp - 0x178]
mov word [edi + 8], ax
movzx eax, word [esi]
mov dword [ebp - 0x14], eax
test al, 0x20
je 0x434156
test byte [ebp - 0x14], 8
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1a4], ecx
lea esi, [eax + eax*4]
je 0x433ff9
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edx
je 0x4336f1
mov edi, dword [ebp - 0x164]
mov eax, 0x3e00
mov cx, word [edi + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov dword [edi + esi*8], eax
mov eax, dword [ebp - 0x15c]
mov word [edi + esi*8 + 8], cx
mov dword [edi + esi*8 + 4], edx
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
cmp dword [edi + 4], eax
jg 0x433ea1
jl 0x43404c
cmp edx, ecx
jae 0x433ea1
movzx eax, byte [ebx]
or ecx, 0xffffffff
mov al, byte [eax + str.SQLite_format_3]
jmp 0x433fa4
cmp al, 0x42
jne 0x4340df
mov al, byte [ebp - 0x168]
test al, 2
jne 0x4340a5
test al, 0xc
je 0x4340a5
mov dl, byte [ebp - 0x180]
mov ecx, dword [ebp - 0x174]
push 1
call fcn.00427ff0
mov eax, dword [ebp - 0x174]
mov ecx, 0x3e00
add esp, 4
mov ax, word [eax + 8]
xor ax, word [ebp - 0x168]
and ax, cx
xor word [ebp - 0x168], ax
mov al, byte [ebp - 0x178]
test al, 2
jne 0x4340df
test al, 0xc
je 0x4340df
mov dl, byte [ebp - 0x180]
mov ecx, edi
push 1
call fcn.00427ff0
mov ax, word [edi + 8]
mov ecx, 0x3e00
xor ax, word [ebp - 0x178]
add esp, 4
and ax, cx
xor word [ebp - 0x178], ax
movzx eax, word [ebp - 0x178]
mov ecx, edi
push dword [ebx + 0x10]
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x18c], eax
movzx eax, word [ebp - 0x168]
mov dword [ebp - 0x14], eax
call fcn.0042db40
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jns 0x434120
movzx eax, byte [ebx]
mov al, byte [eax + str.SQLite_format_3]
jmp 0x433fa4
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ebx]
movzx eax, cx
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x168], eax
movzx eax, cx
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x1c]
mov ecx, eax
test eax, eax
jne 0x433f9e
mov al, byte [edx + 0x54c290]
jmp 0x433fa4
mov esi, dword [ebp - 0x154]
test edx, edx
jne 0x432f35
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp dword [ebp - 0x1a4], 0
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
test byte [ebx + 2], 1
jne 0x43419d
xor eax, eax
jmp 0x4341a3
mov eax, dword [ebx - 4]
add eax, 4
mov esi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x18c], esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x14], esi
xor esi, esi
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xa4], edx
test ecx, ecx
jle 0x4336f7
lea edi, [edx + 0x14]
test eax, eax
je 0x4341dd
mov ecx, dword [eax + esi*4]
jmp 0x4341df
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x164]
push dword [edi]
mov al, byte [esi + eax]
mov byte [ebp - 0x169], al
mov eax, dword [ebp - 0x14]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x18c]
add eax, ecx
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0042db40
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1a4], ecx
test ecx, ecx
jne 0x434255
mov eax, dword [ebp - 0x170]
inc esi
mov edx, dword [ebp - 0xa4]
add edi, 4
cmp esi, dword [ebp - 0x1c]
jl 0x4341d4
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp byte [ebp - 0x169], 0
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
je 0x433703
neg ecx
mov dword [ebp - 0x1a4], ecx
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebp - 0x1a4]
test ecx, ecx
jns 0x4342ae
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x184]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0xffffffec
add ebx, 0x14
jmp 0x432ebc
jne 0x4342d0
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x184]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0xffffffec
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x184]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0xffffffec
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x43430d
mov esi, 6
jmp 0x43431f
call fcn.00428410
or eax, edx
je 0x43431d
mov esi, 3
jmp 0x43431f
xor esi, esi
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x434341
mov ecx, 0x54e602
mov eax, 0x54b6c6
jmp 0x434360
call fcn.00428410
or eax, edx
je 0x434356
mov ecx, 0x54e601
mov eax, 0x54b6c5
jmp 0x434360
mov ecx, 0x54e600
mov eax, 0x54b6c4
cmp byte [ebx], 0x2c
cmovne eax, ecx
mov ecx, 0x3e00
mov dl, byte [eax + esi]
mov eax, dword [ebx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x164]
mov ax, word [eax + esi*8 + 8]
and ax, cx
movzx ecx, ax
cmp dl, 2
jne 0x4343af
or ecx, 1
movzx eax, cx
mov ecx, dword [ebp - 0x164]
mov word [ecx + esi*8 + 8], ax
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edi, dword [ebp - 0x164]
or ecx, 4
movzx eax, dl
cdq
mov dword [edi + esi*8], eax
mov eax, edi
mov edi, dword [ebp - 0x160]
mov dword [eax + esi*8 + 4], edx
movzx eax, cx
mov ecx, dword [ebp - 0x164]
mov word [ecx + esi*8 + 8], ax
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x434419
mov ecx, esi
call fcn.00428230
jmp 0x434422
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4336f1
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00428410
or eax, edx
jne 0x434466
mov edi, dword [ebp - 0x160]
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov edi, dword [ebp - 0x160]
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4344bf
mov ecx, esi
call fcn.00428230
jmp 0x4344c8
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4336f1
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00428410
mov edi, dword [ebp - 0x160]
not eax
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov edi, dword [esi + 0xc4]
test edi, edi
je 0x43456c
mov edi, dword [edi + 0x18]
mov ecx, ebx
sub ecx, dword [esi + 0x58]
mov eax, 0x66666667
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x432f2f
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x154]
mov edi, dword [ebp - 0x160]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x432f35
mov eax, dword [esi + 0x58]
mov edi, dword [ebp - 0x160]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x4345b3
mov ecx, dword [ebx + 0xc]
jmp 0x4345d5
call fcn.00428490
ucomisd xmm0, qword [ebp - 0x1d0]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
cmp byte [ebx], 0x16
jne 0x4345d5
xor ecx, eax
test ecx, ecx
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je case.0x432eeb.83
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004287f0
jmp 0x432f35
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xb0]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xb0], eax
call fcn.0042d1a0
mov edi, eax
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x4389f4
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x174], edi
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0x178], edx
cmp eax, dword [esi + 0x20]
je 0x4347e5
cmp byte [ecx + 2], 0
je 0x434713
cmp byte [ecx], 3
jne 0x438142
mov eax, dword [ecx + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + edx*8 + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + edx*8 + 0x10]
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xa8]
jmp 0x43475d
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.0041e660
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0x50], eax
mov ecx, esi
mov edx, dword [ebp - 0xa8]
lea edx, [edx + 0x54]
call fcn.0041ecd0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x64]
ja 0x438a7a
mov eax, dword [esi + 0x20]
mov edx, dword [ebp - 0x178]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x434781
movzx eax, al
mov dword [edx], eax
mov al, 1
jmp 0x43478c
call fcn.00409850
mov edx, dword [ebp - 0x178]
movzx ecx, al
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xa8]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x54]
cmp eax, dword [edx]
jae 0x4348c6
mov dword [ecx + 0x4c], 0
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x54], 0
mov eax, dword [edx]
cmp eax, 0x18003
ja 0x4349d9
mov ecx, dword [ebp - 0xa8]
cmp eax, dword [ecx + 0x50]
ja 0x4349d9
movzx eax, word [ecx + 0x3a]
mov esi, dword [ebp - 0xb0]
cmp eax, esi
jg 0x434a4d
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx]
jae 0x434a07
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0xa4], eax
test eax, eax
jne 0x434864
xorps xmm0, xmm0
lea eax, [ebp - 0x150]
movups xmmword [ebp - 0x150], xmm0
push eax
movups xmmword [ebp - 0x140], xmm0
movq qword [ebp - 0x130], xmm0
push dword [edx]
mov ecx, dword [ecx + 0x28]
xor edx, edx
call fcn.00428d90
add esp, 8
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438d05
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0xa4], eax
movzx eax, word [ecx + 0x3a]
mov edi, dword [edx + eax*4]
mov esi, dword [ecx + 0x30]
add esi, dword [ebp - 0xa4]
mov dword [ebp - 0x1c], eax
lea eax, [edx + eax*4]
mov dword [ebp - 0x170], eax
xor eax, eax
mov dword [ebp - 0x17c], eax
mov eax, dword [edx]
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0x194], eax
mov eax, 0x58
sub eax, edx
mov dword [ebp - 0x14], eax
movzx eax, byte [esi]
mov dword [ebp - 0xac], eax
cmp eax, 0x80
jae 0x4348cb
mov cl, al
inc esi
call fcn.0042d370
movzx eax, al
cdq
add edi, eax
adc dword [ebp - 0x17c], edx
jmp 0x4348f1
mov eax, dword [ecx + 0x4c]
jmp 0x43485e
lea edx, [ebp - 0xac]
mov ecx, esi
call fcn.00409850
mov ecx, dword [ebp - 0xac]
movzx eax, al
add esi, eax
call fcn.0042d350
add edi, eax
adc dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
mov dword [edx + ecx], eax
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1c]
add ecx, 4
mov eax, dword [ebp - 0x194]
inc edx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x1c], edx
mov dword [ecx], edi
mov ecx, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0xb0]
jg 0x43493f
cmp esi, eax
jb 0x4348a0
jmp 0x434943
cmp esi, eax
jb 0x434958
cmp esi, eax
ja 0x43496f
cmp edi, dword [ecx + 0x50]
jne 0x43496f
mov eax, dword [ebp - 0x17c]
test eax, eax
jne 0x434969
jmp 0x43495e
mov eax, dword [ebp - 0x17c]
test eax, eax
jb 0x43497e
ja 0x434969
cmp edi, dword [ecx + 0x50]
jbe 0x43497e
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x178]
cmp dword [edx], 0
jne 0x4349c2
xor edx, edx
mov esi, eax
sub esi, dword [ebp - 0xa4]
mov word [ecx + 0x3a], dx
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0x30], esi
mov ecx, dword [ebp - 0xa8]
cmp dword [ecx + 0x4c], 0
jne 0x4349ae
lea ecx, [ebp - 0x150]
call fcn.00428390
mov ecx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov edi, dword [ebp - 0x174]
jmp 0x434a0f
cmp dword [ecx + 0x4c], 0
jne 0x4349d3
lea ecx, [ebp - 0x150]
call fcn.00428390
mov esi, dword [ebp - 0x154]
mov edx, dword [ebp - 0x184]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x438861
mov edi, dword [ebp - 0x160]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [edx + eax*4]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
xor edx, edx
mov dword [ebp - 0xac], edx
movzx eax, word [ecx + 0x3a]
cmp eax, esi
jg 0x434a57
cmp byte [ebx + 1], 0xf5
mov ecx, edi
jne 0x4336ec
mov edx, dword [ebx + 0x10]
push 0x800
call fcn.004289b0
mov edi, dword [ebp - 0x160]
add esp, 4
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ecx + esi*4 + 0x58]
mov dword [ebp - 0xac], edx
mov eax, 0x2460
test word [edi + 8], ax
je 0x434a7b
mov ecx, edi
call fcn.004287f0
mov ecx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov edi, dword [ebp - 0x178]
mov eax, dword [ecx + 0x54]
cmp eax, dword [edi + esi*4 + 4]
mov edi, dword [ebp - 0x174]
jb 0x434b63
mov eax, dword [ebp - 0x178]
mov edi, dword [ecx + 0x4c]
mov ecx, dword [ebp - 0x174]
add edi, dword [eax + esi*4]
cmp edx, 0xc
jae 0x434ad0
push ecx
mov ecx, edi
call fcn.0042d4e0
mov edi, dword [ebp - 0x160]
add esp, 4
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov al, byte [ebp - 0x180]
lea esi, [edx - 0xc]
shr esi, 1
mov dword [ecx + 0xc], esi
mov byte [ecx + 0xa], al
lea edx, [esi + 2]
cmp dword [ecx + 0x18], edx
jge 0x434b0c
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.00427ce0
add esp, 4
test eax, eax
jne 0x434d7b
mov ecx, dword [ebp - 0x174]
jmp 0x434b12
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push edi
push dword [ecx + 0x10]
call fcn.004f79b0
mov ecx, dword [ebp - 0x174]
add esp, 0xc
mov edi, dword [ebp - 0x160]
mov eax, dword [ecx + 0x10]
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0x154]
and eax, 1
mov ax, word [eax*2 + 0x54c1a8]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov al, byte [ebp - 0x180]
mov byte [edi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0xac]
test al, 0xc0
je 0x434b88
cmp edx, 0xc
jb 0x434b84
test dl, 1
je 0x434b99
test al, al
js 0x434b99
mov ecx, edx
call fcn.0042d350
test eax, eax
jne 0x434bc1
mov edx, dword [ebp - 0xac]
push edi
mov ecx, 0x56014c
call fcn.0042d4e0
mov edi, dword [ebp - 0x160]
add esp, 4
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa8]
push edi
push eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.00428d90
mov edi, eax
add esp, 8
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x438d05
mov esi, dword [ebp - 0x174]
mov edx, dword [ebp - 0xac]
push esi
mov ecx, dword [esi + 0x10]
call fcn.0042d4e0
mov edi, dword [ebp - 0x160]
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x180]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
push ebx
mov dl, al
mov ecx, edi
call fcn.00432b90
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x434c48
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edi, dword [ebp - 0x164]
xor eax, eax
mov dword [ebp - 0x178], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
movlpd qword [ebp - 0x198], xmm0
movlpd qword [ebp - 0x1b0], xmm0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x170], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x154]
movzx edx, byte [eax + 0x8f]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1c], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x14], eax
test esi, esi
je 0x434d0e
mov al, byte [esi]
mov edi, ecx
mov ebx, dword [ebp - 0x180]
push ebx
mov dl, al
mov ecx, edi
call fcn.00432b90
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x434cf1
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x194]
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.0042d1f0
mov esi, eax
add esp, 4
mov eax, 0x4000
mov dword [edi + 0x1c], esi
test word [edi + 8], ax
je 0x434dba
mov ecx, dword [ebp - 0x174]
or ecx, dword [ebp - 0xa4]
je 0x434da6
mov ecx, edi
call fcn.00427fa0
test eax, eax
je 0x434dba
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov ecx, eax
call fcn.00405d40
push 0x547e1c
push esi
call fcn.00429660
add esp, 8
mov ebx, 7
jmp 0x438d11
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [ebp - 0x194], eax
adc dword [ebp - 0x17c], edx
sub dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x174]
mov edx, 1
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x174], eax
adc dword [ebp - 0xa4], 0
cmp esi, 0x7f
jbe 0x434df3
shr esi, 7
xor ecx, ecx
mov eax, esi
or eax, ecx
je 0x434df3
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x434de5
mov eax, dword [ebp - 0x178]
add eax, edx
mov dword [ebp - 0x178], eax
cmp edi, dword [ebp - 0x170]
je 0x434e14
mov edx, dword [ebp - 0x1c]
sub edi, 0x28
jmp 0x434d44
cmp eax, 0x7e
jle 0x434e46
cdq
push edx
push eax
call fcn.004098d0
mov esi, eax
mov eax, dword [ebp - 0x178]
add eax, esi
mov dword [ebp - 0x178], eax
cdq
push edx
push eax
call fcn.004098d0
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0x178]
jge 0x434e4d
inc eax
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x174]
mov edi, dword [ebp - 0xa4]
cdq
add ecx, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x160]
mov esi, edx
adc edi, esi
mov dword [ebp - 0x174], ecx
add ecx, dword [ebp - 0x194]
mov eax, dword [eax + 0x64]
adc edi, dword [ebp - 0x17c]
cdq
cmp edi, edx
jg 0x438a74
jl 0x434e91
cmp ecx, eax
ja 0x438a74
mov edi, dword [ebp - 0x14]
mov ecx, edi
mov edx, dword [ebp - 0x174]
call fcn.00427ea0
test eax, eax
jne 0x434d7b
mov edx, dword [ebp - 0x178]
mov edi, dword [edi + 0x10]
cmp edx, 0x80
jae 0x434ec3
mov byte [edi], dl
mov eax, 1
jmp 0x434ed1
push esi
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.00409650
add esp, 8
mov ebx, dword [ebp - 0x170]
movzx esi, al
nop word [eax + eax]
mov eax, dword [ebx + 0x1c]
lea ecx, [esi + edi]
mov dword [ebp - 0x1c], eax
cmp eax, 0x80
jae 0x434ef9
mov byte [ecx], al
mov eax, 1
jmp 0x434f04
push 0
push eax
call fcn.00409650
add esp, 8
mov ecx, dword [ebp - 0x178]
mov edx, ebx
push dword [ebp - 0x1c]
movzx eax, al
add esi, eax
lea ecx, [ecx + edi]
call fcn.0042d380
add dword [ebp - 0x178], eax
add ebx, 0x28
add esp, 4
cmp ebx, dword [ebp - 0x18c]
jbe 0x434ee0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x194]
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x17c]
je case.0x432eeb.83
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x90]
mov eax, dword [esi + 0x70]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x90], xmm0
call fcn.00425740
mov edi, eax
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x4389f4
mov edx, ebx
mov ecx, esi
call fcn.00432d80
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x160]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x170], eax
test ecx, ecx
jne 0x4350d4
cmp dword [edi + 0xa8], ecx
jg 0x438872
mov ecx, eax
call fcn.00408660
mov ecx, dword [edi + 0x1bc]
mov esi, eax
add ecx, dword [edi + 0x1b8]
xor edx, edx
push ecx
mov ecx, edi
mov dword [ebp - 0x14], esi
call fcn.00486540
mov edi, eax
add esp, 4
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x438d05
lea eax, [esi + 0x21]
push edi
mov edi, dword [ebp - 0x160]
mov ecx, edi
push eax
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4336f7
mov ecx, dword [ebp - 0x14]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x170]
push edx
call fcn.004f79b0
add esp, 0xc
cmp byte [edi + 0x47], 0
je 0x435087
mov byte [edi + 0x47], 0
mov byte [edi + 0x4f], 1
jmp 0x43508d
inc dword [edi + 0x1b8]
mov eax, dword [edi + 0x1b0]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1c0]
mov ecx, dword [edi + 0x1c4]
mov dword [edi + 0x1b0], esi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [edi + 0x1c8]
mov ecx, dword [edi + 0x1cc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 0x14], ecx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebp - 0x160]
xor edi, edi
mov esi, dword [ecx + 0x1b0]
mov dword [ebp - 0x174], edi
test esi, esi
je 0x4388eb
mov ecx, dword [esi]
mov edx, eax
call fcn.00408ab0
test eax, eax
je 0x435109
mov esi, dword [esi + 0x18]
inc edi
mov eax, dword [ebp - 0x170]
jmp 0x4350e2
mov ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x17c]
cmp dword [ecx + 0xa8], 0
jle 0x435127
cmp edx, 1
je 0x43888a
cmp dword [esi + 0x18], 0
jne 0x4351b3
cmp byte [ecx + 0x4f], 0
je 0x4351b3
mov dword [ebp - 0x178], 1
cmp edx, 1
jne 0x4351bd
mov ecx, dword [ebp - 0x154]
call fcn.0042c4a0
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438ddb
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x154]
mov byte [eax + 0x47], 1
call fcn.0042c500
cmp eax, 5
je 0x4388a8
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x154]
mov byte [ecx + 0x4f], 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x158], eax
lea eax, [ecx + 0x1b8]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x178], eax
jmp 0x43530c
mov dword [ebp - 0x178], 0
lea eax, [ecx + 0x1b8]
mov dword [ebp - 0x194], eax
mov eax, dword [eax]
sub eax, edi
dec eax
mov dword [ebp - 0x174], eax
cmp edx, 2
jne 0x435268
mov edi, dword [ebp - 0x160]
mov ecx, dword [ecx + 0x18]
and ecx, 1
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x170], ecx
cmp dword [edi + 0x14], 0
jle 0x435270
mov eax, ecx
xor eax, 1
xor edi, edi
mov dword [ebp - 0x18c], eax
nop dword [eax]
push eax
mov eax, dword [ebp - 0x160]
mov edx, 0x204
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0041e070
add esp, 4
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438d05
mov eax, dword [ebp - 0x14]
add edi, 0x10
mov ecx, dword [ebp - 0x160]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x18c]
jl 0x435210
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x17c]
jmp 0x435270
xor ecx, ecx
mov dword [ebp - 0x170], ecx
mov edi, dword [ebp - 0x160]
mov dword [ebp - 0x14], 0
cmp dword [edi + 0x14], 0
jle 0x4352d6
xor edi, edi
push eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0041e2f0
add esp, 4
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438d05
mov eax, dword [ebp - 0x14]
add edi, 0x10
mov ecx, dword [ebp - 0x160]
inc eax
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x14], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x174]
jl 0x435285
mov ecx, dword [ebp - 0x170]
mov edi, dword [ebp - 0x160]
test ecx, ecx
je 0x435306
mov eax, dword [edi + 4]
test eax, eax
je 0x4352ef
or dword [eax + 0x94], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x4352e1
mov ecx, edi
call fcn.00450350
mov eax, dword [ebp - 0x194]
or dword [edi + 0x18], 1
mov dword [ebp - 0x194], eax
mov edi, dword [ebp - 0x174]
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 0x1b0]
cmp ecx, esi
je 0x43534e
mov edi, dword [ebp - 0x194]
mov ebx, eax
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1b0], eax
call fcn.00405470
dec dword [edi]
mov ecx, dword [ebx + 0x1b0]
cmp ecx, esi
jne 0x435324
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x174]
mov edx, dword [ebp - 0x17c]
cmp edx, 1
jne 0x4353c5
mov ecx, dword [ebp - 0x160]
mov edx, esi
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1b0], eax
call fcn.00405470
cmp dword [ebp - 0x178], 0
jne 0x435407
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x160]
dec dword [eax]
push edi
mov ecx, esi
call fcn.00486540
mov esi, dword [ebp - 0x154]
mov edi, eax
add esp, 4
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x4389f4
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp dword [ebp - 0x178], 0
mov edi, dword [ebp - 0x160]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1c0], eax
mov eax, edi
mov dword [eax + 0x1c4], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0x174]
mov dword [esi + 0x1c8], eax
mov dword [esi + 0x1cc], ecx
je 0x435390
cmp edx, 2
je 0x435390
cmp dword [ebp - 0x158], 0
mov esi, dword [ebp - 0x154]
jne 0x4389f4
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebx + 8]
test edx, edx
je 0x435442
test dword [edi + 0x1c], 0x100000
jne 0x4388f6
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x435532
mov ecx, esi
call fcn.0041cd40
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438900
cmp dword [ebx + 8], eax
je 0x43550b
mov ecx, dword [ebp - 0x154]
test byte [ecx + 0x94], 0x40
je 0x43550b
cmp byte [edi + 0x47], al
je 0x435495
cmp dword [edi + 0xa4], 1
jle 0x43550b
mov eax, dword [ecx + 0x30]
test eax, eax
jne 0x4354b1
mov eax, dword [edi + 0x1b8]
inc dword [edi + 0x1bc]
add eax, dword [edi + 0x1bc]
mov dword [ecx + 0x30], eax
dec eax
xor edx, edx
push eax
mov ecx, edi
call fcn.00486540
mov edx, eax
add esp, 4
mov dword [ebp - 0x158], edx
test edx, edx
jne 0x4354e1
mov eax, dword [ebp - 0x154]
mov ecx, esi
mov edx, dword [eax + 0x30]
call fcn.0041e290
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x154]
mov eax, dword [edi + 0x1c0]
mov ecx, dword [edi + 0x1c4]
mov dword [edx + 0x48], eax
mov dword [edx + 0x4c], ecx
mov eax, dword [edi + 0x1c8]
mov ecx, dword [edi + 0x1cc]
mov dword [edx + 0x50], eax
mov dword [edx + 0x54], ecx
lea eax, [ebp - 0x50]
mov edx, 1
push eax
mov ecx, esi
call fcn.00425630
mov ecx, dword [ebx + 4]
add esp, 4
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x50]
jmp 0x435539
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x50], eax
cmp word [ebx + 2], 0
je 0x435552
cmp eax, dword [ebx + 0xc]
jne 0x43893f
cmp ecx, dword [ebx + 0x10]
jne 0x43893f
cmp dword [ebp - 0x158], 0
mov esi, dword [ebp - 0x154]
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x7c]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00425630
mov eax, dword [ebx + 8]
add esp, 4
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x4355c3
call fcn.00432d60
mov ecx, eax
mov eax, dword [ebp - 0x7c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x15c]
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x432ebc
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x7c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x15c]
mov dword [ecx + 4], edx
add ebx, 0x14
jmp 0x432ebc
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [edi + 0x10]
mov ecx, dword [esi + 4]
call fcn.00425690
mov dword [ebp - 0x158], eax
add esp, 4
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x435619
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [ecx], eax
or dword [edi + 0x18], 1
jmp 0x435627
cmp eax, 2
jne 0x435627
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [ebx + 4], 1
jne 0x433de6
mov ecx, edi
call fcn.0042ee50
mov esi, dword [ebp - 0x154]
and dword [esi + 0x94], 0xfffffffe
jmp 0x433dec
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x435663
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x435780
mov esi, dword [ebp - 0x154]
test byte [esi + 0x94], 1
jne 0x43898b
mov esi, dword [ebx + 0xc]
mov eax, esi
mov ecx, dword [ebx + 8]
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x14], ecx
mov edi, dword [eax + 4]
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0xa4], edi
cmp dl, 0x69
jne 0x4356d2
mov eax, dword [eax + 0xc]
movzx edi, word [ebx + 2]
mov edx, dword [ebp - 0x154]
and edi, 8
or edi, 4
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x8f]
jae 0x4356d4
mov byte [edx + 0x8f], al
jmp 0x4356d4
xor edi, edi
test byte [ebx + 2], 0x10
je 0x4356f8
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x164]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00428520
mov eax, dword [esi]
mov esi, dword [ebp - 0x18c]
mov dword [ebp - 0x14], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x43570e
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x170], eax
movzx eax, word [eax + 8]
jmp 0x43571a
cmp al, 0xfd
jne 0x435717
mov eax, dword [ebx + 0x10]
jmp 0x43571a
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x154]
push 0
push esi
push eax
call fcn.004329c0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x434d7b
push dword [esi + 0x28]
mov eax, dword [ebp - 0x14]
mov edx, eax
push dword [ebp - 0x170]
mov ecx, dword [ebp - 0xa4]
or dword [esi + 8], 4
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.0041e3b0
mov edi, dword [ebp - 0x160]
add esp, 0xc
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x170]
mov dword [esi + 0x2c], eax
cmp byte [ebx + 1], 0xf7
setne al
mov byte [esi + 4], al
movzx edx, word [ebx + 2]
mov ecx, dword [esi + 0x28]
and edx, 3
call fcn.00419f70
cmp dword [ebp - 0x158], 0
mov esi, dword [ebp - 0x154]
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 8]
mov eax, dword [esi + 0x70]
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x154]
movsx eax, word [esi + 0x38]
push eax
call fcn.004329c0
add esp, 0xc
test eax, eax
je 0x434d7b
or dword [eax + 8], 1
push dword [eax + 0x28]
mov byte [eax + 2], 1
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x2c], edx
mov cl, byte [esi + 4]
push edx
mov byte [eax + 4], cl
mov edx, 1
mov ecx, dword [esi + 0xc]
push 4
call fcn.0041e3b0
mov esi, dword [ebp - 0x154]
add esp, 0xc
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebx + 4]
mov ecx, esi
push 0
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004329c0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x434d7b
or dword [esi + 8], 1
lea eax, [esi + 8]
mov dword [ebp - 0x18c], eax
lea edi, [esi + 0xc]
mov byte [esi + 2], 1
xor edx, edx
movzx eax, word [ebx + 2]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0x160]
push edi
push eax
mov ecx, dword [eax]
call fcn.0041b800
add esp, 0x10
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438d05
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.0041cd40
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438d05
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x4358e7
movzx eax, word [ebx + 2]
lea edx, [ebp - 0x80]
or eax, 2
push eax
call fcn.00424ce0
mov edx, eax
add esp, 4
mov dword [ebp - 0x158], edx
test edx, edx
jne 0x4358e3
push dword [esi + 0x28]
mov edx, dword [ebp - 0x80]
push dword [ebp - 0x14]
mov ecx, dword [edi]
push 4
call fcn.0041e3b0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x158], edx
xor al, al
jmp 0x435905
push dword [esi + 0x28]
mov edx, 1
push 0
push 4
call fcn.0041e3b0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x158], edx
mov al, 1
mov ecx, 4
mov byte [esi + ecx], al
mov esi, dword [ebp - 0x154]
test edx, edx
jne 0x4389f4
mov edx, dword [ebp - 0x18c]
xor ecx, ecx
cmp word [ebx + 2], 8
mov eax, 4
mov edi, dword [ebp - 0x160]
cmovne ecx, eax
mov eax, dword [edx]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [ebp - 0x15c]
mov dword [edx], ecx
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebx + 4]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004329c0
add esp, 0xc
test eax, eax
je 0x437019
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov ecx, edi
mov edx, dword [ebx + 0xc]
push eax
call fcn.0043a920
mov edi, eax
add esp, 4
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x4389f4
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x154]
mov dword [edx + 0x14], eax
je 0x432f35
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebx + 4]
mov ecx, esi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004329c0
add esp, 0xc
test eax, eax
je 0x437019
mov byte [eax + 2], 1
mov ecx, dword [ebx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x55a52c
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, esi
mov edx, dword [esi + 0x70]
mov edx, dword [edx + eax*4]
call fcn.0042b400
mov eax, dword [esi + 0x70]
mov ecx, dword [ebx + 4]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x174], 0
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x194], edi
cmp byte [edi + 4], 0
mov byte [edi + 2], 0
je 0x435b43
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x435a94
xor edx, edx
mov ecx, esi
call fcn.00432ab0
mov ecx, esi
call fcn.00428410
movzx ecx, word [esi + 8]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0xa4], edx
test cl, 4
jne 0x435aee
test cl, 8
je 0x432f2f
mov ecx, eax
call fcn.004f5280
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x435ad7
mov eax, dword [ebp - 0x17c]
test al, 1
je 0x435aee
dec eax
jmp 0x435ae8
comisd xmm1, xmm0
jbe 0x435aee
mov eax, dword [ebp - 0x17c]
test al, 1
jne 0x435aee
inc eax
mov dword [ebp - 0x17c], eax
mov ecx, dword [edi + 0x28]
lea eax, [ebp - 0x24]
push eax
push 0
push dword [ebp - 0xa4]
lea esi, [edi + 0x28]
xor edx, edx
push dword [ebp - 0x170]
call fcn.0041f250
mov ecx, dword [ebp - 0x170]
mov edi, eax
mov eax, dword [ebp - 0x194]
add esp, 0x10
mov dword [ebp - 0x158], edi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 0x44], ecx
test edi, edi
jne 0x438d05
mov edi, dword [ebp - 0x174]
jmp 0x435bf7
mov ecx, dword [edi + 0x28]
lea esi, [edi + 0x28]
mov edx, 2
call fcn.00426c70
mov ecx, dword [ebp - 0x174]
lea edx, [ebp - 0xe8]
test eax, eax
mov eax, 1
cmovne ecx, eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0xe8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xe0], ax
mov eax, dword [ebp - 0x17c]
test al, 1
mov dword [ebp - 0x174], ecx
mov ecx, dword [ebp - 0x164]
sete al
mov byte [ebp - 0xda], 0
lea eax, [eax*2 - 1]
mov byte [ebp - 0xde], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x24]
mov ecx, dword [esi]
push eax
push 0
push 0
push 0
call fcn.0041f250
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x438d05
mov edi, dword [ebp - 0x174]
test edi, edi
je 0x435bf1
cmp byte [ebp - 0xda], al
je 0x435c9a
mov eax, dword [ebp - 0x194]
mov byte [eax + 3], 0
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x24]
cmp eax, 0x1a
jl 0x435c6b
test ecx, ecx
js 0x435c27
jne 0x435c1b
cmp eax, 0x1b
je 0x435c27
mov dword [ebp - 0x24], 0
jmp 0x435ca5
mov dword [ebp - 0x24], 0
push 0
push dword [esi]
call fcn.0041fa00
mov edi, eax
add esp, 8
mov dword [ebp - 0x158], edi
test edi, edi
je 0x435c94
mov esi, dword [ebp - 0x154]
cmp edi, 0x65
jne 0x4389f4
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x24], 1
jmp 0x432f35
test ecx, ecx
jg 0x435c82
jne 0x435c76
cmp eax, 0x18
je 0x435c82
mov ecx, dword [esi]
call fcn.0041f8c0
mov dword [ebp - 0x24], eax
jmp 0x435c9d
mov dword [ebp - 0x24], 0
push 0
push dword [esi]
call fcn.0041fc00
jmp 0x435c37
mov edi, dword [ebp - 0x174]
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x432f2f
mov esi, dword [ebp - 0x154]
test edi, edi
mov eax, dword [ebp - 0x15c]
mov edi, dword [ebp - 0x160]
je 0x433703
add ebx, 0x14
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x70]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x14], edi
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jle 0x435d15
mov eax, dword [edi + 0x2c]
lea edi, [ebp - 0x128]
mov dword [ebp - 0x128], eax
xor eax, eax
mov dword [ebp - 0x124], esi
mov esi, dword [ebp - 0x14]
mov word [ebp - 0x120], cx
mov dword [ebp - 0x18c], eax
jmp 0x435d5c
mov eax, 0x4000
test word [esi + 8], ax
je 0x435d2f
mov ecx, esi
call fcn.00427fa0
test eax, eax
jne 0x434d7b
mov ecx, dword [edi + 0x2c]
call fcn.0042d6a0
mov edi, eax
mov dword [ebp - 0x18c], edi
test edi, edi
je 0x434d7b
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x2c]
call fcn.0042d700
add esp, 8
mov byte [edi + 0xa], 0
cmp byte [ebx], 0x1c
mov dword [ebp - 0x14], 0
jne 0x435d96
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x435d96
mov eax, dword [edi + 4]
add eax, 8
nop dword [eax]
test byte [eax], 1
jne 0x435d8f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x435d80
jmp 0x435d96
mov dword [ebp - 0x14], 1
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x64]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0041f250
mov edi, dword [ebp - 0x160]
mov edx, eax
mov eax, dword [ebp - 0x18c]
add esp, 0x10
mov dword [ebp - 0x158], edx
test eax, eax
je 0x435dd4
mov edx, eax
mov ecx, edi
call fcn.00405470
mov edx, dword [ebp - 0x158]
test edx, edx
jne 0x438d05
mov eax, dword [ebp - 0x64]
xor ecx, ecx
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x64]
test eax, eax
mov byte [esi + 3], dl
sete cl
mov dword [esi + 0x1c], edx
test eax, eax
setne al
mov byte [esi + 2], al
cmp byte [ebx], 0x1e
mov esi, dword [ebp - 0x154]
jne 0x435e1b
test ecx, ecx
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp dword [ebp - 0x14], 0
jne 0x432f35
test ecx, ecx
je 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 4
lea esi, [edi + eax*8]
jne 0x435e70
push ecx
mov dl, 0x43
mov ecx, esi
call fcn.00432b90
add esp, 4
test byte [esi + 8], 4
mov esi, dword [ebp - 0x154]
je 0x432f35
jmp 0x435e7e
mov esi, dword [ebp - 0x154]
jmp 0x435e7e
mov edi, dword [ebp - 0x164]
mov eax, dword [esi + 0x70]
xor edx, edx
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0x168]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx + 0x28]
lea eax, [eax + eax*4]
mov dword [ebp - 0x44], 0
mov esi, dword [edi + eax*8]
mov edi, dword [edi + eax*8 + 4]
lea eax, [ebp - 0x44]
push eax
push 0
push edi
push esi
call fcn.0041f250
mov dword [ebx + 0x40], esi
add esp, 0x10
mov dword [ebx + 0x44], edi
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0x44], 0
mov ebx, dword [ebp - 0x168]
je 0x435eff
cmp dword [ebx + 8], 0
jne 0x432f2f
mov ecx, 0x14586
call fcn.004a0ac0
mov edx, eax
mov dword [ebp - 0x158], edx
jmp 0x435f05
mov edx, dword [ebp - 0x158]
mov esi, dword [ebp - 0x154]
test edx, edx
jne 0x4389f4
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, ebx
mov ecx, esi
call fcn.00432d80
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
mov edx, ebx
movlpd qword [ebp - 0x20], xmm0
mov ecx, esi
call fcn.00432d80
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x18c], eax
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x435ff2
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xa4]
call fcn.0041f1f0
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x4389f4
cmp dword [ebp - 0xa4], eax
je 0x435fc3
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x435ff2
mov ecx, dword [edi + 0x28]
call fcn.0041e650
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp edx, 0x7fffffff
jl 0x435fe6
jg 0x435fe0
cmp eax, 0xffffffff
jb 0x435fe6
or dword [edi + 8], 2
jmp 0x435ff2
add eax, 1
mov dword [ebp - 0x20], eax
adc edx, 0
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x43609e
mov edx, dword [esi + 0xc4]
test edx, edx
je 0x436024
mov eax, dword [edx + 4]
test eax, eax
je 0x436019
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x436010
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x436030
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x164]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00428410
mov dword [esi], eax
mov ecx, 0x3e00
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov edx, dword [esi]
or ax, 4
mov ecx, dword [esi + 4]
mov word [esi + 8], ax
cmp edx, 0xffffffff
jne 0x436066
cmp ecx, 0x7fffffff
je 0x4360fe
test byte [edi + 8], 2
jne 0x4360fe
mov eax, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x14], eax
adc ecx, 0
cmp eax, ecx
jg 0x436093
jl 0x436089
mov eax, dword [ebp - 0x20]
cmp eax, edx
jae 0x436096
mov eax, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], eax
jmp 0x436099
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 4], ecx
test byte [edi + 8], 2
je 0x436108
xor esi, esi
lea eax, [ebp - 0x20]
push eax
push 8
call fcn.00407e10
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0xa4]
mov ecx, dword [ebp - 0x20]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x20], ecx
push 0
push eax
mov dword [ebp - 0x1c], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.0041f250
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x158], edx
test edx, edx
jne 0x438d05
cmp dword [ebp - 0xa4], eax
jne 0x436108
inc esi
cmp esi, 0x64
jl 0x4360a6
mov ebx, 0xd
jmp 0x438d0b
mov edx, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x154]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x160]
mov dword [edx], eax
mov eax, dword [ebp - 0x15c]
mov dword [edx + 4], ecx
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x14], 0
lea eax, [eax + eax*4]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + 0xc]
cmp dl, 0x74
jne 0x43617a
mov edx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edx, dword [edx + eax*8 + 4]
jmp 0x43617d
cdq
mov esi, eax
cmp byte [ecx + 1], 0xfa
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], esi
jne 0x4361d2
mov eax, dword [ebp - 0x160]
cmp dword [eax + 0xe0], 0
je 0x4361d2
movsx ecx, byte [edi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [eax + ecx*8]
mov eax, 0x12
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ecx + 0x10]
test byte [ecx + 2], 4
mov dword [ebp - 0x18c], ebx
mov ebx, 0x17
cmovne eax, ebx
mov dword [ebp - 0x14], eax
jmp 0x4361e3
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x1c], 0
test byte [ecx + 2], 1
je 0x4361f2
mov eax, dword [ebp - 0x154]
inc dword [eax + 0x2c]
test byte [ecx + 2], 0x20
je 0x436204
mov eax, dword [ebp - 0x160]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x170]
mov ebx, dword [ebp - 0x164]
movzx ecx, word [ecx + 2]
mov eax, dword [ebx + edx*8 + 0x10]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + edx*8 + 0xc]
mov dword [ebp - 0xbc], eax
test cl, 0x10
je 0x436232
mov esi, dword [edi + 0x20]
jmp 0x436234
xor esi, esi
mov eax, 0x4000
test word [ebx + edx*8 + 8], ax
je 0x43624b
mov eax, dword [ebx + edx*8]
mov dword [ebp - 0xb8], eax
jmp 0x436255
mov dword [ebp - 0xb8], 0
and ecx, 0xa
mov dword [ebp - 0xd8], 0
push esi
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xd8]
call fcn.00423d00
mov ebx, eax
mov byte [edi + 3], 0
add esp, 8
mov dword [ebp - 0x158], ebx
mov dword [edi + 0x1c], 0
test ebx, ebx
jne 0x438d0b
mov edi, dword [ebp - 0x160]
mov eax, dword [edi + 0xe0]
test eax, eax
je 0x4362ca
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4362ca
push dword [ebp - 0xcc]
mov edx, dword [ebp - 0x18c]
push dword [ebp - 0xd0]
push dword [edx]
push dword [ebp - 0x1c]
push ecx
push dword [edi + 0xdc]
call eax
add esp, 0x18
mov ebx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
lea eax, [edi + 0xe0]
jne 0x43633e
cmp dword [eax], 0
mov dword [ebp - 0x14], eax
je 0x43633e
movsx ecx, byte [esi + 1]
mov eax, dword [edi + 0x10]
add ecx, ecx
test byte [ebx + 2], 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x18c], eax
je 0x436352
cmp byte [esi + 4], 0
je 0x436352
mov ecx, dword [esi + 0x28]
call fcn.0041e650
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x436352
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x14], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.00424140
mov edi, eax
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x158], edi
mov dword [esi + 0x20], 0
test edi, edi
jne 0x438d05
test byte [ebp - 0x170], 1
je 0x4336f1
mov eax, dword [ebp - 0x154]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
test eax, eax
je 0x4336f1
mov ecx, dword [ebp - 0x18c]
mov edi, dword [ebp - 0x160]
test byte [ecx + 0x24], 0x20
jne 0x4336f7
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ecx]
push dword [ebp - 0x1c]
push 9
push dword [edi + 0xdc]
call eax
mov esi, dword [ebp - 0x154]
add esp, 0x18
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x2c]
add dword [edi + 0x60], eax
mov dword [edi + 0x5c], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 0x2c], 0
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x60], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x60]
push eax
push dword [ebx + 0x10]
call fcn.0043d2a0
mov edi, eax
add esp, 8
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x4389f4
cmp dword [ebp - 0x60], eax
jne 0x432f35
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
call fcn.0043d200
mov edi, eax
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x4389f4
mov ecx, dword [ebx + 0xc]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x1c], edi
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4364c8
mov ecx, esi
call fcn.00432d60
mov esi, eax
jmp 0x4364d1
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x28]
mov ecx, edi
call fcn.0041e610
mov ecx, dword [ebp - 0x160]
mov eax, dword [edi + 0x24]
cmp eax, dword [ecx + 0x64]
ja 0x438a74
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.00428d90
mov edi, eax
add esp, 8
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x438d05
cmp dword [ebx + 0xc], eax
jne 0x4336f1
mov eax, 0x1000
test word [esi + 8], ax
je 0x4336f1
mov ecx, esi
call fcn.00427f00
mov esi, dword [ebp - 0x154]
test eax, eax
jne 0x437019
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [ebp - 0x170], edx
test word [edx + 8], ax
je 0x436589
mov ecx, edx
call fcn.00432d60
mov edx, eax
mov dword [ebp - 0x170], edx
jmp 0x436592
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 2], 0
je 0x4365be
mov esi, dword [ebp - 0x154]
mov eax, 1
mov word [edx + 8], ax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp byte [esi + 3], 0
je 0x4365cf
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
jmp 0x43667e
cmp byte [esi], 2
jne 0x436629
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x58]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x158], eax
mov edx, esi
mov esi, dword [ebp - 0x154]
mov ecx, esi
call fcn.0042ef60
cmp dword [ebp - 0x158], 0
jne 0x4389f4
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, esi
call fcn.0042d180
mov edi, eax
mov dword [ebp - 0x158], edi
test edi, edi
jne 0x438d05
cmp byte [esi + 2], al
je 0x43666e
mov eax, dword [ebp - 0x170]
mov ecx, 1
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov word [eax + 8], cx
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [esi + 0x28]
call fcn.0041e650
mov edi, dword [ebp - 0x160]
mov ecx, eax
mov eax, dword [ebp - 0x170]
mov esi, dword [ebp - 0x154]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne case.0x432eeb.83
mov ecx, dword [ecx + 0x28]
call fcn.00419c80
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x48], 0
cmp dl, 0x7d
jne 0x4366fe
mov dword [esi + 0x20], 0xffffffff
cmp byte [ecx], 1
je 0x4336f7
lea edx, [ebp - 0x48]
call fcn.0041f1f0
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
mov al, byte [ebp - 0x48]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov esi, dword [ebp - 0x154]
jne 0x4389f4
cmp dword [ebx + 8], 0
jle case.0x432eeb.83
cmp dword [ebp - 0x48], 0
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x28]
mov ecx, edi
call fcn.0041ee20
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x4367dc
mov ecx, edi
mov dword [ebp - 0x1a0], eax
call fcn.0041f070
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x1a0]
mov esi, eax
mov dword [ebp - 0x1a0], edx
test eax, eax
jne 0x438d05
mov dword [ebp - 0x158], esi
test edx, edx
jne 0x432f2f
mov ecx, edi
call fcn.0041f8d0
test edx, edx
jl 0x4367fa
jg 0x4367b7
test eax, eax
jb 0x4367fa
push edx
push eax
call fcn.00409bb0
cwde
add esp, 8
cmp eax, dword [ebx + 0xc]
jge 0x4367fa
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x158], esi
jmp 0x432f2f
cmp eax, 0x10
jne 0x436782
mov dword [ebp - 0x1a0], 1
mov dword [ebp - 0x158], 0
jmp 0x432f35
mov eax, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x160]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x158], esi
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
inc dword [esi + 0xa8]
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x34], 1
cmp byte [esi], 1
jne 0x436855
lea edx, [ebp - 0x34]
mov ecx, esi
call fcn.0043d0d0
mov edx, eax
mov dword [ebp - 0x158], edx
jmp 0x43689e
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.0041ee20
mov edx, eax
mov dword [ebp - 0x158], edx
test edx, edx
jne 0x436879
mov ecx, edi
mov dword [ebp - 0x34], eax
call fcn.0041f070
mov edx, eax
jmp 0x436887
cmp edx, 0x10
jne 0x43688d
mov dword [ebp - 0x34], 1
xor edx, edx
mov dword [ebp - 0x158], edx
mov edi, dword [ebp - 0x160]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test edx, edx
jne 0x438d05
mov al, byte [ebp - 0x34]
mov byte [esi + 2], al
mov esi, dword [ebp - 0x154]
cmp dword [ebp - 0x34], edx
jne 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, edi
call fcn.0043d170
mov edi, eax
mov dword [ebp - 0x158], edi
jmp 0x436920
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
cmp dword [eax + ecx*4], 0
je case.0x432eeb.83
mov eax, dword [esi + 0x70]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x168]
push dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push dword [esi + 0x28]
call eax
mov ebx, dword [ebp - 0x168]
add esp, 8
mov dword [ebp - 0x158], eax
mov edi, eax
mov dword [esi + 0x1c], 0
test edi, edi
jne 0x436945
mov ecx, dword [ebp - 0x154]
mov byte [esi + 2], 0
movzx eax, word [ebx + 2]
inc dword [ecx + eax*4 + 0xa0]
jmp 0x438267
cmp edi, 0x65
jne 0x438d05
mov dword [ebp - 0x158], 0
mov byte [esi + 2], 1
mov edi, dword [ebp - 0x160]
cmp dword [edi + 0x100], 0
jne 0x438cc2
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x1a8]
jb 0x43877e
mov ecx, dword [edi + 0x138]
test ecx, ecx
je 0x43877e
mov esi, dword [edi + 0x140]
xor edx, edx
div esi
push dword [edi + 0x13c]
sub esi, edx
add esi, dword [ebp - 0x15c]
mov dword [ebp - 0x1a8], esi
call ecx
mov esi, dword [ebp - 0x154]
add esp, 4
test eax, eax
jne 0x438ab9
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov ebx, dword [ebp - 0x164]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x168]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x4369fb
mov eax, dword [ebp - 0x154]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x436a23
mov ecx, esi
call fcn.00427fa0
mov ebx, eax
test ebx, ebx
jne 0x438d0b
mov ecx, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x164]
cmp byte [ecx], 0x7e
jne 0x436a33
mov edx, esi
mov ecx, edi
call fcn.0043bf10
jmp 0x436a92
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0xc4], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0xc0], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x436a73
mov ecx, dword [edi + 0x20]
jmp 0x436a75
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xd8]
and eax, 0xa
push eax
call fcn.00423d00
add esp, 8
mov dword [edi + 0x1c], 0
mov ebx, eax
mov dword [ebp - 0x158], ebx
mov esi, dword [ebp - 0x154]
test ebx, ebx
jne 0x438d11
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov edx, dword [ebp - 0x164]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x108], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x100], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0xfe], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x104], eax
lea edx, [ebp - 0x108]
lea eax, [ebp - 0x88]
push eax
push 0
push 0
push 0
call fcn.0041f250
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x158], esi
test esi, esi
jne 0x438d05
cmp dword [ebp - 0x88], eax
jne 0x436b4e
mov ecx, dword [ebp - 0x14]
mov dl, 4
call fcn.00424140
mov esi, eax
mov dword [ebp - 0x158], esi
test esi, esi
jne 0x438d05
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x70]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x28]
cmp byte [eax], 1
je 0x436ba6
mov ecx, edi
call fcn.0042d130
mov esi, eax
mov dword [ebp - 0x158], esi
test esi, esi
mov esi, dword [ebp - 0x154]
jne 0x4389f4
jmp 0x436bb0
mov dword [ebp - 0x158], 0
cmp byte [edi + 2], 0
jne 0x436c5f
mov ecx, dword [ebp - 0x160]
lea eax, [ebp - 0x70]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov edx, dword [edi + 0x28]
push eax
call fcn.0042eb20
mov ebx, eax
add esp, 4
mov dword [ebp - 0x158], ebx
test ebx, ebx
jne 0x438d11
mov eax, dword [ebp - 0x168]
cmp byte [eax], 0x81
jne 0x436c31
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x70]
mov edx, dword [eax + ecx*4]
mov byte [edx + 2], bl
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x168]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], 1
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x15c]
mov dword [edx + 0x24], edi
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
mov edx, eax
mov ecx, esi
call fcn.00432d80
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004287f0
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
cmp byte [ebp - 0x169], 0x28
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x164]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x118], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x110], ax
sbb al, al
mov byte [ebp - 0x10e], al
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x3c], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0042ed20
mov edx, eax
add esp, 8
test byte [ebx], 1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x158], edx
jne 0x436cf8
neg eax
jmp 0x436cf9
inc eax
mov dword [ebp - 0x3c], eax
test edx, edx
jne 0x4389f4
test eax, eax
jg 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x436d3a
mov ecx, esi
call fcn.00432d60
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [edi + 0xb0]
inc eax
cmp dword [edi + 0xa4], eax
jg 0x438995
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x4c]
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x14], eax
add eax, eax
mov dword [ebp - 0x4c], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004255e0
mov dword [ebp - 0x158], eax
add esp, 4
cmp dword [ebp - 0x158], 0
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x4c]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jne 0x438d05
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x4336f7
push dword [ebx + 4]
mov edx, dword [ebp - 0x14]
mov ecx, edi
push eax
call fcn.00453e50
mov al, byte [ebp - 0x14]
add esp, 8
mov esi, dword [ebp - 0x154]
inc al
mov byte [ebp - 0x199], al
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x14], 0
cmp dword [ebx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00424fa0
add esp, 4
mov edx, eax
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0x158], edx
je 0x436e3f
mov eax, dword [ebp - 0x14]
add dword [esi + 0x2c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x436e3f
mov edi, dword [ebp - 0x164]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0x160]
adc dword [eax + ecx*8 + 4], edx
mov edx, dword [ebp - 0x158]
test edx, edx
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x436e7b
mov edx, dword [ecx + 0x28]
mov ecx, edi
call fcn.0043ae50
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ecx + 0x28]
call fcn.00425060
mov esi, eax
mov dword [ebp - 0x158], esi
test esi, esi
mov esi, dword [ebp - 0x154]
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x436ec9
mov ecx, esi
call fcn.00432d60
mov esi, eax
jmp 0x436ed2
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
mov ecx, dword [eax + 4]
push dword [eax + 0xc]
shl ecx, 4
add ecx, dword [edi + 0x10]
mov ecx, dword [ecx + 4]
call fcn.00424ce0
mov ebx, eax
add esp, 4
mov dword [ebp - 0x158], ebx
test ebx, ebx
jne 0x438d0b
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x168]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
inc byte [edi + 0x52]
push 0
push 0
push 0
push dword [ebx + 0x10]
push edi
call fcn.004685b0
dec byte [edi + 0x52]
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x158], esi
test esi, esi
mov esi, dword [ebp - 0x154]
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
lea eax, [esi + 0x6c]
push dword [ebx + 0x10]
mov dword [ebp - 0xf0], ecx
add ecx, ecx
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 0x10]
push str.sqlite_master
mov dword [ebp - 0xf8], edi
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00407a80
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4389ac
push 0
lea eax, [ebp - 0xf8]
mov byte [edi + 0x9d], 1
push eax
push fcn.0046fa40
push esi
push edi
mov dword [ebp - 0xec], 0
call fcn.004685b0
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [ebp - 0xec]
mov dword [ebp - 0x158], eax
call fcn.00405470
cmp dword [ebp - 0x158], 0
mov byte [edi + 0x9d], 0
je 0x4336f7
mov ecx, edi
call fcn.00450350
mov ebx, dword [ebp - 0x158]
mov esi, dword [ebp - 0x154]
cmp ebx, 7
jne 0x438d11
mov eax, dword [ebp - 0x160]
jmp 0x434d87
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0044dd10
jmp 0x436e83
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004509c0
mov eax, dword [ebp - 0x15c]
add esp, 4
add ebx, 0x14
jmp 0x432ebc
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00450040
mov eax, dword [ebp - 0x15c]
add esp, 4
add ebx, 0x14
jmp 0x432ebc
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004809e0
mov eax, dword [ebp - 0x15c]
add esp, 4
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebx + 0x10]
add edx, 4
lea edi, [eax + eax*4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ecx + edi*8]
mov ecx, dword [ebp - 0x160]
inc eax
push eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [ecx + 0x10]
push dword [eax + 8]
movzx eax, word [eax + 2]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00426520
mov ebx, eax
add esp, 0xc
mov eax, 0x2460
test word [esi + 8], ax
je 0x4370ee
mov ecx, esi
call fcn.00428230
jmp 0x4370f7
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x43712d
test ebx, ebx
je 0x434d7b
mov ecx, dword [ebp - 0x164]
dec eax
cdq
push fcn.004053c0
push 1
sub dword [ecx + edi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + edi*8 + 4], edx
mov edx, ebx
mov ecx, esi
call fcn.00428a70
add esp, 0xc
movzx edx, byte [ebp - 0x180]
mov ecx, esi
call fcn.00427cc0
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea edi, [eax + eax*4]
jne 0x437188
mov ecx, esi
call fcn.00428880
test byte [esi + 8], 0x20
je 0x434d7b
mov eax, dword [ebp - 0x164]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00410c10
mov edi, dword [ebp - 0x160]
add esp, 8
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x437208
mov ecx, dword [esi]
lea edx, [ebp - 0x98]
call fcn.00410f60
test eax, eax
je 0x437208
mov eax, dword [ebx + 0xc]
push dword [ebp - 0x94]
mov ecx, dword [ebp - 0x164]
push dword [ebp - 0x98]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00428840
add esp, 8
jmp 0x436962
mov ecx, esi
call fcn.004287f0
jmp case.0x432eeb.13
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x14], eax
jne 0x437250
mov ecx, esi
call fcn.00428880
test byte [esi + 8], 0x20
je 0x434d7b
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x164]
test eax, eax
je 0x437274
push dword [ecx + edi*8 + 4]
mov edx, eax
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00410fc0
add esp, 8
test eax, eax
jne 0x432f2f
mov eax, dword [ebp - 0x14]
test eax, eax
js 0x4336f1
mov eax, dword [ebp - 0x164]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00410c10
mov edi, dword [ebp - 0x160]
add esp, 8
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp word [ebx + 2], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
mov esi, dword [ebx + 0x10]
mov edx, dword [ebp - 0x154]
lea eax, [eax + eax*4]
mov dword [ebp - 0x170], esi
lea eax, [ecx + eax*8]
mov dword [ebp - 0x14], eax
je 0x4372f0
mov eax, dword [edx + 0xc4]
mov ecx, dword [esi + 0x14]
test eax, eax
je 0x4372f0
cmp dword [eax + 0x1c], ecx
je 0x43878c
mov eax, dword [eax + 4]
test eax, eax
jne 0x4372e0
mov eax, dword [edx + 0xcc]
cmp eax, dword [edi + 0x8c]
jge 0x4389b8
mov ebx, dword [ebp - 0x14]
test byte [ebx + 8], 0x40
jne 0x43740d
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x170]
mov eax, dword [eax + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x43733d
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00405830
mov edi, eax
add esp, 8
test edi, edi
je 0x434d7b
mov ecx, ebx
call fcn.00428390
mov ecx, dword [ebp - 0x168]
mov eax, 0x40
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x184]
mov dword [ebx], edi
mov ebx, dword [ebp - 0x170]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x154]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x70]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x88]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x437405
mov edx, dword [ebp - 0x160]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x4373f1
mov edx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x170]
jmp 0x43740f
mov edi, dword [ebx]
inc dword [edx + 0xcc]
lea ebx, [edi + 0x50]
mov eax, dword [edx + 0xc4]
mov ecx, dword [ebp - 0x160]
mov dword [edi + 4], eax
mov dword [ebp - 0x164], ebx
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x5c]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0xd8]
mov dword [edi + 0x28], eax
mov dword [edx + 0xd8], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc4], edi
mov dword [edx + 0x5c], ebx
mov ecx, dword [edi + 0x3c]
mov dword [edx + 0x18], ecx
movzx eax, word [edi + 0x40]
mov dword [edx + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*8]
mov dword [edx + 0x70], ecx
mov eax, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.004f7f30
mov eax, dword [ebp - 0x154]
add esp, 0xc
mov edx, dword [esi]
mov edi, dword [ebp - 0x160]
mov dword [ebp - 0x184], edx
mov dword [eax + 0x58], edx
mov eax, dword [esi + 4]
lea ebx, [edx - 0x14]
mov esi, dword [ebp - 0x154]
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4374fd
mov ecx, esi
call fcn.00432d60
mov esi, eax
jmp 0x437506
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x154]
push 0x1000
mov edx, dword [eax + 0xc4]
mov eax, dword [edx + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.004289b0
mov esi, dword [ebp - 0x154]
add esp, 4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
test dword [edi + 0x1c], 0x80000
mov eax, dword [ebx + 8]
cdq
je 0x437575
add dword [edi + 0x1c8], eax
mov eax, dword [ebp - 0x15c]
adc dword [edi + 0x1cc], edx
add ebx, 0x14
jmp 0x432ebc
cmp dword [ebx + 4], 0
je 0x437595
add dword [edi + 0x1c0], eax
mov eax, dword [ebp - 0x15c]
adc dword [edi + 0x1c4], edx
add ebx, 0x14
jmp 0x432ebc
add dword [esi + 0x40], eax
mov eax, dword [ebp - 0x15c]
adc dword [esi + 0x44], edx
add ebx, 0x14
jmp 0x432ebc
cmp dword [ebx + 4], 0
je 0x4375e1
mov eax, dword [edi + 0x1c0]
or eax, dword [edi + 0x1c4]
jne case.0x432eeb.83
mov eax, dword [edi + 0x1c8]
or eax, dword [edi + 0x1cc]
je 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jmp 0x4375bb
mov edx, dword [esi + 0xc4]
test edx, edx
je 0x437617
mov eax, dword [edx + 4]
test eax, eax
je 0x437609
nop word [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x437600
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x437626
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00428410
mov dword [edi], eax
mov ecx, 0x3e00
movzx eax, word [edi + 8]
and ax, cx
mov dword [edi + 4], edx
mov ecx, dword [ebp - 0x164]
or ax, 4
mov word [edi + 8], ax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00428410
mov dword [esi], eax
mov ecx, 0x3e00
movzx eax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov ecx, edx
mov word [esi + 8], ax
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4336f1
jl 0x43768c
cmp dword [edi], eax
jae 0x4336f1
mov esi, dword [ebp - 0x154]
mov dword [edi], eax
mov eax, dword [ebp - 0x15c]
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x164]
lea esi, [eax + eax*4]
mov edi, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test edi, edi
jl 0x4336f1
jg 0x4376d0
test ecx, ecx
je 0x4336f1
mov eax, dword [ebx + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov edx, dword [ebp - 0x164]
mov dword [edx + esi*8], ecx
mov dword [edx + esi*8 + 4], edi
jmp 0x432f2f
mov eax, dword [ebx + 4]
mov edx, ebx
mov ecx, dword [ebp - 0x154]
lea esi, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov dword [ebp - 0x14], eax
call fcn.00432d80
mov edx, dword [ebp - 0x164]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
test ecx, ecx
jl 0x437786
jg 0x437725
test eax, eax
je 0x437786
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
test ecx, ecx
jl 0x437739
jg 0x437750
test eax, eax
jne 0x437750
xorps xmm0, xmm0
movlpd qword [ebp - 0x1b0], xmm0
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1b0]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.004099b0
add esp, 8
test eax, eax
jne 0x437786
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x154]
mov dword [edi], eax
mov eax, dword [ebp - 0x15c]
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, ecx
or eax, edx
je 0x4336f7
test edx, edx
jl 0x432f2f
jg 0x4377dc
test ecx, ecx
je 0x432f2f
mov eax, dword [ebp - 0x164]
sub ecx, 1
sbb edx, 0
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edx
jmp 0x432f2f
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
cmp ecx, 0x80000000
jl 0x43782e
jg 0x437815
test eax, eax
je 0x43782e
mov edi, dword [ebp - 0x164]
sub eax, 1
sbb ecx, 0
mov dword [edi + edx*8], eax
mov dword [edi + edx*8 + 4], ecx
mov edi, dword [ebp - 0x160]
or eax, ecx
je 0x432f35
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
movzx ebx, word [ebx + 2]
mov ecx, edi
push 0
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x434d7b
mov eax, dword [ebp - 0x168]
mov dword [esi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x184]
mov eax, 0x66666667
imul ecx
mov byte [esi + 0x1a], bl
mov ebx, dword [ebp - 0x168]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x154]
mov dword [esi + 0xc], eax
mov word [ebx], 0xf095
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi + 8], edi
je 0x4378fa
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x4378fa
mov edi, dword [ebp - 0x164]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x4378e1
mov edi, dword [ebp - 0x14]
inc dword [edi + 0xc]
mov eax, 1
mov edi, dword [ebp - 0x160]
mov word [ebp - 0xd0], ax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xc0], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x4379a5
cmp dword [esi + 0x14], 0
je 0x437978
mov dl, 1
lea ecx, [ebp - 0xd8]
call fcn.00428ee0
push eax
push 0x547340
push dword [ebp - 0x154]
call fcn.00429660
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x158], eax
test dword [ebp - 0xd0], 0x2460
jne 0x43798d
cmp dword [ebp - 0xc0], 0
je 0x437998
lea ecx, [ebp - 0xd8]
call fcn.004282a0
cmp dword [ebp - 0x158], 0
jne 0x438d05
cmp byte [esi + 0x18], 0
je 0x4336f7
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x4336f7
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00428840
mov esi, dword [ebp - 0x154]
add esp, 8
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004280d0
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x4389d6
movzx edx, byte [ebp - 0x180]
mov ecx, esi
call fcn.00427cc0
mov ecx, esi
call fcn.00428950
mov esi, dword [ebp - 0x154]
test eax, eax
jne 0x438a7a
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov edx, dword [ebx + 4]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [ebx + 8]
mov ecx, edi
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.0049f020
add esp, 0xc
mov dword [ebp - 0x158], eax
test eax, eax
je 0x437a8f
cmp eax, 5
jne 0x4389f4
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 0xc]
xor edi, edi
mov ecx, dword [ebp - 0x164]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, 0x2460
lea ebx, [edi + 4]
nop dword [eax + eax]
mov eax, dword [ebp + edi*4 - 0x10]
cdq
test word [esi + 8], cx
je 0x437ace
push edx
push eax
mov ecx, esi
call fcn.00428810
add esp, 8
mov ecx, 0x2460
jmp 0x437ad7
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 8], bx
inc edi
add esi, 0x28
cmp edi, 3
jl 0x437ab0
mov ebx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x160]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea eax, [eax + ecx*8]
mov ecx, 0x2460
mov dword [ebp - 0x14], eax
test word [eax + 8], cx
je 0x437b26
mov ecx, eax
call fcn.00432d60
mov dword [ebp - 0x14], eax
jmp 0x437b2f
mov ecx, 4
mov word [eax + 8], cx
mov eax, dword [ebp - 0x168]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x18c], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx ebx, byte [edi + 5]
mov esi, ebx
cmovne esi, edx
cmp byte [edi + 0x10], 3
jae 0x437b77
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x437b79
cmp dword [edi + 0x4c], 0
jg 0x437b77
jl 0x437b79
cmp dword [edi + 0x48], 0
jbe 0x437b79
mov esi, ebx
cmp byte [edi + 0xf], 0
mov ecx, 0x5466e4
jne 0x437b8a
mov ecx, dword [edi + 0xa8]
cmp esi, 5
jne 0x437bf7
call fcn.00408660
test eax, eax
je 0x437ba3
mov ecx, edi
call fcn.00416af0
test eax, eax
jne 0x437bf7
mov esi, ebx
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x437bb1
mov esi, ebx
mov edx, esi
mov ecx, edi
call fcn.004169a0
mov ebx, dword [ebp - 0x14]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.004698c0
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.00408660
movzx edx, byte [ebp - 0x180]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.00427cc0
mov ebx, dword [ebp - 0x158]
jmp 0x436a9a
cmp esi, ebx
je 0x437ba5
cmp ebx, 5
je 0x437c05
cmp esi, 5
jne 0x437ba5
mov eax, dword [ebp - 0x160]
cmp byte [eax + 0x47], 0
je 0x4389ff
cmp dword [eax + 0xa4], 1
jg 0x4389ff
cmp ebx, 5
jne 0x437c49
mov edx, eax
mov ecx, edi
call fcn.00416c50
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x437baf
mov edx, esi
mov ecx, edi
call fcn.004169a0
jmp 0x437c65
cmp ebx, 4
jne 0x437c58
lea edx, [ebx - 2]
mov ecx, edi
call fcn.004169a0
cmp dword [ebp - 0x158], 0
jne 0x437baf
mov ecx, dword [ebp - 0x18c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00426bb0
mov dword [ebp - 0x158], eax
jmp 0x437bab
push dword [ebx + 4]
lea ecx, [esi + 0x6c]
mov edx, edi
call fcn.00484210
add esp, 4
jmp 0x436e83
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041da20
mov edx, eax
mov dword [ebp - 0x158], edx
test edx, edx
je case.0x432eeb.83
cmp edx, 0x65
jne 0x4389f4
mov dword [ebp - 0x158], 0
jmp 0x432f35
cmp dword [ebx + 4], 0
jne 0x437ced
mov ecx, edi
call fcn.0042ee50
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
or dword [esi + 0x94], 1
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x1c4], al
test al, al
jne 0x437d1c
test dword [edi + 0x1c], 0x400
jne case.0x432eeb.83
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [ebp - 0x1c4]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00426a20
mov edx, eax
add esp, 4
mov dword [ebp - 0x158], edx
test edx, edx
je case.0x432eeb.83
cmp dl, 6
jne 0x4389f4
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.00429660
mov ebx, dword [ebp - 0x158]
add esp, 0xc
jmp 0x438d11
mov esi, dword [ebx + 0x10]
mov ecx, edi
mov edx, esi
call fcn.00486460
mov edx, eax
mov dword [ebp - 0x158], edx
test esi, esi
je 0x437d9e
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x154]
mov ecx, esi
call fcn.0042ef60
mov edx, dword [ebp - 0x158]
jmp 0x437da4
mov esi, dword [ebp - 0x154]
test edx, edx
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x164]
movq qword [ebp - 0xb8], xmm0
movups xmmword [ebp - 0xd8], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0xb8], edi
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0xd8]
movups xmmword [ebp - 0xc8], xmm0
call fcn.00428a00
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0042f730
add esp, 4
test eax, eax
je 0x437e24
mov edx, dword [ebx + 4]
lea ecx, [esi + 0x6c]
push ecx
push eax
mov ecx, edi
call fcn.00485e90
add esp, 8
mov dword [ebp - 0x158], eax
lea ecx, [ebp - 0xd8]
call fcn.00428390
cmp dword [ebp - 0x158], 0
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebp - 0x168]
mov ecx, edi
inc dword [edi + 0xb0]
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.00486270
dec dword [edi + 0xb0]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x158], ebx
test ebx, ebx
jne 0x438d11
mov ebx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xa4], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x438a41
mov edi, dword [esi]
test edi, edi
je 0x438a41
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [ebp - 0x154]
add esp, 8
mov edx, esi
mov dword [ebp - 0x158], eax
call fcn.0042ef60
cmp dword [ebp - 0x158], 0
jne 0x438d05
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x154]
push 2
push 0xffffffffffffffff
mov dword [eax], esi
mov edx, dword [ebx + 4]
push 0
call fcn.004329c0
add esp, 0xc
test eax, eax
je 0x438a2e
mov ecx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x160]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0x164]
add esi, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x154]
mov edi, dword [esi + edx*8]
lea esi, [esi + edx*8]
movd xmm0, esi
mov dword [ebp - 0x170], esi
mov eax, dword [eax + 0x70]
pshufd xmm3, xmm0, 0
mov dword [ebp - 0x1c], edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x178], eax
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x194], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x174], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [eax + edx*8]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0xa4], ecx
xor ecx, ecx
mov edx, dword [eax + 0x60]
mov dword [ebp - 0x14], edx
test edi, edi
jle 0x4380ab
cmp edi, 0x10
jb 0x438092
cmp dword [0x55f4cc], 2
jl 0x438092
movaps xmm2, xmmword [0x54f260]
mov eax, edi
and eax, 0x8000000f
jns 0x437fd4
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x54f270]
mov esi, edi
sub esi, eax
add edx, 0x20
mov dword [ebp - 0x18c], esi
mov esi, 8
mov edi, dword [ebp - 0x18c]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, edi
jl 0x437ff3
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
cmp ecx, edi
jge 0x4380ab
mov esi, dword [ebp - 0x170]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
nop dword [eax + eax]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x4380a0
mov esi, dword [ebp - 0x194]
push edx
push edi
push dword [ebx + 0x10]
mov edi, dword [ebp - 0x17c]
push dword [ebp - 0xa4]
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [ebp - 0x174]
add esp, 0x14
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
call fcn.0042ef60
cmp dword [ebp - 0x158], 0
jne 0x438d05
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x178]
add esp, 4
mov esi, dword [ebp - 0x154]
mov byte [ecx + 2], 0
test eax, eax
jne 0x432f35
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
cmp byte [edx + 2], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x43815d
mov ecx, edi
call fcn.004287f0
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [edx + 0x28]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xd0], edi
movups xmmword [ebp - 0xc0], xmm0
mov ax, word [edi + 8]
and ax, word [ebp - 0x38]
or ax, 1
mov word [edi + 8], ax
lea eax, [ebp - 0xd0]
push dword [ebx + 8]
push eax
push dword [edx + 0x28]
mov eax, dword [ecx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0x158], eax
mov edx, esi
mov esi, dword [ebp - 0x154]
mov ecx, esi
call fcn.0042ef60
mov eax, dword [ebp - 0xbc]
test eax, eax
mov ecx, dword [ebp - 0x158]
movzx edx, byte [ebp - 0x180]
cmovne ecx, eax
mov dword [ebp - 0x158], ecx
mov ecx, edi
call fcn.00427cc0
mov ecx, edi
call fcn.00428950
test eax, eax
jne 0x438a7a
cmp dword [ebp - 0x158], eax
jne 0x4389f4
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x70]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x433f09
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x158], eax
mov edx, esi
mov esi, dword [ebp - 0x154]
mov ecx, esi
call fcn.0042ef60
cmp dword [ebp - 0x158], 0
jne 0x4389f4
mov eax, dword [ebp - 0x14]
push dword [edi + 0x28]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x43695c
mov edi, dword [ebp - 0x160]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x184]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [ecx + ebx*4]
mov dword [ebp - 0x168], ebx
jmp 0x436962
mov eax, dword [ebx + 0x10]
mov edx, 1
mov ecx, dword [ebp - 0x164]
mov esi, dword [eax + 8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00427cc0
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438d05
mov eax, dword [esi]
push dword [edi + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x158], eax
mov edx, esi
mov esi, dword [ebp - 0x154]
mov ecx, esi
call fcn.0042ef60
and dword [esi + 0x94], 0xfffffffe
cmp dword [ebp - 0x158], 0
jne 0x4389f4
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x18c], edx
test edx, edx
je 0x438a6a
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x438a6a
cmp dword [eax + 0x34], 0
mov esi, dword [ebx + 8]
je 0x4336f7
mov al, byte [edi + 0x4e]
mov ecx, dword [ebp - 0x164]
mov byte [ebp - 0x169], al
mov eax, dword [ebp - 0x154]
mov edi, dword [eax + 0x60]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x438362
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x438357
mov ecx, dword [ebp - 0x160]
mov al, byte [ebx + 2]
mov byte [ecx + 0x4e], al
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x14]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov edi, dword [ebp - 0x160]
add esp, 0x10
mov esi, dword [ebp - 0x154]
mov ecx, esi
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x158], eax
mov al, byte [ebp - 0x169]
mov byte [edi + 0x4e], al
call fcn.0042ef60
mov edx, dword [ebp - 0x158]
test edx, edx
jne 0x4383e5
cmp dword [ebx + 4], edx
je 0x4383cc
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
inc dword [esi + 0x2c]
test edx, edx
jne 0x4389f4
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
cmp dl, 0x13
jne 0x4383cc
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x4383cc
movzx ecx, word [ebx + 2]
cmp ecx, 4
jne 0x438a4b
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x158], 0
add ebx, 0x14
jmp 0x432ebc
mov edx, ebx
mov ecx, esi
call fcn.00432d80
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x10]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
call fcn.0041b420
mov dword [esi], eax
mov eax, dword [ebp - 0x15c]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov edx, ebx
mov ecx, esi
call fcn.00432d80
mov ecx, dword [ebp - 0x160]
mov edi, eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax + 4]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x4384b8
mov ecx, esi
call fcn.0041b420
mov ebx, dword [ebp - 0x168]
mov edx, eax
mov ecx, esi
cmp edx, dword [ebx + 0xc]
cmovb edx, dword [ebx + 0xc]
call fcn.0041c820
mov esi, dword [ebp - 0x154]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x15c]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
mov ebx, dword [ebp - 0x168]
mov ecx, esi
call fcn.0041c820
mov esi, dword [ebp - 0x154]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x15c]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x160]
add ebx, 0x14
jmp 0x432ebc
movzx ebx, word [ebx + 2]
mov ecx, edi
push 0
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x434d7b
mov eax, dword [ebp - 0x168]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x184]
mov eax, 0x66666667
imul ecx
mov byte [esi + 0x1a], bl
mov ebx, dword [ebp - 0x168]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x154]
mov dword [esi + 0xc], eax
add byte [ebx], 2
mov byte [ebx + 1], 0xf0
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x164]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi], edi
je 0x43859a
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi], edi
js 0x43859a
mov edi, dword [ebp - 0x164]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x438581
mov edi, dword [ebp - 0x14]
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov byte [esi + 0x19], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x438628
cmp dword [esi + 0x14], 0
je 0x4385f9
mov dl, 1
mov ecx, edi
call fcn.00428ee0
push eax
push 0x547340
push dword [ebp - 0x154]
call fcn.00429660
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x158], eax
push dword [ebx + 4]
mov ecx, dword [ebp - 0x160]
push dword [esi + 0x10]
mov esi, dword [ebp - 0x154]
lea edx, [esi + 0xd8]
call fcn.0042cb40
add esp, 8
cmp dword [ebp - 0x158], 0
jne 0x4389f4
jmp 0x43862e
mov esi, dword [ebp - 0x154]
movzx eax, word [edi + 8]
test al, 0x12
je 0x433f09
test al, 2
je 0x438652
mov al, byte [ebp - 0x180]
cmp byte [edi + 0xa], al
je 0x438652
mov dl, al
mov ecx, edi
call fcn.00408040
mov ecx, edi
call fcn.00428950
test eax, eax
jne 0x438a7a
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
add ebx, 0x14
jmp 0x432ebc
mov cl, byte [edi + 0x50]
test cl, 0x81
je 0x438731
test byte [esi + 0x94], 2
jne 0x438731
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x4386a3
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x438731
test cl, cl
jns 0x4386d8
mov edi, dword [edi + 0xbc]
mov edx, eax
mov ecx, esi
call fcn.004324e0
mov esi, eax
mov eax, dword [ebp - 0x160]
push esi
push dword [eax + 0xc0]
call edi
push esi
call fcn.004053c0
mov esi, dword [ebp - 0x154]
add esp, 0xc
jmp 0x438731
cmp dword [edi + 0xac], 1
push eax
jle 0x43871d
push str.____s
push edi
call fcn.00407a80
mov ecx, dword [edi + 0xbc]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x154]
push dword [edi + 0xc0]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, edi
call fcn.00405510
mov esi, dword [ebp - 0x154]
jmp 0x438731
mov eax, dword [edi + 0xbc]
push esi
push dword [edi + 0xc0]
push 1
call eax
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x55a524]
jl 0x43876f
mov edx, 1
cmp dword [esi + 0x88], edx
jle 0x43876d
mov eax, 0x14
nop
mov ecx, dword [esi + 0x58]
cmp byte [eax + ecx], 0x14
jne 0x438761
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x88]
jl 0x438750
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [esi + 0xb8]
jmp 0x432f35
mov esi, dword [ebp - 0x154]
add ebx, 0x14
jmp 0x432ebc
mov eax, dword [ebp - 0x15c]
mov esi, edx
add ebx, 0x14
jmp 0x432ebc
mov esi, dword [ebp - 0x154]
mov dword [esi + 0x28], edx
mov al, byte [ecx + 8]
mov byte [esi + 0x8e], al
mov dword [esi + 0x24], edi
test edx, edx
je 0x438843
movzx eax, word [ecx + 2]
test ax, ax
je 0x438806
push dword [eax*4 + 0x54c030]
push str._s_constraint_failed
push esi
call fcn.00429660
mov esi, dword [ebp - 0x168]
add esp, 0xc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x43881d
mov ebx, dword [ebp - 0x154]
push eax
push dword [ebx + 0x6c]
push str._z:__s
push dword [ebp - 0x160]
call fcn.00407a80
add esp, 0x10
mov dword [ebx + 0x6c], eax
jmp 0x43881d
push dword [ecx + 0x10]
push 0x547340
push esi
call fcn.00429660
mov esi, dword [ebp - 0x168]
add esp, 0xc
mov eax, dword [ebp - 0x154]
push dword [eax + 0x6c]
push dword [eax + 0xbc]
push edi
push str.abort_at__d_in___s_:__s
push dword [esi + 4]
call fcn.00407d30
mov esi, dword [ebp - 0x154]
add esp, 0x14
mov ecx, esi
call fcn.0042c500
mov dword [ebp - 0x158], eax
cmp eax, 5
jne 0x438c6c
mov dword [esi + 0x28], eax
jmp 0x438de1
mov ecx, 0x13f84
call fcn.004a0ac0
mov ebx, eax
jmp 0x438d11
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.00429660
add esp, 8
mov ebx, 5
jmp 0x438d11
mov esi, dword [ebp - 0x154]
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.00429660
add esp, 8
mov ebx, 5
jmp 0x438d11
mov ecx, dword [ebp - 0x168]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x184]
mov esi, dword [ebp - 0x154]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x160]
mov byte [eax + 0x47], 0
mov eax, 5
mov dword [ebp - 0x158], eax
mov dword [esi + 0x28], eax
jmp 0x438de1
push eax
push str.no_such_savepoint:__s
jmp 0x438a15
mov ebx, 8
jmp 0x438d11
mov ebx, dword [ebp - 0x158]
mov esi, dword [ebp - 0x154]
cmp bl, 5
jne 0x438d11
mov ecx, dword [ebp - 0x168]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x184]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov eax, ebx
mov dword [esi + 0x28], eax
jmp 0x438de1
mov esi, dword [ebp - 0x154]
mov ecx, edi
mov edx, dword [esi + 0x6c]
call fcn.00405510
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.00405bd0
mov dword [esi + 0x6c], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x50]
je 0x43897a
mov ecx, edi
call fcn.004502e0
or dword [esi + 0x94], 1
mov ebx, 0x11
jmp 0x438d11
mov ebx, 0x204
jmp 0x438d11
mov esi, dword [ebp - 0x154]
mov ebx, 6
mov byte [esi + 0x8e], 2
jmp 0x438d11
mov ecx, edi
call fcn.00450350
jmp 0x434d7b
mov esi, dword [ebp - 0x154]
push str.too_many_levels_of_trigger_recursion
push esi
call fcn.00429660
add esp, 8
mov ebx, 1
jmp 0x438d11
push esi
call fcn.0042f730
mov esi, dword [ebp - 0x154]
add esp, 4
push eax
push 0x547340
push esi
call fcn.00429660
add esp, 0xc
mov ebx, dword [ebp - 0x158]
jmp 0x438d11
cmp esi, 5
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov esi, dword [ebp - 0x154]
push esi
call fcn.00429660
add esp, 0xc
mov ebx, 1
jmp 0x438d11
push dword [ebp - 0xa4]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x434d7b
mov ebx, 6
jmp 0x438d0b
mov ebx, dword [ebp - 0x158]
cmp ecx, 5
movzx eax, cl
mov ecx, 2
cmove eax, ecx
mov byte [esi + 0x8e], al
jmp 0x438d11
mov ebx, 6
jmp 0x438d11
mov esi, dword [ebp - 0x154]
push str.string_or_blob_too_big
push esi
call fcn.00429660
add esp, 8
mov ebx, 0x12
jmp 0x438d11
mov eax, dword [edi + 0x138]
test eax, eax
je 0x438ac3
mov ecx, dword [ebp - 0x15c]
cmp ecx, dword [ebp - 0x1a8]
jb 0x438ac3
push dword [edi + 0x13c]
call eax
add esp, 4
test eax, eax
je 0x438ac3
mov ebx, 9
jmp 0x438d11
xor edx, edx
mov ecx, esi
call fcn.0042c4a0
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x4389f4
lea edx, [eax + 1]
mov ecx, esi
call fcn.0042c480
mov eax, dword [esi + 0x20]
xor edi, edi
mov ecx, dword [ebp - 0x164]
add eax, 2
or eax, 1
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x154]
mov dword [eax + 0x68], esi
cmp dword [ebx + 8], edi
jle 0x438b4c
nop
mov eax, 0x1000
test word [esi + 8], ax
je 0x438b2a
mov ecx, esi
call fcn.00427f00
test eax, eax
jne 0x434d7b
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
cmp ax, 2
jne 0x438b43
mov ecx, esi
call fcn.00427ec0
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x438b10
mov eax, dword [ebp - 0x160]
cmp byte [eax + 0x49], 0
jne 0x434d81
test byte [eax + 0x50], 4
mov esi, dword [ebp - 0x154]
je 0x438b7e
push 0
push esi
push dword [eax + 0xc0]
mov eax, dword [eax + 0xbc]
push 4
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x168]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x184]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x24], eax
mov eax, 0x64
mov dword [ebp - 0x158], eax
jmp 0x438de1
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x38], eax
movzx eax, byte [edi + 0x47]
mov ebx, dword [ebp - 0x38]
cmp ebx, eax
je 0x438c88
test ecx, ecx
je 0x438bdb
mov edx, 0x204
mov ecx, edi
call fcn.0049e170
mov al, 1
jmp 0x438c1c
test ebx, ebx
je 0x438c00
cmp dword [edi + 0xa8], 0
jle 0x438c00
push str.cannot_commit_transaction___SQL_statements_in_progress
push esi
call fcn.00429660
add esp, 8
mov ebx, 5
jmp 0x438d11
mov edx, 1
mov ecx, esi
call fcn.0042c4a0
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x438de1
mov al, bl
mov ecx, esi
mov byte [edi + 0x47], al
call fcn.0042c500
cmp eax, 5
jne 0x438c65
mov ecx, dword [ebp - 0x168]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x184]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov al, 1
sub al, bl
mov byte [edi + 0x47], al
mov eax, 5
mov dword [ebp - 0x158], eax
mov dword [esi + 0x28], eax
jmp 0x438de1
mov ecx, edi
call fcn.0049d710
cmp dword [esi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x158], eax
jmp 0x438de1
test ebx, ebx
jne 0x438ca2
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push esi
call fcn.00429660
add esp, 8
mov ebx, 1
jmp 0x438d11
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push esi
call fcn.00429660
add esp, 8
mov ebx, 1
jmp 0x438d11
mov esi, dword [ebp - 0x154]
xor eax, eax
cmp byte [edi + 0x49], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x158], eax
mov dword [esi + 0x28], eax
call fcn.0049e2c0
push eax
push 0x547340
push esi
call fcn.00429660
mov ebx, dword [ebp - 0x158]
add esp, 0xc
jmp 0x438d11
mov eax, edi
jmp 0x434d87
mov ebx, dword [ebp - 0x158]
mov esi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x160]
mov ecx, 7
cmp byte [eax + 0x49], 0
cmovne ebx, ecx
cmp dword [esi + 0x6c], 0
mov dword [ebp - 0x158], ebx
jne 0x438d4d
cmp ebx, 0xc0a
je 0x438d4d
mov ecx, ebx
call fcn.0049e2c0
push eax
push 0x547340
push esi
call fcn.00429660
add esp, 0xc
mov dword [esi + 0x28], ebx
mov edx, ebx
mov ebx, dword [ebp - 0x160]
mov ecx, ebx
call fcn.00408700
mov ecx, dword [ebp - 0x168]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x184]
push dword [esi + 0x6c]
imul ecx
push dword [esi + 0xbc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x158]
call fcn.00407d30
add esp, 0x14
mov ecx, esi
call fcn.0042c500
cmp dword [ebp - 0x158], 0xc0a
jne 0x438db3
mov ecx, ebx
call fcn.00405d40
mov cl, byte [ebp - 0x199]
mov eax, 1
mov dword [ebp - 0x158], eax
test cl, cl
je 0x438de1
movzx edx, cl
mov ecx, ebx
dec edx
call fcn.004502e0
mov eax, dword [ebp - 0x158]
jmp 0x438de1
mov esi, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x15c]
add dword [esi + 0xb0], ecx
cmp dword [esi + 0x9c], 0
je 0x438e03
mov ecx, esi
call fcn.0042aa90
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f49c2
mov esp, ebp
pop ebp
ret