Function at 0x4b2e90
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x7db1e8]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ecx]
xor ebx, ebx
mov esi, dword [ecx + 0x14]
push ecx
mov dword [ebp - 0xd4], ecx
mov eax, dword [edi + 8]
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xc8], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xd8], edi
mov byte [ebp - 0xf1], 0
mov dword [ebp - 0x124], 0
mov al, byte [eax + 0x49]
mov byte [ebp - 0xec], al
mov byte [ebp - 0x104], al
mov byte [ebp - 0x110], al
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0xdc], eax
xor eax, eax
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x11c], eax
call fcn.004bd270
mov ecx, dword [ebp - 0xd4]
add esp, 4
cmp dword [ecx + 0x58], 7
je 0x4baafc
mov dword [ecx + 0x58], ebx
mov dword [ecx + 0x2c], ebx
mov dword [edi + 0x1a8], ebx
cmp dword [edi + 0xe0], ebx
jne 0x4baab2
mov eax, dword [edi + 0x108]
xorps xmm0, xmm0
mov edx, dword [ecx + 0x54]
movsd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [0x736180]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x110]
movsd qword [ebp - 0x16c], xmm0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xcc], edx
nop dword [eax]
cmp byte [edi + 0x1e], 0
jne 0x4baafc
cmp dword [ebp - 0x134], 0
lea ebx, [edx + edx*4]
mov dword [ebp - 0xe4], ebx
je 0x4b2fda
mov eax, dword [ebp - 0x124]
cmp dword [edi + 0x110], eax
jne 0x4b2fd3
push dword [edi + 0x10c]
mov eax, dword [edi + 0x108]
call eax
add esp, 4
test eax, eax
jne 0x4ba4e0
inc eax
mov dword [ebp - 0x124], eax
test byte [esi + ebx*4 + 2], 2
je 0x4b3011
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xe0], eax
call fcn.004bc790
mov edx, dword [ebp - 0xe0]
mov eax, 4
add esp, 4
mov word [edx + 0x1c], ax
jmp 0x4b3017
mov edx, dword [ebp - 0xe0]
movzx eax, byte [esi + ebx*4]
dec eax
cmp eax, 0x90
ja case.0x4b3027.17
jmp dword [eax*4 + 0x4baba4]
cmp dword [edi + 0xe0], 0
jne 0x4baaac
mov edx, dword [esi + ebx*4 + 8]
jmp 0x4b2f86
mov ecx, dword [esi + ebx*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xdc]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [ebp - 0xcc]
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0xd8]
mov dword [eax + ecx*8 + 4], edx
mov edx, dword [esi + ebx*4 + 8]
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xdc]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [ebx + ecx*8 + 0x1c], ax
mov eax, dword [ebx + ecx*8]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [ebx + ecx*8 + 4], edx
mov dword [ebx + ecx*8], eax
mov edx, dword [ebp - 0xc4]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.0x4b3027.17
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xd4]
test ecx, ecx
jne 0x4ba4f0
mov edi, dword [edx + 0xdc]
test edi, edi
je 0x4ba4ea
mov eax, dword [edi + 0x3c]
dec dword [edx + 0xe0]
mov ecx, dword [ebp - 0xd8]
mov dword [edx + 0xdc], eax
mov eax, dword [edx + 0x6c]
add dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], eax
mov esi, dword [edi]
mov eax, dword [edi + 8]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x4c], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x34], eax
mov ax, word [edi + 0x1c]
mov word [esi + 0x32], ax
mov eax, dword [esi]
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x34], edx
mov eax, dword [edi + 0x38]
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [edi + 4]
cmp dword [eax + ebx*4 + 8], 4
jne 0x4b31a0
mov edi, dword [ebp - 0xd8]
mov eax, ecx
mov esi, dword [eax + 0x14]
lea eax, [edx + edx*4]
mov dword [ebp - 0xd0], esi
mov edx, dword [esi + eax*4 + 8]
mov eax, dword [ecx + 0x4c]
dec edx
mov dword [ebp - 0xdc], eax
inc edx
jmp 0x4b2f86
mov esi, dword [ecx + 0x14]
inc edx
mov eax, dword [ecx + 0x4c]
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xdc], eax
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xe0]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, 8
mov word [edx + 0x1c], ax
mov eax, dword [esi + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov byte [esi + ebx*4], 9
mov ebx, dword [esi + ebx*4 + 0x10]
mov eax, ebx
test ebx, ebx
je 0x4b323d
cmp byte [ebx], 0
je 0x4b3236
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x4b3230
sub eax, ebx
and eax, 0x3fffffff
cmp byte [ebp - 0xec], 1
mov ecx, dword [ebp - 0xe4]
mov dword [esi + ecx*4 + 4], eax
je 0x4b33c1
test ebx, ebx
jne 0x4b3273
push edx
call fcn.004bc800
mov ecx, dword [ebp - 0xe0]
add esp, 4
test byte [ecx + 0x1c], 2
je 0x4b32fa
jmp 0x4b32d2
mov edi, dword [edx + 0x10]
test edi, edi
je 0x4b3285
mov edi, dword [edi + 0x48]
xor esi, esi
test edi, edi
js 0x4b329b
jmp 0x4b328a
mov edi, 0x3b9aca00
xor esi, esi
nop dword [eax]
cmp byte [esi + ebx], 0
je 0x4b329b
inc esi
cmp esi, edi
jle 0x4b3290
push edx
call fcn.004bc6e0
mov ecx, dword [ebp - 0xe0]
add esp, 4
cmp esi, edi
mov edi, dword [ebp - 0xd8]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], 0x1030a02
jg 0x4ba909
mov esi, dword [ebp - 0xd0]
mov al, byte [ebp - 0xec]
cmp byte [ecx + 0x1f], al
je 0x4b32fa
push dword [ebp - 0xec]
push ecx
call fcn.004bcd70
add esp, 8
test eax, eax
jne 0x4baafc
mov ecx, dword [ebp - 0xe0]
mov ax, word [ecx + 0x1c]
mov edx, 0xfbff
mov ebx, dword [ebp - 0xe4]
and ax, dx
mov edx, 0x800
mov dword [ecx + 0x24], 0
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [esi + ebx*4 + 1], 0xff
jne 0x4b339c
mov eax, dword [edi + 0x1e8]
mov ecx, dword [esi + ebx*4 + 0x10]
test eax, eax
je 0x4b3369
test ecx, ecx
je 0x4b3353
cmp ecx, dword [edi + 0xf8]
jb 0x4b3353
cmp ecx, dword [edi + 0xfc]
jae 0x4b3353
movzx ecx, word [edi + 0xe8]
add dword [eax], ecx
jmp 0x4b339c
push ecx
call dword [0x7d902c]
mov ecx, eax
add esp, 4
mov eax, dword [edi + 0x1e8]
add dword [eax], ecx
jmp 0x4b339c
test ecx, ecx
je 0x4b3393
cmp ecx, dword [edi + 0xf8]
jb 0x4b3393
cmp ecx, dword [edi + 0xfc]
jae 0x4b3393
mov eax, dword [edi + 0xf4]
mov dword [ecx], eax
dec dword [edi + 0xec]
mov dword [edi + 0xf4], ecx
jmp 0x4b339c
push ecx
call fcn.0045feb0
add esp, 4
mov edx, dword [ebp - 0xe0]
mov byte [esi + ebx*4 + 1], 0xff
mov dword [ebp - 0xc8], 0
mov eax, dword [edx + 0x14]
mov dword [esi + ebx*4 + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [esi + ebx*4 + 4], eax
jmp 0x4b33c7
mov ebx, dword [ebp - 0xe4]
cmp eax, dword [edi + 0x48]
jg 0x4ba909
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esi + ebx*4 + 0x10]
mov dword [edx + 0x14], eax
mov eax, dword [esi + ebx*4 + 4]
mov dword [edx + 0x18], eax
mov al, byte [ebp - 0xec]
mov byte [edx + 0x1f], al
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, 1
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
push 0
push 0
push dword [esi + ebx*4 + 4]
push dword [esi + ebx*4 + 0x10]
push edx
call fcn.004bca50
mov ebx, dword [ebp - 0xe0]
add esp, 0x14
mov al, byte [ebp - 0xec]
mov edx, dword [ebp - 0xcc]
inc edx
mov byte [ebx + 0x1f], al
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd4]
lea esi, [esi - 5]
mov eax, dword [eax + 0x3c]
lea esi, [eax + esi*8]
mov dword [ebp - 0xc4], esi
movzx eax, word [esi + 0x1c]
test al, 0x12
je 0x4b347d
mov ecx, dword [esi + 0x18]
test eax, 0x4000
je 0x4b3471
add ecx, dword [esi]
mov eax, dword [esi + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x4ba909
mov ebx, dword [ebp - 0xe0]
movzx eax, word [ebx + 0x1c]
test eax, 0x2460
je 0x4b34de
test eax, 0x2000
je 0x4b34a8
push dword [ebx]
push ebx
call fcn.004bc0b0
push ebx
call fcn.004bc6e0
add esp, 0xc
jmp 0x4b34de
test eax, 0x400
je 0x4b34c4
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4b34c4
push dword [ebx + 0x14]
call ecx
mov dword [ebx + 0x20], 0
jmp 0x4b34db
test al, 0x20
je 0x4b34d1
push dword [ebx]
call fcn.004a9680
jmp 0x4b34db
test al, 0x40
je 0x4b34de
push ebx
call fcn.004bc800
add esp, 4
movups xmm0, xmmword [esi]
mov ecx, 0x800
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebx + 0x10], xmm0
mov dword [ebx + 0x20], 0
test word [esi + 0x1c], cx
jne 0x4b3511
mov ax, word [ebx + 0x1c]
mov edx, 0xebff
and ax, dx
or ax, cx
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
inc edx
jmp 0x4b2f86
mov edx, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xc0], edx
mov eax, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [esi + ebx*4 + 8]
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], ecx
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea eax, [ecx + ecx*4]
lea ebx, [ebx + eax*8]
mov dword [ebp - 0xe0], ebx
test edx, edx
je 0x4b35d1
mov edi, 1
dec edx
mov dword [ebp - 0xc0], edx
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xc4], eax
push ebx
mov dword [ebx + 0x24], 0
call fcn.004bc6e0
movups xmm0, xmmword [esi]
add esp, 4
lea esi, [esi + 0x28]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esi - 0x18]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi - 8]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov dword [esi - 4], 0
mov word [esi - 0xc], di
mov dword [esi - 8], 0
mov eax, dword [ebp - 0xc4]
mov dword [esi - 4], eax
mov edx, dword [ebp - 0xc0]
test edx, edx
jne 0x4b3562
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], ebx
mov esi, dword [ebp - 0xd0]
dec edx
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [ebx + 0x1c]
mov dword [ebp - 0xe0], ebx
test eax, 0x2460
je 0x4b3668
test eax, 0x2000
je 0x4b3632
push dword [ebx]
push ebx
call fcn.004bc0b0
push ebx
call fcn.004bc6e0
add esp, 0xc
jmp 0x4b3668
test eax, 0x400
je 0x4b364e
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4b364e
push dword [ebx + 0x14]
call ecx
mov dword [ebx + 0x20], 0
jmp 0x4b3665
test al, 0x20
je 0x4b365b
push dword [ebx]
call fcn.004a9680
jmp 0x4b3665
test al, 0x40
je 0x4b3668
push ebx
call fcn.004bc800
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov eax, 0x800
movups xmm0, xmmword [ecx + esi*8]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ecx + esi*8 + 0x10]
movups xmmword [ebx + 0x10], xmm0
mov dword [ebx + 0x20], 0
test word [ecx + esi*8 + 0x1c], ax
jne 0x4b36ae
mov ax, word [ebx + 0x1c]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [ebx + 0x1c], ax
movzx eax, ax
jmp 0x4b36b2
movzx eax, word [ebx + 0x1c]
test eax, 0x1000
je 0x4b3511
push ebx
call fcn.004bc4b0
add esp, 4
test eax, eax
jne 0x4baafc
mov edx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [ebx + 0x1c]
mov dword [ebp - 0xe0], ebx
test eax, 0x2460
je 0x4b375e
test eax, 0x2000
je 0x4b3728
push dword [ebx]
push ebx
call fcn.004bc0b0
push ebx
call fcn.004bc6e0
add esp, 0xc
jmp 0x4b375e
test eax, 0x400
je 0x4b3744
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4b3744
push dword [ebx + 0x14]
call ecx
mov dword [ebx + 0x20], 0
jmp 0x4b375b
test al, 0x20
je 0x4b3751
push dword [ebx]
call fcn.004a9680
jmp 0x4b375b
test al, 0x40
je 0x4b375e
push ebx
call fcn.004bc800
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov eax, 0x800
movups xmm0, xmmword [ecx + esi*8]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ecx + esi*8 + 0x10]
movups xmmword [ebx + 0x10], xmm0
mov dword [ebx + 0x20], 0
test word [ecx + esi*8 + 0x1c], ax
jne 0x4b3511
mov ax, word [ebx + 0x1c]
mov ecx, 0xf3ff
mov edx, dword [ebp - 0xcc]
and ax, cx
mov esi, dword [ebp - 0xd0]
mov ecx, 0x1000
or ax, cx
inc edx
mov word [ebx + 0x1c], ax
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
movzx ecx, word [edi + 0x1c]
mov ebx, ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
movzx edx, word [esi + 0x1c]
mov dword [ebp - 0xe0], eax
mov al, dl
or al, cl
test al, 1
je 0x4b381e
mov ebx, dword [ebp - 0xe0]
push ebx
call fcn.004bc800
mov edx, dword [ebp - 0xcc]
add esp, 4
mov edi, dword [ebp - 0xd8]
inc edx
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
test edx, 0x4000
je 0x4b386e
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0x18]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.004bc2d0
add esp, 0xc
test eax, eax
jne 0x4baaf6
push dword [esi]
push eax
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0x18]
push eax
call fcn.006f7570
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0x18], eax
mov eax, 0xbdff
and word [esi + 0x1c], ax
movzx eax, word [edi + 0x1c]
jmp 0x4b3870
mov eax, ebx
test eax, 0x4000
je 0x4b3888
push edi
call fcn.004bc050
add esp, 4
test eax, eax
jne 0x4baaf6
test byte [esi + 0x1c], 0x12
movzx ebx, byte [ebp - 0xec]
jne 0x4b38a7
push ebx
push esi
call fcn.004bccd0
add esp, 8
test eax, eax
jne 0x4baaf6
test byte [edi + 0x1c], 0x12
jne 0x4b38bf
push ebx
push edi
call fcn.004bccd0
add esp, 8
test eax, eax
jne 0x4baaf6
mov ecx, dword [edi + 0x18]
add ecx, dword [esi + 0x18]
mov eax, ecx
cdq
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edx
cmp ecx, dword [eax + 0x48]
jg 0x4ba907
mov ebx, dword [ebp - 0xe0]
mov ecx, 0xbf02
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
cmp ebx, edi
sete al
push eax
mov eax, dword [ebp - 0xc4]
add eax, 2
push eax
push ebx
call fcn.004bc2d0
add esp, 0xc
test eax, eax
jne 0x4baaf6
cmp ebx, edi
je 0x4b3935
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [ebx + 0x14]
call fcn.006f6ff0
add esp, 0xc
push dword [esi + 0x18]
mov eax, dword [ebx + 0x14]
push dword [esi + 0x14]
add eax, dword [edi + 0x18]
push eax
call fcn.006f6ff0
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebx + 0x14]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
inc edx
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0xec]
mov byte [ebx + 0x1f], al
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
push esi
call fcn.00469dd0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
push edi
call fcn.00469dd0
mov eax, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0xe0], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xc4], ecx
test cl, 1
jne 0x4b37f7
movzx ecx, word [esi + 0x1c]
mov al, cl
and al, byte [edi + 0x1c]
test al, 4
je 0x4b3b1d
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
mov ebx, dword [edi]
mov esi, dword [edi + 4]
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], esi
movzx eax, byte [edi + eax*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4b3a47
jmp dword [eax*4 + 0x4bade8]
add ecx, ebx
adc edx, esi
jmp 0x4b3ada
sub ebx, ecx
mov ecx, ebx
sbb esi, edx
mov edx, esi
jmp 0x4b3ada
push esi
push ebx
push edx
push ecx
call fcn.006f4f60
jmp 0x4b3ad8
mov eax, ecx
or eax, edx
je 0x4b37f7
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4b3a9e
test ebx, ebx
jne 0x4b3a9e
cmp esi, 0x80000000
jne 0x4b3a9e
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
push edx
push ecx
push esi
push ebx
call fcn.006f4dd0
jmp 0x4b3ad8
mov eax, ecx
or eax, edx
je 0x4b37f7
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4b3acf
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
push edx
push ecx
push esi
push ebx
call fcn.006f4fa0
mov ecx, eax
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xb4], ecx
mov ax, word [ebx + 0x1c]
mov dword [ebx], ecx
mov ecx, 0xbf04
mov dword [ebx + 4], edx
and ax, cx
mov edx, dword [ebp - 0xcc]
or ax, 4
mov word [ebx + 0x1c], ax
inc edx
jmp 0x4b2f86
test cl, 8
je 0x4b3b31
movsd xmm1, qword [esi + 8]
movsd xmm0, qword [ebp - 0x10c]
jmp 0x4b3b91
test cl, 4
je 0x4b3b4d
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.006f53f0
movaps xmm1, xmm0
movsd xmm0, qword [ebp - 0x10c]
jmp 0x4b3b91
movsd xmm0, qword [ebp - 0x10c]
test cl, 0x12
je 0x4b3b8e
movzx eax, byte [esi + 0x1f]
push eax
push dword [esi + 0x18]
lea eax, [ebp - 0x14c]
movsd qword [ebp - 0x14c], xmm0
push eax
push dword [esi + 0x14]
call fcn.0048bc10
movsd xmm1, qword [ebp - 0x14c]
add esp, 0x10
movsd xmm0, qword [ebp - 0x10c]
jmp 0x4b3b91
movaps xmm1, xmm0
movsd qword [ebp - 0xac], xmm1
movzx eax, word [edi + 0x1c]
movsd qword [ebp - 0xfc], xmm1
test al, 8
je 0x4b3bb0
movsd xmm0, qword [edi + 8]
jmp 0x4b3bfe
test al, 4
je 0x4b3bc8
mov edx, dword [edi + 4]
mov ecx, dword [edi]
call fcn.006f53f0
movsd xmm1, qword [ebp - 0xfc]
jmp 0x4b3bfe
test al, 0x12
je 0x4b3bfe
movzx eax, byte [edi + 0x1f]
push eax
push dword [edi + 0x18]
lea eax, [ebp - 0x154]
movsd qword [ebp - 0x154], xmm0
push eax
push dword [edi + 0x14]
call fcn.0048bc10
movsd xmm0, qword [ebp - 0x154]
add esp, 0x10
movsd xmm1, qword [ebp - 0xac]
mov esi, dword [ebp - 0xd0]
movsd qword [ebp - 0xa4], xmm0
movsd qword [ebp - 0x118], xmm0
movzx eax, byte [esi + ebx*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4b3c20
jmp dword [eax*4 + 0x4badf8]
addsd xmm0, xmm1
jmp 0x4b3cc9
subsd xmm0, xmm1
jmp 0x4b3cc9
mulsd xmm0, xmm1
jmp 0x4b3cc9
ucomisd xmm1, qword [ebp - 0x10c]
lahf
test ah, 0x44
jnp 0x4b37f7
divsd xmm0, xmm1
jmp 0x4b3cc9
movaps xmm0, xmm1
call fcn.006f52e0
movsd xmm0, qword [ebp - 0x118]
mov esi, eax
mov edi, edx
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
call fcn.006f52e0
mov ecx, esi
mov dword [ebp - 0xb0], edx
or ecx, edi
mov ebx, eax
mov dword [ebp - 0xb4], ebx
je 0x4b37f7
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x4b3cb3
mov esi, 1
xor edi, edi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
push edi
push esi
push edx
push ebx
call fcn.006f4fa0
mov ecx, eax
call fcn.006f53f0
mov esi, dword [ebp - 0xd0]
movsd qword [ebp - 0xa4], xmm0
movsd qword [ebp - 0xfc], xmm0
movsd xmm0, qword [ebp - 0xfc]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0xfc]
ucomisd xmm0, qword [ebp - 0x118]
lahf
test ah, 0x44
jp 0x4b37f7
mov ebx, dword [ebp - 0xe0]
mov ecx, 0xbf08
movsd xmm0, qword [ebp - 0xa4]
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm0
or ax, 8
mov word [ebx + 0x1c], ax
test byte [ebp - 0xc4], 8
jne 0x4b3d3c
push ebx
call fcn.004bb750
add esp, 4
mov edx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
inc edx
jmp 0x4b2f86
mov cl, byte [esi + ebx*4 + 3]
mov edx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xdc]
movzx eax, cl
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 0x24]
mov dword [ebp - 0x7c], esi
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xe0], eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, edi
mov edi, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], eax
test cl, cl
je 0x4b3e2e
nop dword [eax + eax]
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [ebp - 0xc0]
test word [ecx + 0x1c], ax
je 0x4b3ddb
push ecx
call fcn.004bc4b0
add esp, 4
test eax, eax
jne 0x4baafc
mov ecx, dword [ebp - 0xc0]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x4b3de9
mov byte [ecx + 0x1e], 5
jmp 0x4b3e08
test al, 4
je 0x4b3df3
mov byte [ecx + 0x1e], 1
jmp 0x4b3e08
test al, 8
je 0x4b3dfd
mov byte [ecx + 0x1e], 2
jmp 0x4b3e08
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
inc eax
add edx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
cmp eax, dword [ebp - 0x78]
jge 0x4b3e2e
mov esi, dword [ebp - 0x7c]
jmp 0x4b3db0
mov esi, dword [ebp - 0xd0]
cmp byte [esi + ebx*4 + 1], 0xfb
mov eax, dword [esi + ebx*4 + 0x10]
jne 0x4b3e4b
mov dword [ebp - 0xb8], 0
jmp 0x4b3e53
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov eax, 1
mov word [ebp - 0x98], ax
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
call fcn.004bc6e0
mov eax, dword [ebp - 0xe0]
mov ecx, 1
add esp, 4
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0xa4], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x94], xmm0
mov word [eax + 0x1c], cx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x98]
and eax, 0xbf01
mov dword [ebp - 0x88], 0
or eax, ecx
mov ecx, dword [ebp - 0xbc]
mov word [ebp - 0x98], ax
test byte [ecx + 3], 8
je 0x4b3f01
mov eax, dword [esi + ebx*4 - 4]
mov dword [ebp - 0x84], eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0xbc]
push dword [ebp - 0x78]
push eax
mov eax, dword [ecx + 0xc]
call eax
add esp, 0xc
cmp byte [edi + 0x1e], 0
jne 0x4ba5a8
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x4b3f46
push dword [esi + ebx*4 + 4]
push eax
call fcn.004b2770
mov eax, dword [ebp - 0xb8]
add esp, 8
mov dword [esi + ebx*4 + 0x10], eax
mov byte [esi + ebx*4 + 1], 0xf9
cmp dword [ebp - 0x88], 0
je 0x4b3f82
lea eax, [ebp - 0xb4]
push 1
push eax
call fcn.004b1bb0
push eax
mov eax, dword [ebp - 0xd4]
push 0x7328c8
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov eax, dword [ebp - 0x88]
add esp, 0x18
mov dword [ebp - 0xc8], eax
test byte [ebp - 0x98], 2
je 0x4b3fae
mov al, byte [ebp - 0xec]
cmp byte [ebp - 0x95], al
je 0x4b3fae
push dword [ebp - 0x104]
lea eax, [ebp - 0xb4]
push eax
call fcn.004bcd70
add esp, 8
mov ebx, dword [ebp - 0xe0]
push ebx
call fcn.004bc6e0
movups xmm0, xmmword [ebp - 0xb4]
mov eax, 1
add esp, 4
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ebp - 0xa4]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [ebp - 0x94]
movq qword [ebx + 0x20], xmm0
mov word [ebp - 0x98], ax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
movzx eax, word [ebx + 0x1c]
test al, 0x12
je case.0x4b3027.17
mov ecx, dword [ebx + 0x18]
test eax, 0x4000
je 0x4b4013
add ecx, dword [ebx]
mov eax, dword [ebx + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x4ba909
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xe0], edx
test al, 1
je 0x4b4085
push edx
call fcn.004bc800
mov edx, dword [ebp - 0xcc]
add esp, 4
mov esi, dword [ebp - 0xd0]
inc edx
jmp 0x4b2f86
push ecx
call fcn.004bb6d0
push esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
call fcn.004bb6d0
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0xd0]
add esp, 8
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edi
movzx ecx, byte [eax + ebx*4]
sub ecx, 0x52
je 0x4b4116
sub ecx, 1
je 0x4b4104
sub ecx, 1
je 0x4b40de
mov eax, dword [ebp - 0xc4]
mov ecx, esi
mov edx, dword [ebp - 0xc0]
call fcn.006f5060
jmp 0x4b4126
movq xmm1, qword [ebp - 0xc4]
movd xmm0, esi
psllq xmm1, xmm0
movq qword [ebp - 0xc4], xmm1
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
jmp 0x4b4132
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
or eax, esi
or edx, edi
jmp 0x4b4126
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
and eax, esi
and edx, edi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov dword [ecx], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 4], edx
mov edx, 0xbf04
and ax, dx
mov edx, dword [ebp - 0xcc]
or ax, 4
inc edx
mov word [ecx + 0x1c], ax
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov edx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.00469dd0
movzx eax, word [esi + 0x1c]
add esp, 4
mov ecx, eax
test al, 8
je 0x4b41ed
push esi
call fcn.004bb750
movzx ecx, word [esi + 0x1c]
add esp, 4
movzx eax, cx
test al, 4
jne 0x4b420d
mov esi, dword [ebp - 0xd0]
mov eax, dword [esi + ebx*4 + 8]
test eax, eax
je 0x4ba5bc
mov edx, eax
jmp 0x4b2f86
mov edx, dword [ebp - 0xcc]
and eax, 0xbf04
or eax, 4
inc edx
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea eax, [ecx + eax*8]
je 0x4b424b
push eax
call fcn.004bc660
add esp, 4
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x4b7108
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
movzx ecx, ax
test al, 2
jne 0x4b42a5
movzx ecx, ax
test al, 0xc
je 0x4b42a5
movzx eax, byte [ebp - 0xec]
push eax
push esi
call fcn.004bccd0
movzx ecx, word [esi + 0x1c]
add esp, 8
and ecx, 0xfff3
movzx eax, cx
mov word [esi + 0x1c], cx
test eax, 0x4000
je 0x4b433f
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0x18]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.004bc2d0
add esp, 0xc
test eax, eax
je 0x4b42ff
movzx eax, word [esi + 0x1c]
mov edx, 7
movzx eax, ax
and eax, 0xbfe3
mov dword [ebp - 0xc8], 7
mov word [esi + 0x1c], ax
jmp 0x4b710e
push dword [esi]
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0x18]
push 0
push eax
call fcn.006f7570
mov eax, dword [esi]
mov ecx, 0xbdff
add dword [esi + 0x18], eax
xor edx, edx
mov ax, word [esi + 0x1c]
add esp, 0xc
and ax, cx
mov dword [ebp - 0xc8], edx
movzx eax, ax
movzx eax, ax
and eax, 0xbfe3
mov word [esi + 0x1c], ax
jmp 0x4b710e
xor edx, edx
and eax, 0xbfe3
mov dword [ebp - 0xc8], edx
mov word [esi + 0x1c], ax
jmp 0x4b710e
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4b7108
test al, 0x10
jne 0x4b43b3
mov ecx, eax
test al, 2
jne 0x4b4394
test al, 0xc
je 0x4b4394
movzx eax, byte [ebp - 0xec]
push eax
push esi
call fcn.004bccd0
movzx ecx, word [esi + 0x1c]
add esp, 8
mov edx, dword [ebp - 0xcc]
and ecx, 0xbf10
or ecx, 0x10
inc edx
mov word [esi + 0x1c], cx
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov edx, dword [ebp - 0xcc]
and eax, 0xff10
mov word [esi + 0x1c], ax
inc edx
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.004bc5d0
mov edx, dword [ebp - 0xcc]
add esp, 4
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne 0x4b3511
push esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
mov edx, dword [ebp - 0xcc]
or ax, 4
mov word [esi + 0x1c], ax
inc edx
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
jne 0x4b424b
push eax
call fcn.004bc660
mov edx, dword [ebp - 0xcc]
add esp, 4
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xbe], ax
movzx eax, word [edi + 0x1c]
mov word [ebp - 0xbc], ax
movzx edx, word [edi + 0x1c]
movzx ecx, word [esi + 0x1c]
mov al, dl
or al, cl
test al, 1
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + ebx*4 + 3]
je 0x4b4531
test al, al
jns 0x4b44d2
and edx, ecx
not edx
and edx, 1
jmp 0x4b4627
mov esi, dword [ebp - 0xd0]
test al, 0x10
je 0x4b4518
mov eax, dword [esi + ebx*4 + 8]
mov edx, 0xbf01
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xcc]
or ax, 1
mov word [ecx + 0x1c], ax
inc edx
jmp 0x4b2f86
test al, 8
je 0x4b3d3c
mov edx, dword [esi + ebx*4 + 8]
mov edi, dword [ebp - 0xd8]
dec edx
inc edx
jmp 0x4b2f86
and al, 0x67
mov byte [ebp - 0xc0], al
je 0x4b45b0
cmp al, 0x61
jne 0x4b456f
movzx ecx, word [esi + 0x1c]
mov eax, ecx
test cl, 2
jne 0x4b4564
test cl, 0xc
je 0x4b4564
movzx eax, byte [ebp - 0xec]
push eax
push esi
call fcn.004bccd0
movzx eax, word [esi + 0x1c]
add esp, 8
and eax, 0xfff3
mov word [esi + 0x1c], ax
jmp 0x4b458b
cmp al, 0x62
je 0x4b458b
push esi
call fcn.00469dd0
add esp, 4
test byte [esi + 0x1c], 8
je 0x4b458b
push esi
call fcn.004bb750
add esp, 4
push dword [ebp - 0x128]
push dword [ebp - 0xc0]
push edi
call fcn.00469d70
mov eax, dword [ebp - 0xd8]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x4baaf2
mov ax, word [esi + 0x1c]
mov ecx, 0xe
bt ax, cx
jae 0x4b45fd
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0x18]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.004bc2d0
add esp, 0xc
test eax, eax
jne 0x4b45fd
push dword [esi]
push eax
mov eax, dword [esi + 0x14]
add eax, dword [esi + 0x18]
push eax
call fcn.006f7570
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0x18], eax
mov eax, 0xbdff
and word [esi + 0x1c], ax
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4b4611
push edi
call fcn.004bc050
add esp, 4
mov eax, dword [ebp - 0xd0]
push dword [eax + ebx*4 + 0x10]
push esi
push edi
call fcn.004a1730
add esp, 0xc
mov edx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edx
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x4b463f
jmp dword [ecx*4 + 0x4bae08]
xor eax, eax
test edx, edx
sete al
jmp 0x4b4675
xor eax, eax
test edx, edx
setne al
jmp 0x4b4675
mov eax, edx
jmp 0x4b4672
xor eax, eax
test edx, edx
setle al
jmp 0x4b4675
xor eax, eax
test edx, edx
setg al
jmp 0x4b4675
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], eax
test byte [ecx + ebx*4 + 3], 0x10
je 0x4b46e8
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, 0xbf04
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebp - 0xe0], ebx
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0xcc]
mov al, byte [ebp - 0xbe]
inc edx
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xbc]
mov esi, dword [ebp - 0xd0]
mov byte [edi + 0x1c], al
mov edi, dword [ebp - 0xd8]
jmp 0x4b2f86
test eax, eax
je 0x4b46be
mov edx, dword [ecx + ebx*4 + 8]
dec edx
jmp 0x4b46c4
mov edx, dword [ebp - 0xcc]
mov eax, dword [esi + ebx*4 + 0x10]
inc edx
mov dword [ebp - 0x11c], eax
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 0xc]
xor edx, edx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], eax
mov edi, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0xb4], edi
mov ebx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xbc], ebx
mov ecx, dword [esi + ecx*4 + 8]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xc0], edx
test eax, eax
jle 0x4b47fb
nop dword [eax]
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x4b475f
mov esi, dword [eax + edx*4]
jmp 0x4b4761
mov esi, edx
mov dword [ebp - 0xb0], esi
mov ecx, dword [edi + edx*4 + 0xc]
mov dword [ebp - 0xac], ecx
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [ebp - 0xdc]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xe8]
add eax, esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
lea eax, [esi + ebx]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.004a1730
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x120], ebx
test ebx, ebx
jne 0x4b47e4
mov edx, dword [ebp - 0xc0]
inc edx
mov dword [ebp - 0xc0], edx
cmp edx, dword [ebp - 0xc4]
jge 0x4b47f5
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xbc]
mov dword [ebp - 0xe8], ecx
jmp 0x4b4750
cmp dword [ebp - 0xa8], 0
je 0x4b47f5
neg ebx
mov dword [ebp - 0x120], ebx
mov esi, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov edi, dword [ebp - 0xd8]
inc edx
mov dword [ebp - 0x11c], eax
jmp 0x4b2f86
mov eax, dword [ebp - 0x120]
test eax, eax
jns 0x4b4828
mov edx, dword [esi + ebx*4 + 4]
jmp 0x4b2f86
jne 0x4b4833
mov edx, dword [esi + ebx*4 + 8]
jmp 0x4b2f86
mov edx, dword [esi + ebx*4 + 0xc]
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x4b485a
mov ecx, 2
jmp 0x4b4870
push eax
call fcn.004bb6d0
add esp, 4
or eax, edx
je 0x4b486e
mov ecx, 1
jmp 0x4b4870
xor ecx, ecx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x4b4894
mov eax, 2
jmp 0x4b48b6
push eax
call fcn.004bb6d0
mov ecx, dword [ebp - 0xc4]
add esp, 4
or eax, edx
mov edx, dword [ebp - 0xdc]
je 0x4b48b4
mov eax, 1
jmp 0x4b48b6
xor eax, eax
mov dword [ebp - 0xc0], eax
lea eax, [eax + ecx*2]
cmp byte [esi + ebx*4], 0x45
jne 0x4b48cf
movzx ecx, byte [ecx + eax + 0x72fbfc]
jmp 0x4b48d7
movzx ecx, byte [ecx + eax + 0x72fc08]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [ebp - 0xe0], ebx
cmp ecx, 2
jne 0x4b4915
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
mov edx, dword [ebp - 0xcc]
and ax, cx
or ax, 1
inc edx
movzx eax, ax
mov word [ebx + 0x1c], ax
jmp 0x4b2f86
mov eax, ecx
mov ecx, 0xbf04
cdq
mov dword [ebx], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0xcc]
or ax, 4
movzx eax, ax
inc edx
mov word [ebx + 0x1c], ax
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [ebp - 0xe0], ebx
je 0x4b497c
push ebx
call fcn.004bc800
mov edx, dword [ebp - 0xcc]
add esp, 4
inc edx
jmp 0x4b2f86
push ecx
call fcn.004bb6d0
add esp, 4
or eax, edx
jne 0x4b4990
lea esi, [eax + 1]
xor edi, edi
jmp 0x4b49a7
xorps xmm0, xmm0
movlpd qword [ebp - 0xfc], xmm0
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xfc]
push ebx
call fcn.004bc6e0
add esp, 4
mov edx, dword [ebp - 0xcc]
mov eax, 4
mov dword [ebx], esi
inc edx
mov esi, dword [ebp - 0xd0]
mov dword [ebx + 4], edi
mov edi, dword [ebp - 0xd8]
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [ebp - 0xe0], ebx
je 0x4b4a16
push ebx
call fcn.004bc800
mov edx, dword [ebp - 0xcc]
add esp, 4
inc edx
jmp 0x4b2f86
push ecx
call fcn.004bb6d0
mov esi, eax
mov edi, edx
push ebx
not esi
not edi
call fcn.004bc6e0
add esp, 8
jmp 0x4b49b0
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xdc]
lea ecx, [eax + eax*4]
movzx eax, word [edx + ecx*8 + 0x1c]
test al, 1
je 0x4b4a4e
mov eax, dword [esi + ebx*4 + 0xc]
jmp 0x4b4ad1
test al, 8
je 0x4b4a5a
movsd xmm0, qword [edx + ecx*8 + 8]
jmp 0x4b4aab
test al, 4
je 0x4b4a72
mov eax, dword [ebp - 0xdc]
mov edx, dword [edx + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
call fcn.006f53f0
jmp 0x4b4aab
test al, 0x12
je 0x4b4ac0
movzx eax, byte [edx + ecx*8 + 0x1f]
movsd xmm0, qword [ebp - 0x10c]
push eax
push dword [edx + ecx*8 + 0x18]
lea eax, [ebp - 0x15c]
movsd qword [ebp - 0x15c], xmm0
push eax
push dword [edx + ecx*8 + 0x14]
call fcn.0048bc10
movsd xmm0, qword [ebp - 0x15c]
add esp, 0x10
ucomisd xmm0, qword [ebp - 0x10c]
lahf
test ah, 0x44
jnp 0x4b4ac0
mov eax, 1
jmp 0x4b4ac2
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp byte [esi + ebx*4], 0x1b
jne 0x4b4ad7
xor eax, 1
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xdc]
mov edx, 0xbf01
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0
movups xmmword [ebp - 0x84], xmm0
movups xmmword [ebp - 0x74], xmm0
movq qword [ebp - 0x64], xmm0
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x88], ecx
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], 0
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0xac], edx
mov eax, dword [edx]
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x4b4cb0
push edx
call fcn.004b2670
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov ecx, dword [ebp - 0xac]
cmp byte [ecx + 0x14], al
je 0x4b4bf7
mov dword [ebp - 0xc4], 0
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ebx + 0x50]
jne 0x4b4c1c
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0xc4], edx
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0xa8], eax
jmp 0x4b4cff
cmp byte [ecx + 0x17], 0
je 0x4b4c93
mov esi, dword [ebp - 0xa4]
cmp byte [esi + 0x43], 1
je 0x4b4c5a
mov esi, dword [ebp - 0xd0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xbc], xmm0
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], edx
jmp 0x4b4cff
push esi
call fcn.0047ae10
mov edx, dword [esi + 0x28]
add esp, 4
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], edx
jmp 0x4b4cff
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xa4]
call fcn.0048e7b0
add esp, 8
mov dword [ebp - 0xc8], eax
jmp 0x4b4cf3
mov eax, dword [edx + 0x2c]
test eax, eax
jle 0x4b55ec
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x44], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xa8], eax
test byte [esi + ebx*4 + 3], 0x20
mov ebx, dword [ebp - 0xd4]
je 0x4b4ced
xor eax, eax
jmp 0x4b4cf0
mov eax, dword [ebx + 0x50]
mov dword [edx + 0x4c], eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xac]
test edx, edx
je case.0x4b3027.17
cmp edx, dword [edi + 0x48]
ja 0x4ba909
mov esi, dword [ecx + 0x34]
mov dword [ebp - 0x98], esi
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xa0], edx
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ebx + 0x50]
jne 0x4b4d3e
mov eax, dword [ecx + 0x58]
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x9c], eax
jmp 0x4b504c
lea eax, [edx + esi*4]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x9c], eax
mov dword [ecx + 0x58], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x4b4d7e
mov dword [ebp - 0x8c], ecx
jmp 0x4b4de0
mov edx, dword [ebp - 0xac]
xor ecx, ecx
mov eax, dword [ebp - 0xa4]
cmp byte [edx + 0x17], cl
je 0x4b4d9a
cmp byte [eax + 0x43], 1
jne 0x4b4db7
push ecx
jmp 0x4b4da2
cmp byte [eax + 0x43], 1
jne 0x4b4db7
push 1
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.00476630
mov edx, dword [ebp - 0xac]
add esp, 0xc
mov ecx, eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x8c], ecx
cmp eax, dword [ebp - 0x48]
ja 0x4b4dd3
mov dword [ebp - 0xa8], ecx
mov dword [edx + 0x5c], ecx
jmp 0x4b4dda
mov dword [edx + 0x5c], 0
mov ecx, dword [ebp - 0x8c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4b4df0
movzx edx, al
mov al, 1
mov dword [ebp - 0x54], edx
jmp 0x4b4e06
lea eax, [ebp - 0x54]
push eax
push ecx
call fcn.0049dcf0
mov edx, dword [ebp - 0x54]
add esp, 8
mov ecx, dword [ebp - 0x8c]
movzx ebx, al
mov dword [ebp - 0x4c], ebx
cmp edx, 0x18003
ja 0x4ba5cc
mov edi, dword [ebp - 0x98]
lea esi, [edi*4 + 3]
add esi, edi
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], esi
jne 0x4b4e97
cmp dword [ebp - 0x48], esi
jge 0x4b4e97
xor eax, eax
mov word [ebp - 0x68], ax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax + 0x17]
push eax
push esi
push 0
push dword [ebp - 0xa4]
call fcn.004bc1b0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b55e1
mov ecx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x94]
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x8c], ecx
lea eax, [ecx + esi]
lea esi, [ebx + ecx]
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x90], ecx
test edi, edi
jle 0x4b4f46
nop dword [eax]
nop word [eax + eax]
cmp esi, eax
mov eax, dword [ebp - 0x9c]
jae 0x4b4f8e
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
mov al, byte [edx]
cmp al, 0x80
jae 0x4b4ef0
movzx edx, al
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edx
mov al, 1
jmp 0x4b4f03
mov eax, dword [ebp - 0xa0]
lea eax, [eax + ecx*4]
push eax
push edx
call fcn.0049dcf0
add esp, 8
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x5c], esi
mov eax, dword [eax + ecx*4]
cmp eax, 0xc
jb 0x4b4f29
add eax, 0xfffffff4
shr eax, 1
jmp 0x4b4f30
movzx eax, byte [eax + 0x72fbf0]
mov edx, dword [ebp - 0x54]
add edx, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edx
cmp edx, eax
jae 0x4b4fa1
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x84]
push eax
call fcn.004bc790
mov esi, dword [ebp - 0x74]
add esp, 4
mov ecx, dword [ebp - 0x60]
test esi, esi
je 0x4b4ff6
mov edx, dword [esi + 0x1e8]
test edx, edx
je 0x4b4fcc
mov eax, ecx
test eax, eax
je 0x4b4fb8
cmp eax, dword [esi + 0xf8]
jb 0x4b4fb8
cmp eax, dword [esi + 0xfc]
jae 0x4b4fb8
movzx eax, word [esi + 0xe8]
add dword [edx], eax
jmp 0x4b4fff
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
inc ecx
mov dword [ebp - 0x90], ecx
cmp ecx, dword [ebp - 0x98]
jge 0x4b4f46
mov eax, dword [ebp - 0x58]
jmp 0x4b4ec0
push eax
call dword [0x7d902c]
mov edx, dword [esi + 0x1e8]
add esp, 4
add dword [edx], eax
jmp 0x4b4fff
test ecx, ecx
je 0x4b4ff6
cmp ecx, dword [esi + 0xf8]
jb 0x4b4ff6
cmp ecx, dword [esi + 0xfc]
jae 0x4b4ff6
mov eax, dword [esi + 0xf4]
mov dword [ecx], eax
dec dword [esi + 0xec]
mov dword [esi + 0xf4], ecx
jmp 0x4b4fff
push ecx
call fcn.0045feb0
add esp, 4
mov ecx, dword [ebp - 0x58]
mov eax, 1
xor ebx, ebx
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0x5c]
xor edi, edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], edi
cmp eax, ecx
ja 0x4b55bd
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0xc4]
cmp edx, esi
ja 0x4b55bd
cmp eax, ecx
jne 0x4b5040
cmp edx, esi
jne 0x4b55bd
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xb0]
cmp dword [eax + ecx*4], 0
je 0x4b54ab
cmp dword [ebp - 0xa8], 0
je 0x4b50b1
push dword [ebp - 0x88]
call fcn.004bc790
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0x88]
push dword [eax + ecx*4]
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + ecx*4]
add eax, dword [ebp - 0xa8]
push eax
call fcn.004bde10
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov cl, byte [ebp - 0xec]
mov byte [eax + 0x1f], cl
jmp 0x4b555a
mov eax, dword [edx + ecx*4]
cmp eax, 0xc
jb 0x4b50c0
add eax, 0xfffffff4
shr eax, 1
jmp 0x4b50c7
movzx eax, byte [eax + 0x72fbf0]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x68]
test eax, 0x2460
je 0x4b52cc
test eax, 0x2000
je 0x4b528e
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x4b5280
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4b5280
push 0x40
lea eax, [ebp - 0x1fc]
push 0
push eax
call fcn.006f7570
mov eax, 1
mov dword [ebp - 0x1fc], esi
mov word [ebp - 0x1d8], ax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1fc]
push eax
call edi
mov edi, dword [ebp - 0x74]
add esp, 0x10
mov esi, dword [ebp - 0x60]
test edi, edi
je 0x4b51ce
mov eax, dword [edi + 0x1e8]
test eax, eax
je 0x4b519d
test esi, esi
je 0x4b5184
cmp esi, dword [edi + 0xf8]
jb 0x4b5184
cmp esi, dword [edi + 0xfc]
jae 0x4b5184
movzx ecx, word [edi + 0xe8]
add dword [eax], ecx
jmp 0x4b525a
push esi
call dword [0x7d902c]
mov ecx, eax
add esp, 4
mov eax, dword [edi + 0x1e8]
add dword [eax], ecx
jmp 0x4b525a
test esi, esi
je 0x4b525a
cmp esi, dword [edi + 0xf8]
jb 0x4b51ce
cmp esi, dword [edi + 0xfc]
jae 0x4b51ce
mov eax, dword [edi + 0xf4]
mov dword [esi], eax
dec dword [edi + 0xec]
mov dword [edi + 0xf4], esi
jmp 0x4b525a
test esi, esi
je 0x4b525a
cmp dword [0x7d9008], 0
je 0x4b5250
mov eax, dword [0x7defa0]
test eax, eax
je 0x4b51f2
push eax
call dword [0x7d9050]
add esp, 4
push esi
call dword [0x7d902c]
mov ecx, dword [0x7dee98]
neg eax
add ecx, eax
mov eax, dword [0x7deec0]
cmp ecx, eax
mov dword [0x7dee98], ecx
push esi
cmovg eax, ecx
mov ecx, dword [0x7deebc]
dec ecx
mov dword [0x7deec0], eax
mov eax, dword [0x7deee4]
cmp ecx, eax
mov dword [0x7deebc], ecx
cmovg eax, ecx
mov dword [0x7deee4], eax
call dword [0x7d9024]
mov eax, dword [0x7defa0]
add esp, 8
test eax, eax
je 0x4b525a
push eax
call dword [0x7d9058]
jmp 0x4b5257
push esi
call dword [0x7d9024]
add esp, 4
movups xmm0, xmmword [ebp - 0x1f4]
movups xmmword [ebp - 0x84], xmm0
movups xmm0, xmmword [ebp - 0x1e4]
movups xmmword [ebp - 0x74], xmm0
movq xmm0, qword [ebp - 0x1d4]
movq qword [ebp - 0x64], xmm0
lea eax, [ebp - 0x84]
push eax
call fcn.004bc6e0
jmp 0x4b52c9
test eax, 0x400
je 0x4b52a5
test edi, edi
je 0x4b52a5
push ebx
call edi
mov dword [ebp - 0x64], 0
jmp 0x4b52c9
mov al, byte [ebp - 0x68]
test al, 0x20
je 0x4b52b9
push dword [ebp - 0x84]
call fcn.004a9680
jmp 0x4b52c9
test al, 0x40
je 0x4b52cc
lea eax, [ebp - 0x84]
push eax
call fcn.004bc800
add esp, 4
mov esi, dword [ebp - 0x74]
mov edi, dword [ebp - 0x60]
test esi, esi
je 0x4b534d
mov eax, dword [esi + 0x1e8]
test eax, eax
je 0x4b531d
test edi, edi
je 0x4b5302
cmp edi, dword [esi + 0xf8]
jb 0x4b5302
cmp edi, dword [esi + 0xfc]
jae 0x4b5302
movzx ecx, word [esi + 0xe8]
add dword [eax], ecx
jmp 0x4b53dd
push dword [ebp - 0x60]
call dword [0x7d902c]
mov ecx, eax
add esp, 4
mov eax, dword [esi + 0x1e8]
add dword [eax], ecx
jmp 0x4b53dd
test edi, edi
je 0x4b534d
cmp edi, dword [esi + 0xf8]
jb 0x4b534d
cmp edi, dword [esi + 0xfc]
jae 0x4b534d
mov eax, dword [ebp - 0x60]
mov ecx, dword [esi + 0xf4]
mov dword [eax], ecx
dec dword [esi + 0xec]
mov dword [esi + 0xf4], edi
jmp 0x4b53dd
cmp dword [ebp - 0x60], 0
je 0x4b53dd
cmp dword [0x7d9008], 0
je 0x4b53d1
mov eax, dword [0x7defa0]
test eax, eax
je 0x4b5373
push eax
call dword [0x7d9050]
add esp, 4
push edi
call dword [0x7d902c]
mov ecx, dword [0x7dee98]
neg eax
add ecx, eax
mov eax, dword [0x7deec0]
cmp ecx, eax
mov dword [0x7dee98], ecx
push edi
cmovg eax, ecx
mov ecx, dword [0x7deebc]
dec ecx
mov dword [0x7deec0], eax
mov eax, dword [0x7deee4]
cmp ecx, eax
mov dword [0x7deebc], ecx
cmovg eax, ecx
mov dword [0x7deee4], eax
call dword [0x7d9024]
mov eax, dword [0x7defa0]
add esp, 8
test eax, eax
je 0x4b53dd
push eax
call dword [0x7d9058]
jmp 0x4b53da
push dword [ebp - 0x60]
call dword [0x7d9024]
add esp, 4
mov eax, dword [ebp - 0xe8]
mov ecx, 1
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x84], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x74], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x64], xmm0
mov word [eax + 0x1c], cx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x84]
mov ecx, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax + 0x17]
push eax
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0x94]
push dword [ecx + eax*4]
push dword [ebp - 0xa4]
call fcn.004bc1b0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b55e1
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xb0]
push dword [ebp - 0x88]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x8c], edx
push dword [ecx + eax*4]
push edx
call fcn.004bde10
mov eax, dword [ebp - 0x88]
add esp, 0xc
mov cl, byte [ebp - 0xec]
mov byte [eax + 0x1f], cl
jmp 0x4b555a
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd0]
cmp byte [esi + eax*4 + 1], 0xf8
jne 0x4b5560
mov edi, dword [esi + eax*4 + 0x10]
mov esi, dword [ebp - 0x88]
movzx eax, word [esi + 0x1c]
test eax, 0x2460
je 0x4b5527
test eax, 0x2000
je 0x4b54f1
push dword [esi]
push esi
call fcn.004bc0b0
push esi
call fcn.004bc6e0
add esp, 0xc
jmp 0x4b5527
test eax, 0x400
je 0x4b550d
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4b550d
push dword [esi + 0x14]
call ecx
mov dword [esi + 0x20], 0
jmp 0x4b5524
test al, 0x20
je 0x4b551a
push dword [esi]
call fcn.004a9680
jmp 0x4b5524
test al, 0x40
je 0x4b5527
push esi
call fcn.004bc800
add esp, 4
movups xmm0, xmmword [edi]
mov ecx, 0x800
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
mov dword [esi + 0x20], 0
test word [edi + 0x1c], cx
jne 0x4b555a
mov ax, word [esi + 0x1c]
mov edx, 0xebff
and ax, dx
or ax, cx
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xd0]
cmp dword [ebp - 0x60], 0
je 0x4b559c
mov eax, dword [ebp - 0x88]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x88]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x70]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x60]
mov dword [eax + 0x24], ecx
push dword [ebp - 0x88]
call fcn.004bc4b0
mov edi, dword [ebp - 0xd8]
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
jmp 0x4b7114
push 0x735b6c
push 0xf353
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004c2340
mov edx, 0xb
add esp, 0x10
mov dword [ebp - 0xc8], edx
mov edi, dword [ebp - 0xd8]
jmp 0x4b710e
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], 0
jmp 0x4b7114
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + ebx*4 + 4]
mov cl, byte [ecx]
mov byte [ebp - 0xc0], cl
lea eax, [eax + eax*4]
test cl, cl
je 0x4b5703
mov esi, dword [ebp - 0xdc]
add esi, 0x1c
lea esi, [esi + eax*8]
nop
inc dword [ebp - 0xc4]
mov edx, 0xe
mov ax, word [esi]
bt ax, dx
jae 0x4b568a
mov eax, dword [esi - 4]
lea edi, [esi - 0x1c]
add eax, dword [edi]
mov ecx, 1
test eax, eax
push ecx
cmovle eax, ecx
push eax
push edi
call fcn.004bc2d0
add esp, 0xc
test eax, eax
jne 0x4b5684
push dword [edi]
push eax
mov eax, dword [esi - 8]
add eax, dword [esi - 4]
push eax
call fcn.006f7570
mov eax, dword [edi]
add esp, 0xc
add dword [esi - 4], eax
mov eax, 0xbdff
and word [esi], ax
mov cl, byte [ebp - 0xc0]
cmp cl, 0x61
jne 0x4b56bf
movzx ecx, word [esi]
mov eax, ecx
test cl, 2
jne 0x4b56b5
test cl, 0xc
je 0x4b56b5
movzx eax, byte [ebp - 0xec]
push eax
lea eax, [esi - 0x1c]
push eax
call fcn.004bccd0
movzx eax, word [esi]
add esp, 8
and eax, 0xfff3
mov word [esi], ax
jmp 0x4b56de
cmp cl, 0x62
je 0x4b56de
lea edi, [esi - 0x1c]
push edi
call fcn.00469dd0
add esp, 4
test byte [esi], 8
je 0x4b56de
push edi
call fcn.004bb750
add esp, 4
mov eax, dword [ebp - 0xc4]
add esi, 0x28
mov cl, byte [eax]
mov byte [ebp - 0xc0], cl
test cl, cl
jne 0x4b5630
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
inc dword [ebp - 0xc4]
inc edx
jmp 0x4b2f86
mov ecx, dword [ebp - 0xd0]
xor esi, esi
xorps xmm0, xmm0
mov dword [ebp - 0xa4], esi
movlpd qword [ebp - 0xbc], xmm0
xor edx, edx
mov dword [ebp - 0xb4], edx
movlpd qword [ebp - 0xac], xmm0
mov eax, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x90], eax
mov ebx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x8c], ebx
lea eax, [eax + eax*4]
mov dword [ebp - 0xe8], ebx
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xf0], esi
lea edi, [ebx + eax*8]
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xd0]
mov dword [ebp - 0x98], edi
mov eax, dword [ecx + eax*4 + 8]
mov dword [ebp - 0x90], eax
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [edi + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x94], ecx
movzx eax, byte [eax + 0x64]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebx + eax*4 + 0xc]
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], edi
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], eax
cmp edi, ecx
ja 0x4b5909
mov dword [ebp - 0xc0], edi
nop dword [eax + eax]
test ebx, ebx
je 0x4b582f
push dword [ebp - 0x128]
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [ebp - 0x98]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movzx eax, byte [eax + ebx]
push eax
push edi
call fcn.00469d70
mov eax, dword [ebp - 0x8c]
add esp, 0xc
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xf0], eax
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4b5867
cmp dword [edi + 0x18], 0
jle 0x4b5867
push edi
call fcn.004bc050
mov eax, dword [ebp - 0x8c]
add esp, 4
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xf0], eax
push dword [ebp - 0x88]
push edi
call fcn.004be0a0
mov edx, eax
add esp, 8
mov dword [ebp - 0x9c], edx
cmp edx, 0xc
jb 0x4b588a
lea ebx, [edx - 0xc]
shr ebx, 1
jmp 0x4b5891
movzx ebx, byte [edx + 0x72fbf0]
add dword [ebp - 0xbc], ebx
mov dword [ebp - 0x80], ebx
adc dword [ebp - 0xb8], 0
xor ecx, ecx
xor esi, esi
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
je 0x4b58b8
cmp esi, 9
jl 0x4b58a5
mov edx, dword [ebp - 0xb4]
mov eax, 0x4000
add edx, esi
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0xb4], edx
test word [edi + 0x1c], ax
je 0x4b58db
add esi, dword [edi]
jmp 0x4b58e2
xor eax, eax
test ebx, ebx
cmovne esi, eax
mov ebx, dword [ebp - 0xe8]
add edi, 0x28
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xc0], edi
cmp edi, dword [ebp - 0x94]
jbe 0x4b57e0
mov eax, edx
xor ebx, ebx
cdq
mov ecx, eax
shrd ecx, edx, 7
inc ebx
shr edx, 7
mov eax, ecx
or eax, edx
je 0x4b5923
cmp ebx, 9
jl 0x4b5910
mov eax, dword [ebp - 0xb4]
add eax, ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xb4], eax
xor edi, edi
cdq
mov ecx, eax
nop dword [eax]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x4b5953
cmp edi, 9
jl 0x4b5940
mov eax, dword [ebp - 0xb4]
cmp ebx, edi
jge 0x4b5964
inc eax
mov dword [ebp - 0xb4], eax
cdq
mov edi, eax
mov ecx, edx
mov eax, esi
cdq
sub edi, eax
mov eax, dword [ebp - 0xd8]
sbb ecx, edx
add edi, dword [ebp - 0xbc]
mov dword [ebp - 0xac], edi
adc ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x4ba8ff
jl 0x4b59a4
cmp edi, eax
ja 0x4ba8ff
mov ebx, dword [ebp - 0xe0]
push 0
push edi
push ebx
call fcn.004bc2d0
add esp, 0xc
test eax, eax
jne 0x4baaf6
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0xc4], edx
cmp ecx, 0x80
jae 0x4b59e0
mov al, cl
mov byte [edx], al
mov eax, 1
jmp 0x4b5a0a
test ecx, 0xffffc000
jne 0x4b59fe
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x4b5a0a
push 0
push ecx
push edx
call fcn.004a7d40
add esp, 0xc
mov esi, dword [ebp - 0x98]
movzx edi, al
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
ja 0x4b5ac5
nop dword [eax + eax]
push dword [ebp - 0x88]
push esi
call fcn.004be0a0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x9c], ecx
cmp ecx, 0x80
jae 0x4b5a61
mov cl, al
mov eax, dword [ebp - 0xc4]
mov byte [edi + eax], cl
mov eax, 1
jmp 0x4b5a93
mov edx, dword [ebp - 0xc4]
add edx, edi
test ecx, 0xffffc000
jne 0x4b5a87
mov eax, ecx
shr eax, 7
or al, 0x80
and cl, 0x7f
mov byte [edx], al
mov eax, 2
mov byte [edx + 1], cl
jmp 0x4b5a93
push 0
push ecx
push edx
call fcn.004a7d40
add esp, 0xc
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x84]
add esi, 0x28
movzx eax, al
add edi, eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0x84], edi
cmp esi, dword [ebp - 0x94]
jbe 0x4b5a30
mov esi, dword [ebp - 0x98]
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
ja 0x4b5be1
nop word [eax + eax]
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x88]
sub eax, edi
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xc4]
add eax, edi
push esi
mov dword [ebp - 0xe8], eax
call fcn.004be0a0
add esp, 8
lea ecx, [eax - 1]
cmp ecx, 6
ja 0x4b5b63
cmp eax, 7
jne 0x4b5b52
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x72fbf0]
mov ebx, eax
test eax, eax
je 0x4b5bbe
mov edi, dword [ebp - 0xe8]
dec eax
mov byte [eax + edi], dl
shrd edx, ecx, 8
shr ecx, 8
test eax, eax
jne 0x4b5b35
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0xc0]
jmp 0x4b5bbe
mov edx, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xc
jb 0x4b5b1e
add eax, 0xfffffff4
shr eax, 1
jmp 0x4b5b25
cmp eax, 0xc
jb 0x4b5bbc
mov ebx, dword [esi + 0x18]
mov edi, dword [ebp - 0xe8]
push ebx
push dword [esi + 0x14]
push edi
call fcn.006f6ff0
mov eax, 0x4000
add esp, 0xc
test word [esi + 0x1c], ax
je 0x4b5bae
add ebx, dword [esi]
cmp ebx, dword [ebp - 0xf0]
mov ecx, dword [esi + 0x18]
cmova ebx, dword [ebp - 0xf0]
mov eax, ebx
sub eax, ecx
push eax
lea eax, [ecx + edi]
push 0
push eax
call fcn.006f7570
add esp, 0xc
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0xc0]
jmp 0x4b5bbe
xor ebx, ebx
add esi, 0x28
add edi, ebx
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xc0], esi
cmp esi, dword [ebp - 0x94]
jbe 0x4b5ae0
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x18], eax
mov eax, 0x410
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x20], 0
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x4b5c0f
mov dword [ebx], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
inc edx
mov esi, dword [ebp - 0xd0]
mov byte [ebx + 0x1f], 1
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4b5c5f
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.0048e430
add esp, 8
mov dword [ebp - 0xc8], eax
jmp 0x4b5c6a
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc8]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x4b7114
mov eax, dword [ebp - 0xe4]
mov ebx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xc4], ebx
mov ecx, dword [esi + eax*4 + 0x10]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xc0], ecx
test ebx, ebx
jne 0x4b5de6
cmp dword [edi + 0x90], ebx
jg 0x4ba5fc
test ecx, ecx
jne 0x4b5cc8
xor eax, eax
jmp 0x4b5cdd
cmp byte [ecx], 0
mov eax, ecx
je 0x4b5cd6
nop
inc eax
cmp byte [eax], 0
jne 0x4b5cd0
sub eax, ecx
and eax, 0x3fffffff
mov dword [ebp - 0xbc], eax
lea edx, [eax + 0x19]
cmp byte [edi + 0x1e], 0
je 0x4b5d02
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xb8], 0
inc edx
jmp 0x4b2f86
cmp byte [edi + 0xea], 0
je 0x4b5d4a
movzx eax, word [edi + 0xe8]
cmp edx, eax
ja 0x4b5d4a
mov ecx, dword [edi + 0xf4]
test ecx, ecx
je 0x4b5d4a
mov eax, dword [ecx]
inc dword [edi + 0xec]
mov dword [edi + 0xf4], eax
mov eax, dword [edi + 0xec]
cmp eax, dword [edi + 0xf0]
jle 0x4b5d42
mov dword [edi + 0xf0], eax
mov dword [ebp - 0xb8], ecx
jmp 0x4b5d6b
push edx
call fcn.004a14c0
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4b5d5d
mov byte [edi + 0x1e], 1
mov dword [ebp - 0xb8], ecx
test ecx, ecx
je 0x4b424b
lea eax, [ecx + 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0xbc]
inc eax
push eax
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc0]
push dword [eax]
call fcn.006f6ff0
add esp, 0xc
cmp byte [edi + 0x1c], 0
je 0x4b5da1
mov byte [edi + 0x1c], 0
mov byte [edi + 0x1dc], 1
jmp 0x4b5da7
inc dword [edi + 0x1d4]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x1d0]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb8]
mov edx, dword [edi + 0x1e4]
mov ecx, dword [edi + 0x1e0]
mov dword [edi + 0x1d0], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [ebp - 0xd8]
xor edi, edi
mov dword [ebp - 0xac], edi
mov esi, dword [eax + 0x1d0]
mov dword [ebp - 0xb4], esi
test esi, esi
je 0x4ba672
push ecx
push dword [esi]
call fcn.004adf70
add esp, 8
test eax, eax
je 0x4b5e39
inc edi
mov dword [ebp - 0xac], edi
mov eax, dword [esi + 0x10]
mov esi, eax
mov dword [ebp - 0xb4], esi
test eax, eax
je 0x4ba672
mov ecx, dword [ebp - 0xe8]
jmp 0x4b5e08
mov eax, dword [ebp - 0xd8]
test esi, esi
je 0x4ba672
cmp dword [eax + 0x90], 0
jg 0x4b6114
cmp ebx, 2
jne 0x4b5e66
cmp dword [eax + 0x8c], 1
jg 0x4b6114
cmp dword [esi + 0x10], 0
jne 0x4b5ed9
cmp byte [eax + 0x1dc], 0
je 0x4b5ed9
mov dword [ebp - 0xe8], 1
cmp ebx, 1
jne 0x4b5ee3
mov esi, dword [ebp - 0xd4]
mov eax, dword [esi]
cmp dword [eax + 0x1e4], 0
jg 0x4ba64b
jl 0x4b5ea8
cmp dword [eax + 0x1e0], 0
ja 0x4ba64b
mov edi, dword [ebp - 0xd8]
push esi
mov byte [edi + 0x1c], 1
call fcn.004bb290
add esp, 4
cmp eax, 5
je 0x4ba62b
mov byte [edi + 0x1dc], 0
mov eax, dword [esi + 0x58]
mov dword [ebp - 0xc8], eax
jmp 0x4b5f83
mov dword [ebp - 0xe8], 0
mov eax, dword [eax + 0x1d4]
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0xa8], ecx
mov edi, dword [ebp - 0xd8]
dec eax
mov dword [ebp - 0xac], eax
cmp dword [edi + 4], ecx
jle 0x4b5f4e
push eax
mov eax, dword [edi + 8]
add ecx, ecx
push ebx
push dword [eax + ecx*8 + 4]
call fcn.00490740
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov ecx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xa8], ecx
cmp ecx, dword [edi + 4]
jge 0x4b5f48
mov eax, dword [ebp - 0xac]
jmp 0x4b5f05
mov esi, dword [ebp - 0xb4]
cmp ebx, 2
jne 0x4b5f8f
test dword [edi + 0xc], 0x200
je 0x4b5f8f
mov eax, dword [edi + 0x88]
test eax, eax
je 0x4b5f71
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b5f66
push 0
push edi
call fcn.004a8f20
add esp, 8
or dword [edi + 0xc], 0x200
mov ebx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb4]
mov eax, dword [edi + 0x1d0]
cmp eax, esi
je 0x4b604b
nop dword [eax]
mov dword [ebp - 0xb0], eax
mov ecx, dword [edi + 0x1e8]
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d0], eax
test ecx, ecx
je 0x4b5ff2
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x4b5fde
cmp eax, dword [edi + 0xf8]
jb 0x4b5fde
cmp eax, dword [edi + 0xfc]
jae 0x4b5fde
movzx eax, word [edi + 0xe8]
add dword [ecx], eax
jmp 0x4b602b
push eax
call dword [0x7d902c]
mov ecx, dword [edi + 0x1e8]
add esp, 4
add dword [ecx], eax
jmp 0x4b602b
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x4b6022
cmp ecx, dword [edi + 0xf8]
jb 0x4b6022
cmp ecx, dword [edi + 0xfc]
jae 0x4b6022
mov eax, dword [edi + 0xf4]
mov dword [ecx], eax
dec dword [edi + 0xec]
mov dword [edi + 0xf4], ecx
jmp 0x4b602b
push ecx
call fcn.0045feb0
add esp, 4
dec dword [edi + 0x1d4]
mov eax, dword [edi + 0x1d0]
mov esi, dword [ebp - 0xb4]
cmp eax, esi
jne 0x4b5fa0
mov ebx, dword [ebp - 0xc4]
cmp ebx, 1
jne 0x4b60fd
mov ecx, dword [edi + 0x1e8]
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1d0], eax
test ecx, ecx
je 0x4b60a0
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x4b608c
cmp eax, dword [edi + 0xf8]
jb 0x4b608c
cmp eax, dword [edi + 0xfc]
jae 0x4b608c
movzx eax, word [edi + 0xe8]
add dword [ecx], eax
jmp 0x4b60d9
push eax
call dword [0x7d902c]
mov ecx, dword [edi + 0x1e8]
add esp, 4
add dword [ecx], eax
jmp 0x4b60d9
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x4b60d0
cmp ecx, dword [edi + 0xf8]
jb 0x4b60d0
cmp ecx, dword [edi + 0xfc]
jae 0x4b60d0
mov eax, dword [edi + 0xf4]
mov dword [ecx], eax
dec dword [edi + 0xec]
mov dword [edi + 0xf4], ecx
jmp 0x4b60d9
push ecx
call fcn.0045feb0
add esp, 4
cmp dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd0]
jne 0x4b7114
dec dword [edi + 0x1d4]
jmp 0x4b7114
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1e0], eax
mov dword [edi + 0x1e4], ecx
jmp 0x4b7108
mov edi, dword [ebp - 0xd8]
cmp ebx, 2
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xd4]
push str.cannot__s_savepoint___SQL_statements_in_progress
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov edx, 5
add esp, 0x10
mov dword [ebp - 0xc8], edx
jmp 0x4b710e
mov edx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xc4], edx
mov ecx, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xc0], ecx
test edx, edx
je 0x4b61b3
cmp byte [edi + 0x1c], 0
jne 0x4b61b3
mov dword [ebp - 0xbc], 1
test ecx, ecx
je 0x4b6199
cmp dword [edi + 0x8c], 1
jle 0x4b61bd
mov dword [ebp - 0xc8], 5
mov eax, str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x4b61ed
cmp dword [edi + 0x90], 0
jle 0x4b61bd
mov dword [ebp - 0xc8], 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4b61ed
mov dword [ebp - 0xbc], 0
movzx eax, byte [edi + 0x1c]
cmp edx, eax
jne 0x4ba6ad
test edx, edx
jne 0x4b61d4
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4b61e3
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
mov dword [ebp - 0xc8], 1
push eax
mov eax, dword [ebp - 0xd4]
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov edx, dword [ebp - 0xc8]
add esp, 0xc
jmp 0x4b7114
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x4b3027.17
push dword [esi + ebx*4 + 8]
push eax
call fcn.0048db00
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
cmp edx, 5
je 0x4ba741
test edx, edx
jne 0x4ba77e
cmp dword [esi + ebx*4 + 8], eax
je 0x4b7114
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x66], al
je 0x4b7114
cmp byte [edi + 0x1c], al
je 0x4b6278
cmp dword [edi + 0x8c], 1
jle 0x4b7114
mov ebx, dword [ecx + 0xd8]
test ebx, ebx
jne 0x4b629c
mov ebx, dword [edi + 0x1d4]
mov eax, ecx
inc dword [edi + 0x1d8]
add ebx, dword [edi + 0x1d8]
mov dword [eax + 0xd8], ebx
mov edi, dword [ebp - 0xc4]
push edi
mov esi, dword [edi + 4]
call fcn.0048ea80
push ebx
push dword [esi]
call fcn.004a3100
add esp, 0xc
mov dword [ebp - 0xc8], eax
cmp byte [edi + 9], 0
je 0x4b62e0
add dword [edi + 0xc], 0xffffffff
jne 0x4b62e0
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4b62dc
push eax
call dword [0x7d9058]
add esp, 4
mov byte [edi + 0xa], 0
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov eax, dword [edi + 0x1e0]
mov ecx, dword [edi + 0x1e4]
mov dword [edx + 0xd0], eax
mov dword [edx + 0xd4], ecx
jmp 0x4b7108
mov ecx, dword [esi + ebx*4 + 4]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc0], ecx
add ecx, ecx
mov eax, dword [esi + ebx*4 + 0xc]
push edx
mov dword [ebp - 0xbc], eax
push eax
mov eax, dword [edi + 8]
push dword [eax + ecx*8 + 4]
call fcn.0048eca0
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov ebx, dword [ebp - 0xe0]
cdq
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0xcc]
mov dword [ebx], eax
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
shl eax, 4
add eax, dword [edi + 8]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 4], edx
push dword [esi]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
push dword [eax + ebx*4 + 8]
mov eax, dword [ebp - 0xc4]
push dword [eax + 4]
call fcn.00490bf0
mov dword [ebp - 0xc8], eax
add esp, 0x10
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
cmp eax, 1
jne 0x4b63db
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi]
mov dword [ecx], eax
or dword [edi + 0xc], 0x200
jmp 0x4b63ee
cmp eax, 2
jne 0x4b63ee
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x48], al
mov esi, dword [ebp - 0xd0]
cmp dword [esi + ebx*4 + 4], 1
jne case.0x4b3027.17
mov eax, dword [edi + 0x88]
test eax, eax
je 0x4b641b
nop dword [eax]
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b6410
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xc8]
mov byte [ecx + 0x62], 0
jmp 0x4b7114
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4b6461
lea ecx, [ebp - 0xc4]
push ecx
push 1
push eax
call fcn.0048eca0
mov eax, dword [ebp - 0xc4]
add esp, 0xc
jmp 0x4b6469
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [esi + ebx*4 + 8]
je case.0x4b3027.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x5c]
mov eax, dword [edi + 0x1e8]
test eax, eax
je 0x4b64bb
test ecx, ecx
je 0x4b64a5
cmp ecx, dword [edi + 0xf8]
jb 0x4b64a5
cmp ecx, dword [edi + 0xfc]
jae 0x4b64a5
movzx ecx, word [edi + 0xe8]
add dword [eax], ecx
jmp 0x4b64ee
push ecx
call dword [0x7d902c]
mov ecx, eax
add esp, 4
mov eax, dword [edi + 0x1e8]
add dword [eax], ecx
jmp 0x4b64ee
test ecx, ecx
je 0x4b64e5
cmp ecx, dword [edi + 0xf8]
jb 0x4b64e5
cmp ecx, dword [edi + 0xfc]
jae 0x4b64e5
mov eax, dword [edi + 0xf4]
mov dword [ecx], eax
dec dword [edi + 0xec]
mov dword [edi + 0xf4], ecx
jmp 0x4b64ee
push ecx
call fcn.0045feb0
add esp, 4
mov eax, str.database_schema_has_changed
inc eax
cmp byte [eax], 0
jne 0x4b64f3
mov ecx, dword [ebp - 0xd8]
sub eax, str.database_schema_has_changed
and eax, 0x3fffffff
cmp byte [ecx + 0x1e], 0
lea edi, [eax + 1]
je 0x4b6516
xor esi, esi
jmp 0x4b6571
cmp byte [ecx + 0xea], 0
je 0x4b65ce
movzx eax, word [ecx + 0xe8]
cmp edi, eax
ja 0x4b65ce
mov esi, dword [ecx + 0xf4]
test esi, esi
je 0x4b65ce
mov eax, dword [esi]
inc dword [ecx + 0xec]
mov dword [ecx + 0xf4], eax
mov eax, dword [ecx + 0xec]
cmp eax, dword [ecx + 0xf0]
jle 0x4b6562
mov dword [ecx + 0xf0], eax
push edi
push str.database_schema_has_changed
push esi
call fcn.006f6ff0
add esp, 0xc
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov dword [eax + 0x5c], esi
mov esi, dword [ebp - 0xd0]
mov eax, dword [edi + 8]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc4]
je 0x4b65a9
push edx
push edi
call fcn.004a8f20
add esp, 8
mov eax, dword [edi + 0x88]
test eax, eax
je 0x4b65be
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b65b3
mov edx, 0x11
mov dword [ebp - 0xc8], edx
jmp 0x4b7114
push edi
call fcn.004a14c0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4b6562
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x1e], 1
jmp 0x4b6571
mov ecx, dword [ebp - 0xd4]
cmp byte [ecx + 0x62], 0
jne 0x4ba791
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
mov edi, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xbc], edi
mov esi, dword [esi + ebx*4 + 0xc]
mov edx, esi
mov dword [ebp - 0xb8], esi
shl edx, 4
add edx, dword [eax + 8]
mov dword [ebp - 0xa8], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xd0]
cmp byte [eax + ebx*4], 0x27
jne 0x4b6664
mov dword [ebp - 0xb4], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xd4]
mov al, byte [eax + 0x48]
cmp al, byte [edx + 0x64]
jae 0x4b666a
mov byte [edx + 0x64], al
jmp 0x4b666a
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xd0]
cmp byte [edx + ebx*4 + 3], cl
je 0x4b66c7
mov ecx, dword [ebp - 0xdc]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
push esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esi]
mov dword [ebp - 0xbc], eax
cmp eax, 2
jl 0x4ba763
mov esi, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd0]
mov al, byte [edx + ebx*4 + 1]
cmp al, 0xfa
jne 0x4b6700
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xb8]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x4b6708
cmp al, 0xf2
jne 0x4b670e
mov ecx, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xc4], ecx
push 1
push esi
mov esi, dword [ebp - 0xd0]
push ecx
push dword [esi + ebx*4 + 4]
push dword [ebp - 0xd4]
call fcn.00467ba0
add esp, 0x14
mov dword [ebp - 0xac], eax
test eax, eax
je 0x4baaf6
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x18], 1
mov eax, dword [ebp - 0xac]
push dword [eax]
push dword [ebp - 0xc0]
push dword [ebp - 0xb4]
push dword [ebp - 0xbc]
push dword [ebp - 0xb0]
call fcn.0048e6c0
mov ecx, dword [ebp - 0xac]
add esp, 0x14
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0x10
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x30], eax
jne 0x4b67a2
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xc8], 0
mov dword [eax], 0
cmp byte [esi + ebx*4 + 1], 0xfa
mov eax, dword [ebp - 0xac]
setne cl
mov byte [eax + 0x16], cl
mov ecx, dword [ebp - 0xac]
cmp byte [ecx + 0x16], 0
sete al
mov byte [ecx + 0x17], al
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
push dword [esi + ebx*4 + 4]
push dword [ebp - 0xd4]
call fcn.00467ba0
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4baafc
mov byte [eax + 0x14], 1
movzx eax, byte [esi + ebx*4 + 3]
push 0x41e
or eax, 9
push eax
mov eax, dword [ebp - 0xc4]
add eax, 0x28
push eax
push edi
push 0
call fcn.0048fe00
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b6904
mov eax, dword [ebp - 0xc4]
push 1
push dword [eax + 0x28]
call fcn.0048db00
add esp, 8
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b6904
cmp dword [esi + ebx*4 + 0x10], eax
je 0x4b68db
push 2
lea eax, [ebp - 0x138]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x28]
call fcn.0048e670
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b68cf
mov eax, dword [ebp - 0xc4]
push dword [eax]
push dword [esi + ebx*4 + 0x10]
push 1
push dword [ebp - 0x138]
push dword [eax + 0x28]
call fcn.0048e6c0
mov ecx, dword [esi + ebx*4 + 0x10]
add esp, 0x14
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x30]
mov al, byte [edx + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x16], 0
jmp 0x4b6904
mov eax, dword [ebp - 0xc4]
push dword [eax]
push 0
push 1
push 1
push dword [eax + 0x28]
call fcn.0048e6c0
mov dword [ebp - 0xc8], eax
add esp, 0x14
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x16], 1
cmp byte [esi + ebx*4 + 3], 0x10
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
setne cl
mov byte [eax + 0x18], cl
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x16], 0
sete al
mov byte [ecx + 0x17], al
jmp 0x4b7114
push 0
push 0xffffffffffffffff
push dword [esi + ebx*4 + 0xc]
push dword [esi + ebx*4 + 4]
push dword [ebp - 0xd4]
call fcn.00467ba0
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4baafc
mov edx, dword [ebp - 0xcc]
mov byte [eax + 0x14], 1
inc edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + ebx*4 + 8]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x16], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x17], 0
jmp 0x4b2f86
mov edx, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edx + 0x34]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4b69e2
mov eax, dword [esi + 0x28]
test eax, eax
je 0x4b69ac
push eax
call fcn.0048de00
jmp 0x4b69b8
mov eax, dword [esi]
test eax, eax
je 0x4b69c1
push eax
call fcn.0048df70
mov edx, dword [ebp - 0xd4]
add esp, 4
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4b69e2
mov eax, dword [esi + 0x44]
mov byte [edx + 0x65], 1
push ecx
mov eax, dword [eax + 0x1c]
call eax
mov edx, dword [ebp - 0xd4]
add esp, 4
mov byte [edx + 0x65], 0
mov esi, dword [ebp - 0xd0]
mov eax, dword [edx + 0x34]
mov edx, dword [ebp - 0xcc]
inc edx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [eax + ecx*4], 0
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
cmp dword [ecx], 0
je 0x4b303b
movzx eax, byte [esi + ebx*4]
mov dword [ebp - 0xc0], eax
mov byte [ecx + 0x14], 0
mov ecx, dword [ebp - 0xbc]
cmp byte [ecx + 0x16], 0
je 0x4b6c86
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push ebx
call fcn.00469dd0
push ebx
call fcn.004bb6d0
mov dword [ebp - 0x94], eax
add esp, 8
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x90], edx
mov byte [eax + 0x11], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x4b6c08
test al, 8
jne 0x4b6a93
mov eax, dword [ebp - 0xe4]
mov edx, dword [esi + eax*4 + 8]
jmp 0x4b2f86
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x90]
test edi, edi
jne 0x4b6bac
cmp esi, 0x80000000
jne 0x4b6bac
movsd xmm0, qword [ebx + 8]
movsd xmm1, qword [ebp - 0x16c]
comisd xmm1, xmm0
ja 0x4b6ad4
comisd xmm0, xmmword [ebp - 0x10c]
jbe 0x4b6bac
movsd xmm0, qword [ebp - 0x10c]
mov dword [ebp - 0xc4], 1
comisd xmm0, xmmword [ebx + 8]
jbe 0x4b6b47
cmp dword [ebp - 0xc0], 0x2e
jl 0x4b6b84
mov eax, dword [ebp - 0xbc]
mov esi, dword [eax]
push esi
call fcn.0047de50
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba778
cmp byte [esi + 0x43], al
jne 0x4b6b32
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0xc8], edx
jmp 0x4b6b84
push esi
mov dword [ebp - 0xc4], 0
call fcn.0047dd40
add esp, 4
jmp 0x4b6b67
cmp dword [ebp - 0xc0], 0x2d
jg 0x4b6b84
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.0048f7a0
add esp, 8
mov edx, eax
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba778
cmp dword [ebp - 0xc4], 0
je 0x4b55e1
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
mov edx, dword [esi + eax*4 + 8]
dec edx
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov eax, dword [ebp - 0xc0]
cmp eax, 0x2c
je 0x4b6be0
cmp eax, 0x2e
je 0x4b6be0
mov edx, esi
mov ecx, edi
call fcn.006f53f0
comisd xmm0, xmmword [ebx + 8]
jbe 0x4b6c14
add edi, 0xffffffff
mov dword [ebp - 0x94], edi
adc esi, 0xffffffff
mov dword [ebp - 0x90], esi
jmp 0x4b6c14
mov edx, esi
mov ecx, edi
call fcn.006f53f0
movsd xmm1, qword [ebx + 8]
comisd xmm1, xmm0
jbe 0x4b6c14
add edi, 1
mov dword [ebp - 0x94], edi
adc esi, 0
mov dword [ebp - 0x90], esi
jmp 0x4b6c14
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x94]
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push 0
push esi
push edi
push 0
push dword [eax]
call fcn.0048f890
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba778
mov ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
cmp dword [ebp - 0xc4], eax
jne 0x4b6d21
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x90]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x4b6d21
mov eax, dword [esi + ebx*4 + 0x10]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xb4], eax
mov ax, word [ebp - 0x9c]
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0xc0]
and eax, 1
shl eax, 3
mov word [ebp - 0xae], ax
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xa4], eax
test word [eax + 0x1c], dx
je 0x4b6cea
push eax
call fcn.004bc050
mov ecx, dword [ebp - 0xbc]
add esp, 4
lea eax, [ebp - 0xc4]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push dword [ecx]
call fcn.0048f890
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x11], dl
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
cmp eax, 0x2e
jl 0x4b6d72
test ecx, ecx
js 0x4b6d5c
jne 0x4b4be1
cmp eax, 0x2f
jne 0x4b4be1
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.0048fc90
jmp 0x4b6daa
test ecx, ecx
jg 0x4b6d96
jne 0x4b6d7d
cmp eax, 0x2c
je 0x4b6d96
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0xc4], ecx
jmp 0x4b6dc7
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.00490430
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x11], 0
cmp dword [ebp - 0xc4], 0
je 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
cmp dword [eax], 0
je 0x4b31ce
mov ecx, dword [ebp - 0xdc]
mov byte [eax + 0x14], 0
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.004bb6d0
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xcc]
inc edx
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 1
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
xor edx, edx
mov dword [ebp - 0xc4], edx
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x4b6f6f
mov edx, dword [ebp - 0xd0]
cmp dword [edx + ebx*4 + 0x10], 0
jle 0x4b6ebf
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xb4], eax
mov ax, word [edx + ebx*4 + 0x10]
mov word [ebp - 0xb0], ax
mov eax, 0x10
mov word [ebp - 0xae], ax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb8], eax
jmp 0x4b6efb
push 0x97
lea eax, [ebp - 0x9c]
push eax
push dword [esi + 0x14]
push dword [esi + 0x18]
push dword [ecx + 0x30]
call fcn.004bd870
add esp, 0x14
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x4baafc
or word [eax + 6], 0x10
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
push edx
push 0
push 0
push 0
push eax
push dword [ecx]
call fcn.0048f890
mov esi, dword [ebp - 0xd0]
add esp, 0x18
mov edx, eax
mov dword [ebp - 0xc8], edx
cmp dword [esi + ebx*4 + 0x10], 0
jne 0x4b6f3c
push dword [ebp - 0xb8]
call fcn.004b2dd0
mov edx, dword [ebp - 0xc8]
add esp, 4
test edx, edx
jne 0x4b7114
xor eax, eax
cmp dword [ebp - 0xbc], eax
sete al
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], edx
mov edx, dword [ebp - 0xc4]
jmp 0x4b6f75
mov esi, dword [ebp - 0xd0]
cmp byte [esi + ebx*4], 0x32
jne 0x4b6f8e
test edx, edx
je 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
test edx, edx
jne 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esi + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xb4], eax
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
mov dword [eax + 0x48], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xb4]
mov ebx, dword [eax]
mov dword [ebp - 0xbc], ebx
mov eax, dword [eax + 0x30]
movzx edx, word [eax + 6]
xor eax, eax
mov word [ebp - 0xb8], dx
mov word [ebp - 0xc4], cx
cmp ax, dx
jae 0x4b703f
nop dword [eax]
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x4b7130
inc cx
mov word [ebp - 0xc4], cx
cmp cx, dx
jb 0x4b7020
test ebx, ebx
je 0x4b7102
mov eax, dword [ebp - 0xc0]
push edi
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0x9c], esi
mov word [ebp - 0xa8], ax
mov eax, 0x20
mov word [ebp - 0xa6], ax
call fcn.004bb6d0
mov dword [edi], eax
mov ecx, 0xbf04
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 4], edx
or ax, 4
mov ecx, edx
mov word [edi + 0x1c], ax
mov eax, dword [edi]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc0]
add eax, 0x48
mov dword [ebp - 0x90], ecx
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xbc]
call fcn.0048f890
add esp, 0x1c
mov dword [ebp - 0xc8], eax
test byte [ebp - 0xa6], 0x20
jne 0x4b6b84
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
cmp ecx, dword [ebp - 0x94]
jne 0x4b70fd
cmp eax, dword [ebp - 0x90]
je 0x4b6b84
mov dword [edi], ecx
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
test edx, edx
jne 0x4bab29
mov edx, ecx
jmp 0x4b2f90
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
mov edx, dword [esi + eax*4 + 8]
dec edx
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov edx, dword [eax]
mov dword [ebp - 0xc0], edx
test edx, edx
je 0x4b7253
mov eax, dword [ebp - 0xdc]
lea edi, [ebp - 0xbc]
push edi
mov dword [ebp - 0xbc], 0
push 0
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
push eax
push ecx
push 0
push edx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], eax
call fcn.0048f890
mov dword [ebp - 0xc8], eax
add esp, 0x18
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc4]
sete cl
mov byte [eax + 0x11], cl
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x4b723f
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x48], ecx
jmp 0x4b7114
mov esi, dword [ebp - 0xd0]
mov edx, dword [esi + ebx*4 + 8]
dec edx
mov dword [eax + 0x48], 0
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xd4]
mov dword [edx], ecx
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xcc]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
inc edx
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov dword [ebp - 0xb8], 0
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xbc], esi
cmp dword [esi], 0
je 0x4b7613
mov dword [ebp - 0xb4], 0
cmp byte [esi + 0x13], 0
jne 0x4b74ff
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, edx
or eax, ecx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], ecx
jne 0x4b73b1
lea eax, [ebp - 0xb8]
push eax
push dword [esi]
call fcn.0048f7a0
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
cmp dword [ebp - 0xb8], eax
je 0x4b734b
lea edx, [eax + 1]
xor ecx, ecx
jmp 0x4b739f
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.0048f750
mov edx, dword [ebp - 0xc4]
add esp, 8
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
cmp edx, 0xffffffff
jne 0x4b7399
cmp ecx, 0x7fffffff
jne 0x4b7399
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x13], 1
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
jmp 0x4b73ab
add edx, 1
adc ecx, 0
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xc4], edx
mov esi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 0xc]
test eax, eax
je 0x4b74b5
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x4b7404
mov dword [ebp - 0xac], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x4b73ef
mov edx, eax
mov dword [ebp - 0xac], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x4b73e0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x4b7410
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
mov dword [ebp - 0xb0], esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
mov ax, word [esi + 0x1c]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x1c], ax
mov edi, dword [ebp - 0xb0]
mov edx, dword [edi]
mov ecx, dword [edi + 4]
cmp edx, 0xffffffff
jne 0x4b7454
cmp ecx, 0x7fffffff
je 0x4ba7a8
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x13], 0
jne 0x4ba7a8
mov esi, dword [ebp - 0xc0]
add edx, 1
adc ecx, 0
cmp esi, ecx
jg 0x4b7492
jl 0x4b7480
mov eax, dword [ebp - 0xc4]
cmp eax, edx
jae 0x4b7498
mov eax, edx
mov esi, ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], esi
jmp 0x4b7498
mov eax, dword [ebp - 0xc4]
mov dword [edi], eax
mov dword [edi + 4], esi
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd8]
cmp ecx, 0x7fffffff
jg 0x4b74cc
jl 0x4b74c4
cmp edx, 0xffffffff
jae 0x4b74cc
add edx, 1
adc ecx, 0
jmp 0x4b74e3
xorps xmm0, xmm0
movlpd qword [ebp - 0xfc], xmm0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
push ecx
push edx
push dword [esi]
call fcn.00490930
mov esi, dword [ebp - 0xbc]
add esp, 0xc
cmp byte [esi + 0x13], 0
je 0x4b75f8
mov eax, dword [edi + 0x34]
lea edx, [ebp - 0xb8]
mov ecx, dword [edi + 0x30]
and eax, 0x3fffffff
push edx
add ecx, 1
mov dword [ebp - 0xb4], 0
push 0
adc eax, 0
mov dword [ebp - 0xc4], ecx
push eax
push ecx
mov dword [ebp - 0xc0], eax
push 0
push dword [esi]
call fcn.0048f890
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b75f2
nop dword [eax]
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
jne 0x4b75f2
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, 0x64
jge 0x4b75e6
lea eax, [ebp - 0xc4]
push eax
push 8
call fcn.0045ff80
mov eax, dword [ebp - 0xc4]
add esp, 8
cmp dword [ebp - 0xb4], 5
jge 0x4b7599
and eax, 0xffffff
xor ecx, ecx
jmp 0x4b75a5
mov ecx, dword [ebp - 0xc0]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xb8]
push edx
push 0
adc ecx, 0
mov dword [ebp - 0xc4], eax
push ecx
push eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], ecx
push 0
push dword [eax]
call fcn.0048f890
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x4b7550
jmp 0x4b75f2
test edx, edx
jne 0x4b75f2
test ecx, ecx
je 0x4ba7af
mov esi, dword [ebp - 0xbc]
mov byte [esi + 0x11], 0
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x4c], 0
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x4b7108
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd0]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], esi
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xb4], ebx
cmp byte [edx + ecx*4], 0x37
mov eax, dword [edx + ecx*4 + 0xc]
jne 0x4b7684
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xc0], eax
mov edi, dword [eax]
mov edx, dword [eax + 4]
jmp 0x4b7687
cdq
mov edi, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], edi
mov cl, byte [eax + ecx*4 + 3]
test cl, 1
je 0x4b76bb
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
inc dword [eax + 0x6c]
mov eax, dword [ebp - 0xe4]
mov cl, byte [ecx + eax*4 + 3]
test cl, 2
je 0x4b76d8
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], edx
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
test byte [esi + 0x1c], 1
je 0x4b76fe
mov dword [esi + 0x14], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd0]
test byte [eax + edi*4 + 3], 0x10
je 0x4b771c
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0xac], eax
jmp 0x4b7726
mov dword [ebp - 0xac], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4b773b
mov eax, dword [esi]
mov dword [ebp - 0xb0], eax
jmp 0x4b7745
mov dword [ebp - 0xb0], 0
push 0
push 0
push dword [ebx]
call fcn.00490930
push dword [ebp - 0xac]
mov esi, dword [ebp - 0xd0]
movzx eax, byte [esi + edi*4 + 3]
and eax, 8
push eax
push dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x18]
push dword [eax + 0x14]
mov eax, dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push 0
push dword [eax]
call fcn.0048ed10
mov dword [ebp - 0xc8], eax
add esp, 0x30
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x4c], 0
test edx, edx
jne 0x4b7af1
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0xb8], 0
je 0x4ba4d3
cmp dword [esi + edi*4 + 0x10], 0
je 0x4ba4d3
mov eax, dword [ebp - 0xb4]
mov ebx, 0x17
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [ebp - 0xa8], edx
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xa4], ecx
test byte [esi + edi*4 + 3], 4
mov edi, dword [ebp - 0xd8]
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [ebp - 0xa0], eax
push dword [edi + 0xb4]
mov eax, dword [edi + 0xb8]
call eax
mov edx, dword [ebp - 0xc8]
add esp, 0x18
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], edx
cmp dword [edi + 0xb8], 0
je 0x4b7895
cmp dword [esi + ebx*4 + 0x10], 0
je 0x4b7895
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
push edx
call fcn.004b2670
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
push eax
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.00490930
mov eax, dword [ebp - 0xbc]
push dword [eax]
call fcn.0048e810
mov dword [ebp - 0xc8], eax
add esp, 0x10
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
test edx, edx
jne 0x4b792d
mov edx, dword [edi + 0xb8]
test edx, edx
je 0x4b7927
mov eax, dword [esi + ebx*4 + 0x10]
test eax, eax
je 0x4b7927
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [edi + 0xb4]
call edx
add esp, 0x18
mov edx, dword [ebp - 0xc8]
test byte [esi + ebx*4 + 8], 1
je 0x4b7114
mov ecx, dword [ebp - 0xd4]
inc dword [ecx + 0x6c]
jmp 0x4b7114
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x6c]
add dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
mov dword [edx + 0x6c], 0
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
call fcn.004b2670
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x17], dl
je 0x4b79fd
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0xc0]
call fcn.0048f750
mov eax, dword [edi + 0x48]
add esp, 8
cdq
cmp dword [ebp - 0xb0], edx
jg 0x4ba909
mov ecx, dword [ebp - 0xb4]
jl 0x4b79f5
cmp ecx, eax
ja 0x4ba909
mov dword [ebp - 0xbc], ecx
jmp 0x4b7a21
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xc0]
call fcn.0048e7b0
mov ecx, dword [ebp - 0xbc]
add esp, 8
cmp ecx, dword [edi + 0x48]
ja 0x4ba909
mov ebx, dword [ebp - 0xe0]
push 0
push ecx
push ebx
call fcn.004bc2d0
add esp, 0xc
test eax, eax
jne 0x4baafc
mov eax, dword [ebp - 0xbc]
mov ecx, 0xbf10
mov edi, dword [ebx + 0x14]
mov dword [ebx + 0x18], eax
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x17], 0
je 0x4b7a97
push 0
push edi
push dword [ebp - 0xbc]
push 0
push dword [ebp - 0xc0]
call fcn.004667a0
mov edi, dword [ebp - 0xd8]
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xc8], edx
mov byte [ebx + 0x1f], 1
jmp 0x4b7114
mov esi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xbc]
mov al, byte [esi + 0x43]
test al, al
jne 0x4b7ab1
mov edx, 4
jmp 0x4b7adb
cmp al, 2
jb 0x4b7aca
push esi
call fcn.0046d840
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b7ae1
push 0
push edi
push ebx
push 0
push esi
call fcn.004667a0
add esp, 0x14
mov edx, eax
mov dword [ebp - 0xc8], edx
mov ebx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd0]
mov byte [ebx + 0x1f], 1
mov edi, dword [ebp - 0xd8]
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp byte [ecx + 0x14], 0
je 0x4b7b2d
mov eax, 1
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
cmp byte [ecx + 0x15], 0
je 0x4b7b4a
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
jmp 0x4b7be9
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x4b7b8c
mov eax, dword [eax]
lea edx, [ebp - 0xbc]
mov dword [ebp - 0xb4], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
push dword [ecx + 0x40]
mov eax, dword [eax + 0x30]
call eax
push dword [ebp - 0xb4]
mov dword [ebp - 0xc8], eax
push dword [ebp - 0xd4]
call fcn.0047b870
add esp, 0x10
jmp 0x4b7be9
push ecx
call fcn.004b2670
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x11], al
je 0x4b7bd2
mov eax, dword [ecx + 8]
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x4b7114
lea eax, [ebp - 0xbc]
push eax
push dword [ecx]
call fcn.0048f750
add esp, 8
mov dword [ebp - 0xc8], eax
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc4]
mov esi, dword [eax]
test esi, esi
je 0x4b3511
push dword [esi + 0x44]
call fcn.0045feb0
mov edx, dword [ebp - 0xcc]
add esp, 4
mov dword [esi + 0x44], 0
inc edx
mov byte [esi + 0x43], 0
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x4b7c95
mov dword [ebp - 0xbc], 1
jmp 0x4b7cb1
lea ecx, [ebp - 0xbc]
push ecx
push eax
call fcn.0048f7a0
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x14], al
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov eax, dword [esi + ebx*4 + 8]
test eax, eax
jle case.0x4b3027.17
cmp dword [ebp - 0xbc], 0
je case.0x4b3027.17
lea edx, [eax - 1]
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0xb4]
jmp 0x4b7d1c
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xbc], 1
mov esi, dword [ecx]
mov dword [ebp - 0xc0], esi
test esi, esi
je 0x4b7dbf
push esi
call fcn.0047de50
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b7d85
cmp byte [esi + 0x43], al
jne 0x4b7d6c
mov dword [ebp - 0xbc], 1
jmp 0x4b7d85
push esi
mov dword [ebp - 0xbc], 0
call fcn.0047dd40
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xc4]
sete cl
mov byte [eax + 0x12], cl
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], 0
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x11], 0
mov ecx, dword [ebp - 0xc4]
mov al, byte [ebp - 0xbc]
mov esi, dword [ebp - 0xd0]
mov byte [ecx + 0x14], al
cmp dword [ebp - 0xbc], 0
je case.0x4b3027.17
mov edx, dword [esi + ebx*4 + 8]
dec edx
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
cmp dword [edi + 0xe0], 0
jne 0x4baaac
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x4b3027.17
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
jne 0x4b7e38
mov edx, dword [ebp - 0xcc]
mov byte [eax + 0x14], 1
inc edx
jmp 0x4b2f86
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xbc], 1
cmp byte [esi + ebx*4], 0x43
push eax
push ecx
jne 0x4b7e57
call fcn.0048fc90
jmp 0x4b7e5c
call fcn.00490430
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0xbc]
mov byte [ecx + 0x14], al
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
cmp dword [ebp - 0xbc], 0
jne 0x4b7ead
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xcc], eax
mov al, byte [esi + ebx*4 + 3]
test al, al
je 0x4b7ead
mov ecx, dword [ebp - 0xd4]
movzx eax, al
inc dword [ecx + eax*4 + 0xac]
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + ebx*4 + 8]
mov edi, dword [ecx]
mov dword [ebp - 0xc0], edi
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test edi, edi
je 0x4b7102
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4b7f28
push esi
call fcn.004bc050
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b55e1
mov edi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], edx
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xb8], esi
test byte [eax + ebx*4 + 3], 0x10
je 0x4b7f4c
mov eax, dword [ecx + 0x48]
jmp 0x4b7f4e
xor eax, eax
push eax
mov eax, dword [ebp - 0xd0]
push dword [eax + ebx*4 + 0xc]
mov eax, edx
push 0
push 0
push 0x7c4968
cdq
push edx
push eax
push esi
push edi
call fcn.0048ed10
mov dword [ebp - 0xc8], eax
add esp, 0x24
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x4c], 0
jmp 0x4b7102
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je case.0x4b3027.17
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xb4], eax
mov ax, word [esi + ebx*4 + 0xc]
mov word [ebp - 0xb0], ax
xor eax, eax
mov word [ebp - 0xae], ax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xbc]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0xb4]
push eax
push ecx
call fcn.0048f890
add esp, 0x18
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b8026
cmp dword [ebp - 0xbc], eax
jne 0x4b8026
push dword [ebp - 0xc0]
call fcn.0048e810
add esp, 4
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov dword [eax + 0x4c], 0
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp - 0xc4], 0
je 0x4b31ce
push dword [ebp - 0xc0]
call fcn.004b2670
mov edx, eax
add esp, 4
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x14], dl
jne 0x4b31ce
mov esi, dword [ebp - 0xc4]
lea eax, [ebp - 0x164]
push eax
xorps xmm0, xmm0
push esi
movlpd qword [ebp - 0x164], xmm0
call fcn.0048f750
lea eax, [ebp - 0x194]
xorps xmm0, xmm0
push eax
push 1
push dword [ebp - 0x164]
movups xmmword [ebp - 0x194], xmm0
push 0
push esi
movups xmmword [ebp - 0x184], xmm0
movq qword [ebp - 0x174], xmm0
call fcn.004bc1b0
mov edx, eax
add esp, 0x1c
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4ba77e
mov ebx, dword [ebp - 0x180]
mov al, byte [ebx]
cmp al, 0x80
jae 0x4b8117
movzx esi, al
mov dword [ebp - 0x12c], esi
jmp 0x4b812d
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.0049dcf0
mov esi, dword [ebp - 0x12c]
add esp, 8
cmp esi, 3
jb 0x4ba7c2
mov edi, dword [ebp - 0x17c]
cmp esi, edi
jg 0x4ba7bc
lea eax, [ebx - 1]
add eax, esi
mov cl, byte [eax]
cmp cl, 0x80
jae 0x4b815b
movzx edx, cl
mov dword [ebp - 0x130], edx
jmp 0x4b8171
lea ecx, [ebp - 0x130]
push ecx
push eax
call fcn.0049dcf0
mov edx, dword [ebp - 0x130]
add esp, 8
lea eax, [edx - 1]
cmp eax, 8
ja 0x4ba7bc
cmp edx, 7
je 0x4ba7bc
push edx
call fcn.004be180
add esp, 4
lea ecx, [eax + esi]
cmp edi, ecx
jb 0x4ba7bc
lea ecx, [ebp - 0x224]
sub edi, eax
push ecx
push edx
add edi, ebx
push edi
call fcn.004bde10
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x194]
push eax
mov dword [ebp - 0xb8], ecx
call fcn.004bc6e0
mov edx, dword [ebp - 0xe0]
add esp, 0x10
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov dword [edx], eax
mov eax, 4
mov dword [edx + 4], ecx
mov word [edx + 0x1c], ax
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], 0
inc edx
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0xc4], edi
cmp dword [edi], 0
je 0x4b67c3
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xbc], eax
mov ax, word [esi + ebx*4 + 0x10]
mov word [ebp - 0xb8], ax
mov eax, 0xc
cmp byte [esi + ebx*4 + 3], 0
jne 0x4b825a
mov eax, 4
mov ecx, dword [ebp - 0xdc]
mov word [ebp - 0xb6], ax
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xac], eax
mov esi, dword [edi]
cmp byte [esi + 0x43], 1
jne 0x4b8328
push esi
call fcn.0047ae10
mov ecx, dword [esi + 0x2c]
add esp, 4
mov eax, dword [esi + 0x28]
test ecx, ecx
jl 0x4b8328
jg 0x4b8328
test eax, eax
je 0x4b8328
test ecx, ecx
jg 0x4b8328
jl 0x4b82b9
cmp eax, 0x7fffffff
ja 0x4b8328
lea ecx, [ebp - 0x1bc]
xorps xmm0, xmm0
push ecx
push 1
push eax
push 0
push dword [edi]
movups xmmword [ebp - 0x1bc], xmm0
movups xmmword [ebp - 0x1ac], xmm0
movq qword [ebp - 0x19c], xmm0
call fcn.004bc1b0
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b8355
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0x1a8]
push dword [ebp - 0x1a4]
call fcn.004bd410
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004bc6e0
mov dword [ebp - 0xc8], 0
jmp 0x4b8352
push 0x735b6c
push 0xe26d
push str.database_corruption_at_line__d_of___.10s_
push 0xb
mov dword [ebp - 0xc0], 0
call fcn.004c2340
mov dword [ebp - 0xc8], 0xb
add esp, 0x10
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
cmp byte [esi + ebx*4], 0x51
jne 0x4b836b
neg eax
jmp 0x4b836c
inc eax
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
test eax, eax
jle case.0x4b3027.17
mov edx, dword [esi + ebx*4 + 8]
dec edx
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
mov eax, dword [edi + 0x88]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4b83d9
nop
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x4b83cc
cmp byte [eax + 0x65], 2
jae 0x4b83cc
cmp dword [eax + 0x54], 0
jl 0x4b83cc
inc ecx
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x4b83b0
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp - 0xc0], eax
jg 0x4ba82a
mov ecx, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
add ecx, ecx
mov eax, dword [edi + 8]
mov esi, dword [esi + ebx*4 + 4]
mov edi, dword [eax + ecx*8 + 4]
push edi
call fcn.0048ea80
lea eax, [ebp - 0xc4]
push eax
push esi
push edi
call fcn.0046cf40
add esp, 0x10
mov dword [ebp - 0xc8], eax
cmp byte [edi + 9], 0
je 0x4b8446
add dword [edi + 0xc], 0xffffffff
jne 0x4b8446
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4b8442
push eax
call dword [0x7d9058]
add esp, 4
mov byte [edi + 0xa], 0
mov ecx, dword [ebp - 0xe0]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc8]
mov dword [ecx], eax
test edx, edx
jne 0x4b55e1
mov edx, dword [ebp - 0xc4]
test edx, edx
je 0x4b7102
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xb8]
add edi, edi
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xd8]
mov ebx, dword [eax + 8]
mov ecx, dword [ebx + edi*8 + 0xc]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4b84b8
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edx
jne 0x4b84ae
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x4b84a3
mov ecx, dword [ebx + edi*8 + 0xc]
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x4b84d1
nop
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edx
jne 0x4b84cb
mov dword [ecx + 0x14], esi
mov eax, dword [eax]
test eax, eax
jne 0x4b84c0
mov byte [ebp - 0xf1], 1
jmp 0x4b7102
mov dword [ebp - 0xc4], 0
lea eax, [ebp - 0xc4]
xor ecx, ecx
cmp dword [esi + ebx*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + ebx*4 + 8]
push eax
mov eax, dword [edi + 8]
add ecx, ecx
push dword [esi + ebx*4 + 4]
push dword [eax + ecx*8 + 4]
call fcn.0048dd70
add esp, 0xc
mov edx, eax
cmp dword [esi + ebx*4 + 0xc], 0
mov dword [ebp - 0xc8], edx
je 0x4b7114
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc4]
add dword [ecx + 0x6c], eax
mov ecx, dword [esi + ebx*4 + 0xc]
test ecx, ecx
jle 0x4b7114
mov ebx, dword [ebp - 0xdc]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov dword [ebp - 0xc4], 0
xor eax, eax
mov ecx, dword [esi + ebx*4 + 4]
shl ecx, 4
add ecx, dword [edi + 8]
mov dword [ebp - 0xbc], ecx
cmp byte [esi + ebx*4], 0x62
setne al
inc eax
push eax
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc4]
push eax
push dword [ecx + 4]
call fcn.0048e670
mov ebx, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
cdq
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0xc8]
mov dword [ebx], eax
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 4]
push edi
mov dword [ebp - 0xc4], eax
call fcn.0048eb60
mov edx, dword [ebp - 0xc4]
add esp, 4
cmp dword [esi + ebx*4 + 8], 0
jne 0x4b85ef
mov eax, dword [edi + 8]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
test byte [eax + 0x4a], 1
je 0x4b8697
cmp edx, 1
mov dword [ebp - 0xb8], edi
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
add edx, edx
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd4]
add eax, 0x5c
mov dword [ebp - 0xb0], eax
push dword [esi + ebx*4 + 0x10]
mov eax, dword [edi + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.004a14a0
add esp, 0x14
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4ba84b
push 0
lea eax, [ebp - 0xb8]
mov byte [edi + 0x7c], 1
push eax
push fcn.0049ee50
push dword [ebp - 0xbc]
mov dword [ebp - 0xac], 0
push edi
call fcn.0045e090
push dword [ebp - 0xbc]
test eax, eax
push edi
cmove eax, dword [ebp - 0xac]
mov dword [ebp - 0xc8], eax
call fcn.00493460
add esp, 0x1c
mov byte [edi + 0x7c], 0
push edi
call fcn.0048f800
mov edx, dword [ebp - 0xc8]
add esp, 4
cmp edx, 7
je 0x4baafc
jmp 0x4b7114
push dword [esi + ebx*4 + 4]
push edi
call fcn.0048b830
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
jmp 0x4b7114
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [esi + ebx*4 + 0x10]
mov eax, ecx
shl edx, 4
add edx, dword [edi + 8]
test ecx, ecx
je 0x4b86f4
cmp byte [ecx], 0
je 0x4b86ed
inc eax
cmp byte [eax], 0
jne 0x4b86e7
sub eax, ecx
and eax, 0x3fffffff
push 0
push eax
mov eax, dword [edx + 0xc]
push ecx
add eax, 4
push eax
call fcn.0049dfa0
push eax
push edi
call fcn.00493ec0
mov edx, dword [ebp - 0xcc]
add esp, 0x18
or dword [edi + 0xc], 0x200
inc edx
jmp 0x4b2f86
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, dword [eax + ecx*8 + 0xc]
mov eax, edx
add ecx, 0x14
test edx, edx
je 0x4b874d
cmp byte [edx], 0
je 0x4b8746
inc eax
cmp byte [eax], 0
jne 0x4b8740
sub eax, edx
and eax, 0x3fffffff
push 0
push eax
push edx
push ecx
call fcn.0049dfa0
mov edx, eax
add esp, 0x10
test edx, edx
je 0x4b879b
mov esi, dword [edx + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, edx
jne 0x4b8772
mov eax, dword [edx + 0x20]
mov dword [esi + 0x10], eax
jmp 0x4b878b
test ecx, ecx
je 0x4b878b
mov eax, dword [ecx + 0x20]
cmp eax, edx
je 0x4b8785
mov ecx, eax
test ecx, ecx
jne 0x4b8776
jmp 0x4b878b
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x20], eax
push edx
push edi
call fcn.00479730
mov esi, dword [ebp - 0xd0]
add esp, 8
mov edx, dword [ebp - 0xcc]
or dword [edi + 0xc], 0x200
inc edx
jmp 0x4b2f86
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, dword [eax + ecx*8 + 0xc]
mov eax, edx
add ecx, 0x24
test edx, edx
je 0x4b87dd
cmp byte [edx], 0
je 0x4b87d6
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x4b87d0
sub eax, edx
and eax, 0x3fffffff
push 0
push eax
push edx
push ecx
call fcn.0049dfa0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4b3511
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esi + 0x18]
jne 0x4b881e
push esi
call fcn.004c3a90
add esp, 4
lea ecx, [eax + 0x40]
mov eax, dword [ecx]
cmp eax, esi
je 0x4b8819
nop
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
cmp eax, esi
jne 0x4b8810
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
push esi
push edi
call fcn.00494220
mov edx, dword [ebp - 0xcc]
add esp, 8
or dword [edi + 0xc], 0x200
inc edx
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xc4], eax
cmp byte [edi + 0x1e], 0
lea edx, [eax*4 + 4]
jne 0x4ba859
cmp byte [edi + 0xea], 0
je 0x4b88a4
movzx eax, word [edi + 0xe8]
cmp edx, eax
jg 0x4b88a4
mov ecx, dword [edi + 0xf4]
test ecx, ecx
je 0x4b88a4
mov eax, dword [ecx]
inc dword [edi + 0xec]
mov dword [edi + 0xf4], eax
mov eax, dword [edi + 0xec]
cmp eax, dword [edi + 0xf0]
jle 0x4b889c
mov dword [edi + 0xf0], eax
mov dword [ebp - 0xc0], ecx
jmp 0x4b88c5
push edx
call fcn.004a14c0
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4b88b7
mov byte [edi + 0x1e], 1
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x4baafc
mov eax, dword [esi + ebx*4 + 0xc]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xc4], eax
jle 0x4b892e
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
call fcn.004bb6d0
mov edx, dword [ebp - 0xbc]
add esp, 4
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xc4]
jl 0x4b88f5
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + eax*4], 0
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xb0]
push dword [eax]
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0xc4]
push dword [ebp - 0xc0]
movzx ecx, byte [eax + ebx*4 + 3]
mov eax, dword [edi + 8]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0048ef00
push dword [ebp - 0xc0]
mov dword [ebp - 0xb4], eax
push edi
call fcn.00493460
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
cdq
push esi
sub dword [ecx], eax
mov eax, dword [ebp - 0xb0]
sbb dword [eax + 4], edx
call fcn.004bc800
add esp, 0x20
cmp dword [ebp - 0xb8], 0
je 0x4b89c6
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x4baafc
push fcn.0045feb0
push 1
push 0xffffffffffffffff
push eax
push esi
call fcn.004bca50
add esp, 0x14
test byte [esi + 0x1c], 2
je 0x4b3511
mov al, byte [ebp - 0xec]
cmp byte [esi + 0x1f], al
je 0x4b3511
push dword [ebp - 0x104]
push esi
call fcn.004bcd70
mov edx, dword [ebp - 0xcc]
add esp, 8
mov esi, dword [ebp - 0xd0]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x4b8a37
push esi
call fcn.004bc940
add esp, 4
test byte [esi + 0x1c], 0x20
je 0x4baaf6
mov ebx, dword [ebp - 0xdc]
push dword [ebx + edi*8 + 4]
push dword [ebx + edi*8]
push dword [esi]
call fcn.004a9730
mov edx, dword [ebp - 0xcc]
add esp, 0xc
mov edi, dword [ebp - 0xd8]
inc edx
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
cmp dword [edi + 0xe0], 0
jne 0x4baaac
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea edi, [ecx + eax*8]
je 0x4b8b2c
mov esi, dword [edi]
push esi
call fcn.00487fa0
mov ecx, dword [esi + 8]
add esp, 4
test ecx, ecx
je 0x4b8b26
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x4b8acb
push esi
call fcn.004a9680
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4 + 0xc]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.004bc6e0
mov edx, dword [ebp - 0xcc]
mov eax, 4
mov dword [esi], edi
add esp, 4
mov edi, dword [ebp - 0xd8]
inc edx
mov dword [esi + 4], ebx
mov word [esi + 0x1c], ax
mov byte [esi + 0x1e], 1
mov esi, dword [ebp - 0xd0]
jmp 0x4b2f86
mov esi, dword [ebp - 0xd0]
push edi
call fcn.004bc800
mov edx, dword [esi + ebx*4 + 8]
add esp, 4
mov edi, dword [ebp - 0xd8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [esi + ecx*4 + 0xc]
mov ecx, dword [esi + ecx*4 + 0x10]
mov dword [ebp - 0xc4], ecx
test byte [ebx + 0x1c], 0x20
lea edi, [eax + eax*4]
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xe8], ecx
jne 0x4b8baa
push ebx
call fcn.004bc940
add esp, 4
test byte [ebx + 0x1c], 0x20
je 0x4baaf6
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je 0x4b8ce0
js 0x4b8bbb
mov eax, ecx
and eax, 0xf
jmp 0x4b8bc0
mov eax, 0xff
mov ebx, dword [ebx]
mov esi, dword [edx + edi*8]
mov edi, dword [edx + edi*8 + 4]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x140], edi
cmp al, byte [ebx + 0x1b]
je 0x4b8c90
cmp dword [ebx + 8], 0
je 0x4b8c81
push ebx
call fcn.00487fa0
mov esi, dword [ebx + 8]
add esp, 4
mov dword [ebp - 0x100], esi
mov edi, 1
mov eax, dword [esi + 8]
mov dword [ebp - 0x100], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov edx, dword [ebp - 0x100]
test edx, edx
je 0x4b8c5e
nop word [eax + eax]
mov eax, dword [edx + 8]
mov ecx, esi
mov dword [ebp - 0x100], eax
mov esi, edx
lea eax, [ebp - 0x100]
push edi
push eax
mov dword [esi + 0xc], ecx
call fcn.00487f40
mov dword [edx + 8], eax
add esp, 8
mov edx, dword [ebp - 0x100]
inc edi
test edx, edx
jne 0x4b8c30
mov eax, dword [ebp - 0xf0]
mov edi, dword [ebp - 0x140]
mov dword [ebx + 0x14], esi
mov esi, dword [ebp - 0x13c]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov byte [ebx + 0x1b], al
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4b8cbc
mov ecx, dword [eax + 4]
mov edx, dword [eax]
cmp ecx, edi
jg 0x4b8cb5
jl 0x4b8ca6
cmp edx, esi
jae 0x4b8cab
mov eax, dword [eax + 8]
jmp 0x4b8cb8
cmp ecx, edi
jl 0x4b8d0b
jg 0x4b8cb5
cmp edx, esi
jbe 0x4b8d0b
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4b8c97
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xc0], 0
js 0x4b8cf9
mov eax, dword [ebp - 0xdc]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
push dword [ebx]
call fcn.004a9730
add esp, 0xc
mov edx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd8]
inc edx
jmp 0x4b2f86
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], 1
mov edx, dword [esi + eax*4 + 8]
jmp 0x4b2f86
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xac], edx
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xbc], esi
cmp byte [eax + ebx*4 + 3], 0
je 0x4b8d9c
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xa8], ecx
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x4b8d9c
nop dword [eax]
cmp dword [eax + 0x20], ecx
je 0x4b8d94
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x4b8d80
jmp 0x4b8d9c
test eax, eax
jne 0x4b7108
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0xe0]
cmp eax, dword [edi + 0x70]
jge 0x4ba886
test byte [esi + 0x1c], 0x40
jne 0x4b8f88
mov eax, dword [edx + 0xc]
add eax, dword [edx + 8]
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*2]
lea edi, [eax*4 + 0x40]
mov dword [ebp - 0xc0], edi
cmp byte [ebx + 0x1e], 0
jne 0x4ba875
cmp byte [ebx + 0xea], 0
je 0x4b8e31
movzx eax, word [ebx + 0xe8]
cmp edi, eax
jg 0x4b8e31
mov ecx, dword [ebx + 0xf4]
test ecx, ecx
je 0x4b8e31
mov eax, dword [ecx]
inc dword [ebx + 0xec]
mov dword [ebx + 0xf4], eax
mov eax, dword [ebx + 0xec]
cmp eax, dword [ebx + 0xf0]
jle 0x4b8e2d
mov dword [ebx + 0xf0], eax
mov esi, ecx
jmp 0x4b8e4e
push edi
call fcn.004a14c0
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4b8e44
mov byte [ebx + 0x1e], 1
mov esi, ecx
test ecx, ecx
je 0x4ba868
push edi
push 0
push ecx
call fcn.006f7570
push dword [ebp - 0xbc]
mov dword [ebp - 0xb0], esi
call fcn.004bc6e0
mov eax, dword [ebp - 0xbc]
mov ecx, 0x40
mov esi, dword [ebp - 0xd4]
add esp, 0x10
mov edi, ebx
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x4c]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x48]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x34]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb0]
mov cx, word [esi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x14]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x24]
lea ecx, [edx + 0x40]
mov dword [ebp - 0xb8], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 8]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb4], eax
cmp ecx, eax
je 0x4b8f80
mov esi, 1
nop
mov word [ecx + 0x1c], si
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x10], edi
mov ecx, dword [ebp - 0xb8]
add ecx, 0x28
mov dword [ebp - 0xb8], ecx
cmp ecx, dword [ebp - 0xb4]
jne 0x4b8f50
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xb0]
mov eax, dword [esi + 0xe0]
jmp 0x4b8f92
mov edx, dword [esi]
mov esi, ecx
mov dword [ebp - 0xb0], edx
inc eax
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xdc]
mov dword [edx + 0x3c], eax
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov eax, dword [ebp - 0xb0]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebp - 0xd4]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xb0]
mov dword [esi + 0xdc], eax
mov dword [esi + 0x6c], 0
lea ebx, [eax + 0x18]
mov dword [esi + 0x4c], ebx
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x48], ecx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
lea eax, [ecx + 1]
mov dword [ebp - 0xdc], ebx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xac]
mov esi, dword [eax]
mov dword [edx + 0x14], esi
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
xor edx, edx
mov dword [ebp - 0xd0], esi
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
push 0x1000
mov edx, dword [eax + 0xdc]
mov dword [ebp - 0xc4], edx
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
push eax
push ebx
mov dword [ebp - 0xc0], eax
call fcn.004bcc40
mov edx, dword [ebp - 0xcc]
add esp, 0xc
inc edx
jmp 0x4b2f86
cmp dword [esi + ebx*4 + 4], 0
mov eax, dword [esi + ebx*4 + 8]
cdq
je 0x4b9094
add dword [edi + 0x1e0], eax
adc dword [edi + 0x1e4], edx
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0xc8], eax
adc dword [ecx + 0xcc], edx
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
cmp dword [esi + ebx*4 + 4], 0
je 0x4b90d6
mov eax, dword [edi + 0x1e0]
or eax, dword [edi + 0x1e4]
jne 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0xc8]
or eax, dword [edx + 0xcc]
jne 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xdc]
test edx, edx
je 0x4b913e
mov dword [ebp - 0xc0], edx
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x4b912f
nop word [eax + eax]
mov edx, eax
mov dword [ebp - 0xc0], edx
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x4b9120
mov eax, dword [esi + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
jmp 0x4b914e
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
mov dword [ebp - 0xc4], esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
movzx eax, word [esi + 0x1c]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xdc]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.004bb6d0
mov dword [esi], eax
mov ecx, 0xbf04
movzx eax, word [esi + 0x1c]
add esp, 8
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [esi]
or ax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xc4]
cmp dword [eax + 4], edx
jg 0x4b3511
jl 0x4b91c6
cmp dword [eax], ecx
jae 0x4b3511
mov esi, dword [ebp - 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jl 0x4b4beb
jg 0x4b9201
cmp dword [ecx + eax*8], 0
jbe 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jg 0x4b4beb
jl 0x4b9201
cmp dword [ecx + eax*8], 0
jae 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0xdc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
adc dword [eax + ecx*8 + 4], edx
mov edx, edi
mov eax, dword [eax + ecx*8]
mov edi, dword [ebp - 0xd8]
or eax, dword [edx + ecx*8 + 4]
jne 0x4b4beb
mov edx, dword [esi + ebx*4 + 8]
dec edx
inc edx
jmp 0x4b2f86
mov cl, byte [esi + ebx*4 + 3]
mov edx, dword [ebp - 0xdc]
movzx eax, cl
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], edx
mov esi, dword [eax + 0x24]
xor eax, eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0xc0], eax
test cl, cl
je 0x4b9310
mov dword [esi + eax*4], edx
mov ecx, dword [ebp - 0xb8]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x4b92c8
mov byte [ecx + 0x1e], 5
jmp 0x4b92e7
test al, 4
je 0x4b92d2
mov byte [ecx + 0x1e], 1
jmp 0x4b92e7
test al, 8
je 0x4b92dc
mov byte [ecx + 0x1e], 2
jmp 0x4b92e7
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb8]
inc eax
add edx, 0x28
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], edx
cmp eax, dword [ebp - 0xc4]
jge 0x4b9310
mov esi, dword [ebp - 0x74]
jmp 0x4b92b1
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x84], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0x90], ax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
test byte [ecx + 3], 8
je 0x4b9390
mov eax, dword [esi + ebx*4 - 4]
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x74]
lea eax, [ebp - 0xb4]
push dword [ebp - 0xc4]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x80], 0
je 0x4b93de
lea eax, [ebp - 0xac]
push 1
push eax
call fcn.004b1bb0
push eax
mov eax, dword [ebp - 0xd4]
push 0x7328c8
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov eax, dword [ebp - 0x80]
add esp, 0x18
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xac]
push eax
call fcn.004bc6e0
mov edx, dword [ebp - 0xc8]
add esp, 4
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc4], eax
push dword [esi + ebx*4 + 0x10]
push eax
call fcn.004bc0b0
add esp, 8
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4b944b
push 1
push dword [ebp - 0xc4]
call fcn.004b1bb0
push eax
mov eax, dword [ebp - 0xd4]
push 0x7328c8
add eax, 0x5c
push edi
push eax
call fcn.004ac730
add esp, 0x18
mov eax, dword [ebp - 0xc4]
test byte [eax + 0x1c], 2
je 0x4b9477
mov cl, byte [ebp - 0xec]
cmp byte [eax + 0x1f], cl
je 0x4b9477
push dword [ebp - 0x104]
push eax
call fcn.004bcd70
mov eax, dword [ebp - 0xc4]
add esp, 8
movzx edx, word [eax + 0x1c]
test dl, 0x12
je case.0x4b3027.17
mov ecx, dword [eax + 0x18]
test edx, 0x4000
je 0x4b9491
add ecx, dword [eax]
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x4ba909
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
push dword [esi + ebx*4 + 4]
push edi
call fcn.00490df0
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
mov edx, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xbc], edx
cmp dword [eax + 0x80], 0
jne 0x4b94f9
push dword [esi + ebx*4 + 4]
push eax
call fcn.004be390
push dword [ebp - 0xd4]
call fcn.004bd270
mov edx, dword [ebp - 0xbc]
add esp, 0xc
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
cmp edx, 0xffffffff
mov edi, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov dword [ebp - 0xc0], esi
movzx ecx, byte [esi + 5]
cmove edx, ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xbc], edx
cmp byte [esi + 0xe], 3
jae 0x4b954f
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x4b9555
cmp dword [esi + 0x4c], 0
jl 0x4b9555
jg 0x4b954f
cmp dword [esi + 0x48], 0
jbe 0x4b9555
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 5
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb4], eax
jne 0x4b958a
cmp byte [eax], 0
je 0x4b957f
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
cmp dword [eax], 2
jl 0x4b957f
cmp dword [eax + 0x34], 0
jne 0x4b958a
mov dword [ebp - 0xbc], ecx
jmp 0x4b97f5
mov eax, dword [ebp - 0xbc]
cmp eax, ecx
je 0x4b97f5
cmp ecx, 5
je 0x4b95a6
cmp eax, 5
jne 0x4b97f5
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x1c], 0
je 0x4ba8b2
cmp dword [eax + 0x8c], 1
jg 0x4ba8b2
cmp ecx, 5
jne 0x4b974c
xor edx, edx
lea ebx, [esi + 0xbc]
mov edi, esi
mov dword [ebp - 0xc8], edx
cmp dword [ebx], edx
jne 0x4b9699
mov al, byte [esi + 0xf]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0xc8], edx
cmp al, 1
jb 0x4b95fb
cmp al, cl
jne 0x4b962f
mov eax, dword [esi + 0x3c]
push 1
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1c]
call eax
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b9623
cmp byte [esi + 0xf], 5
je 0x4b9623
mov byte [esi + 0xf], 1
jmp 0x4b9637
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc0]
test edx, edx
jne 0x4b9868
mov eax, dword [edi]
lea ecx, [ebp - 0x110]
push ecx
push 0
push dword [edi + 0xc0]
push eax
mov eax, dword [eax + 0x20]
call eax
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b970e
cmp dword [ebp - 0x110], eax
je 0x4b968d
push ebx
push dword [edi + 0xc0]
push dword [edi + 0x3c]
push dword [edi]
call fcn.004bf940
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b970e
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc0]
cmp dword [ebx], 0
je 0x4b971a
mov al, byte [edi + 0xf]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp al, 4
jb 0x4b96b5
cmp al, 5
jne 0x4b96d7
mov eax, dword [edi + 0x3c]
push 4
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1c]
call eax
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x4b972a
mov byte [edi + 0xf], 4
jmp 0x4b96db
test ecx, ecx
jne 0x4b972a
cmp byte [edi + 8], 0
je 0x4b96e5
xor eax, eax
jmp 0x4b96e9
movzx eax, byte [edi + 0xa]
push dword [edi + 0xb4]
push dword [edi + 0x80]
push eax
push dword [ebx]
call fcn.004bf200
mov edx, eax
mov dword [ebx], 0
add esp, 0x10
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xc0]
test edx, edx
jne 0x4b9868
push dword [ebp - 0xbc]
jmp 0x4b9753
push 1
push edi
call fcn.00482220
mov ecx, dword [ebp - 0xb8]
add esp, 8
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], ecx
jmp 0x4b97ef
cmp ecx, 4
jne 0x4b9768
push 2
push esi
call fcn.004a3430
mov edi, dword [ebp - 0xc4]
add esp, 8
mov dword [ebp - 0xe8], edi
mov esi, dword [edi + 4]
xor ebx, ebx
cmp dword [ebp - 0xbc], 5
push 0
sete bl
inc ebx
cmp dword [ebp - 0xbc], 5
push edi
setne al
mov byte [esi + 0x21], al
call fcn.0048db00
add esp, 8
test eax, eax
jne 0x4b984e
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + 0x40]
cmp byte [edi + 0x12], bl
jne 0x4b97ac
cmp byte [edi + 0x13], bl
je 0x4b984e
push 2
push dword [ebp - 0xe8]
call fcn.0048db00
add esp, 8
test eax, eax
jne 0x4b984e
mov eax, dword [esi + 0xc]
push dword [eax + 0x44]
call fcn.004a3af0
add esp, 4
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b984e
mov byte [edi + 0x12], bl
mov byte [edi + 0x13], bl
mov byte [esi + 0x21], al
mov esi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xe4]
push dword [ebp - 0xbc]
push esi
call fcn.004a3430
mov esi, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xe0], ebx
cmp eax, 6
jne 0x4b9873
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
mov byte [ebx + 0x1f], 1
jmp 0x4b98b7
mov byte [esi + 0x21], 0
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4b97e9
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], ecx
jmp 0x4b97ef
mov eax, dword [eax*4 + 0x72fc60]
mov dword [ebx + 0x14], eax
test eax, eax
jne 0x4b988a
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
jmp 0x4b98b7
cmp byte [eax], 0
mov ecx, 0xa02
mov edx, eax
je 0x4b98a0
inc eax
cmp byte [eax], 0
jne 0x4b9896
movzx ecx, word [ebx + 0x1c]
sub eax, edx
mov byte [ebx + 0x1f], 1
and eax, 0x3fffffff
mov dword [ebx + 0x18], eax
test cl, 2
je 0x4b67c3
cmp byte [ebp - 0xec], 1
je 0x4b67c3
push dword [ebp - 0x104]
push ebx
call fcn.004bcd70
mov edi, dword [ebp - 0xd8]
add esp, 8
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov eax, dword [ebp - 0xd4]
add eax, 0x5c
push edi
push eax
call fcn.004a9de0
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
jmp 0x4b7114
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], esi
push esi
mov edi, dword [esi + 4]
call fcn.0048ea80
add esp, 4
cmp byte [edi + 0x15], 0
jne 0x4b9935
mov dword [ebp - 0xc8], 0x65
jmp 0x4b998b
push edi
call fcn.0047be50
push dword [edi + 0x30]
push 0
push edi
call fcn.0047b920
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4b998b
mov eax, dword [edi + 0xc]
push dword [eax + 0x44]
call fcn.004a3af0
mov edx, dword [edi + 0x30]
add esp, 4
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x40]
mov eax, edx
shr eax, 0x18
mov byte [ecx + 0x1c], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 0x1d], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0x1e], al
mov byte [ecx + 0x1f], dl
cmp byte [esi + 9], 0
je 0x4b99af
add dword [esi + 0xc], 0xffffffff
jne 0x4b99af
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4b99ab
push eax
call dword [0x7d9058]
add esp, 4
mov byte [esi + 0xa], 0
mov edx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
cmp edx, 0x65
jne 0x4b7114
mov edx, dword [esi + ebx*4 + 8]
dec edx
mov dword [ebp - 0xcc], edx
xor edx, edx
mov dword [ebp - 0xc8], edx
jmp 0x4b7114
cmp dword [esi + ebx*4 + 4], 0
jne 0x4b9a0e
mov eax, dword [edi + 0x88]
test eax, eax
je 0x4b4beb
mov byte [eax + 0x62], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x4b99f7
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov edx, dword [ebp - 0xd4]
mov byte [edx + 0x62], 1
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov bl, byte [esi + ebx*4 + 0xc]
test bl, bl
jne 0x4b9a39
test dword [edi + 0xc], 0x80000
jne case.0x4b3027.17
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + edx*4 + 4]
mov eax, dword [eax + 8]
add ecx, ecx
mov edi, dword [esi + edx*4 + 8]
mov esi, dword [eax + ecx*8 + 4]
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp byte [esi + 9], al
je 0x4b9b35
inc bl
push esi
mov byte [ebp - 0x144], bl
call fcn.0048ea80
push dword [ebp - 0x144]
push edi
push esi
call fcn.00485640
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b9b05
mov eax, dword [esi + 4]
mov dword [ebp - 0xf8], eax
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4b9ab5
cmp dword [ecx + 4], edi
jne 0x4b9aae
cmp dword [ecx], esi
je 0x4b9ae7
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x4b9aa5
push 0x10
call fcn.004a14c0
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4b9afb
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0xf8]
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [edx + 0x4c]
mov dword [ecx + 0xc], eax
mov dword [edx + 0x4c], ecx
cmp bl, byte [ecx + 8]
jbe 0x4b9aef
mov byte [ecx + 8], bl
mov dword [ebp - 0xc8], 0
jmp 0x4b9b05
mov dword [ebp - 0xc8], 7
cmp byte [esi + 9], 0
je 0x4b9b29
add dword [esi + 0xc], 0xffffffff
jne 0x4b9b29
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4b9b25
push eax
call dword [0x7d9058]
add esp, 4
mov byte [esi + 0xa], 0
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
cmp al, 6
jne case.0x4b3027.17
push dword [esi + edx*4 + 0x10]
mov eax, dword [ebp - 0xd4]
push str.database_table_is_locked:__s
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov edx, dword [ebp - 0xc8]
add esp, 0x10
jmp 0x4b7114
mov esi, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0xc4], esi
mov edx, dword [edi + 0x12c]
mov dword [ebp - 0xc8], 0
test edx, edx
jle 0x4b9ba7
cmp dword [edi + 0x128], 0
jne 0x4b9ba7
mov edx, 6
mov dword [ebp - 0xc8], edx
jmp 0x4b9c42
test esi, esi
jne 0x4b9bb8
xor edx, edx
mov dword [ebp - 0xc8], edx
jmp 0x4b9c42
mov edi, dword [esi + 8]
mov eax, dword [edi]
mov ebx, dword [eax + 0x38]
test ebx, ebx
je 0x4b9c36
xor ecx, ecx
test edx, edx
jle 0x4b9bec
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x128]
nop word [eax + eax]
cmp dword [eax], esi
je 0x4b9c1e
inc ecx
add eax, 4
cmp ecx, edx
jl 0x4b9be0
push edi
call ebx
mov edi, dword [ebp - 0xd8]
mov ecx, eax
add esp, 4
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x4b9c28
push esi
push edi
call fcn.00467080
mov esi, dword [ebp - 0xc4]
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
jmp 0x4b9c42
xor edx, edx
mov dword [ebp - 0xc8], edx
jmp 0x4b9c3c
mov esi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
jmp 0x4b9c42
mov edx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xd8]
test esi, esi
je 0x4b710e
push dword [esi + 8]
push dword [ebp - 0xd4]
call fcn.0047b870
add esp, 8
jmp 0x4b7108
mov edx, dword [ebp - 0xe4]
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0xd4]
add ebx, 0x5c
mov ecx, dword [esi + edx*4 + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [esi + edx*4 + 0x10]
push edi
call fcn.00499b70
mov edi, eax
add esp, 0xc
mov ecx, dword [edi + 0x3c]
mov esi, dword [ecx]
mov ecx, esi
test esi, esi
je 0x4b9cae
cmp byte [esi], 0
je 0x4b9ca6
nop word [eax + eax]
inc ecx
cmp byte [ecx], 0
jne 0x4b9ca0
sub ecx, esi
and ecx, 0x3fffffff
mov eax, dword [ebp - 0xd8]
push ecx
add eax, 0x114
push esi
push eax
call fcn.0049df50
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x4b9cf1
mov edi, dword [ebp - 0xd8]
push esi
push str.no_such_module:__s
push edi
call fcn.004a14a0
mov edx, 1
mov dword [ebx], eax
add esp, 0xc
mov dword [ebp - 0xc8], edx
jmp 0x4b710e
mov eax, dword [ecx]
push ebx
push dword [eax + 4]
push ecx
push edi
push dword [ebp - 0xd8]
call fcn.004c53f0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b55e1
mov ecx, dword [edi + 0x34]
mov eax, ecx
mov edi, dword [ebp - 0xd8]
test eax, eax
je 0x4b710e
nop word [eax + eax]
cmp dword [eax], edi
je 0x4b9d40
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x4b9d30
jmp 0x4b710e
cmp dword [ecx], edi
je 0x4b9d4b
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x4b9d40
push ecx
push edi
call fcn.00467080
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
jmp 0x4b710e
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], 0
mov byte [eax + 0x65], 2
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push dword [esi + ebx*4 + 0x10]
push edi
call fcn.00499b70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4b9dff
cmp dword [esi + 0x34], 0
je 0x4b9dd5
push esi
push edi
call fcn.004c5a40
mov edi, eax
mov ecx, dword [edi + 4]
push dword [edi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call ecx
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xc8], edx
test edx, edx
jne 0x4b9dea
mov dword [edi + 8], eax
push edi
mov dword [esi + 0x34], eax
call fcn.004beda0
mov edi, dword [ebp - 0xd8]
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xc8]
mov byte [ecx + 0x65], 0
jmp 0x4b710e
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov byte [ecx + 0x65], 0
jmp 0x4b710e
mov ecx, dword [ebp - 0xd4]
xor edx, edx
mov byte [ecx + 0x65], dl
jmp 0x4b710e
mov dword [ebp - 0xc4], 0
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xc0], 0
mov eax, dword [esi + ebx*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x18]
call eax
push dword [ebp - 0xbc]
mov dword [ebp - 0xc8], eax
push dword [ebp - 0xd4]
call fcn.0047b870
mov edx, dword [ebp - 0xc8]
add esp, 0x10
test edx, edx
jne 0x4b7114
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
push edx
push 0xffffffffffffffff
push edx
mov dword [eax], ecx
push dword [esi + ebx*4 + 4]
push dword [ebp - 0xd4]
call fcn.00467ba0
add esp, 0x14
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4b9ec3
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x40], ecx
inc edx
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], ecx
jmp 0x4b2f86
mov byte [edi + 0x1e], 1
mov eax, dword [ebp - 0xb8]
push dword [ebp - 0xc0]
mov eax, dword [eax + 0x1c]
call eax
mov edx, dword [ebp - 0xc8]
add esp, 4
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb8], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xb4], esi
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xa8], eax
mov edi, dword [eax + 0x40]
mov dword [ebp - 0xb0], edi
mov eax, dword [edi]
mov dword [ebp - 0xac], eax
mov ebx, dword [eax]
mov dword [ebp - 0xbc], ebx
mov eax, dword [esi]
mov dword [ebp - 0xc4], eax
mov ecx, dword [edx]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xa4], 0
mov edx, dword [ecx + 0x24]
xor ecx, ecx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa0], ecx
test eax, eax
jle 0x4ba001
nop dword [eax]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + eax*4]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x4b9fa9
mov byte [ecx + 0x1e], 5
jmp 0x4b9fc8
test al, 4
je 0x4b9fb3
mov byte [ecx + 0x1e], 1
jmp 0x4b9fc8
test al, 8
je 0x4b9fbd
mov byte [ecx + 0x1e], 2
jmp 0x4b9fc8
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc4]
inc ecx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], ecx
cmp ecx, eax
jge 0x4b9fed
mov esi, dword [ebp - 0xb4]
jmp 0x4b9f80
mov edi, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
jmp 0x4ba007
mov ecx, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xd4]
push edx
push eax
mov eax, dword [ebp - 0xd0]
mov byte [esi + 0x65], 1
mov esi, dword [ebp - 0xe4]
push dword [eax + esi*4 + 0x10]
mov eax, dword [ebx + 0x20]
push ecx
push edi
call eax
push dword [ebp - 0xac]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
push eax
mov byte [eax + 0x65], 0
call fcn.0047b870
add esp, 0x1c
cmp dword [ebp - 0xc8], 0
jne 0x4ba06e
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xb0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xa4], eax
jmp 0x4ba074
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x4ba089
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + esi*4 + 8]
dec eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xa8]
mov byte [eax + 0x14], 0
jmp 0x4b7102
mov eax, dword [ebp - 0xd4]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x34]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xbc], eax
cmp byte [esi + 0x14], 0
je 0x4ba0e5
push eax
call fcn.004bc800
mov edx, dword [ebp - 0xcc]
add esp, 4
mov esi, dword [ebp - 0xd0]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + 0x40]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xb4]
push eax
call fcn.006f7570
push dword [ebp - 0xbc]
lea eax, [ebp - 0xac]
push eax
call fcn.004bc520
mov eax, dword [ebp - 0x90]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x90], ax
mov eax, dword [ebp - 0xd0]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xc0]
push dword [esi + 0x40]
mov eax, dword [eax + 0x2c]
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
push dword [ebp - 0xd4]
call fcn.0047b870
mov eax, dword [ebp - 0x80]
add esp, 0x28
mov ecx, dword [ebp - 0xc8]
test eax, eax
cmovne ecx, eax
test byte [ebp - 0x90], 2
mov dword [ebp - 0xc8], ecx
je 0x4ba1a8
mov al, byte [ebp - 0xec]
cmp byte [ebp - 0x8d], al
je 0x4ba1a8
push dword [ebp - 0x104]
lea eax, [ebp - 0xac]
push eax
call fcn.004bcd70
add esp, 8
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xbc]
call fcn.004bc520
mov eax, dword [ebp - 0xbc]
add esp, 8
movzx edx, word [eax + 0x1c]
test dl, 0x12
je 0x4b7108
mov ecx, dword [eax + 0x18]
test edx, 0x4000
je 0x4ba1dd
add ecx, dword [eax]
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x48]
jg 0x4ba909
jmp 0x4b7108
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], 0
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
cmp byte [ecx + 0x14], 0
jne case.0x4b3027.17
mov eax, dword [ecx + 0x40]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov byte [edx + 0x65], 1
push dword [ecx + 0x40]
mov eax, dword [eax + 0x24]
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd4]
push eax
mov byte [eax + 0x65], 0
call fcn.0047b870
add esp, 0xc
cmp dword [ebp - 0xc8], 0
jne 0x4ba27e
mov eax, dword [ebp - 0xb8]
push dword [eax + 0x40]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xbc], eax
jmp 0x4ba284
mov eax, dword [ebp - 0xbc]
test eax, eax
jne case.0x4b3027.17
mov edx, dword [esi + ebx*4 + 8]
dec edx
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [eax + 8]
mov dword [ebp - 0xc4], edx
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx]
push dword [eax + 0x14]
push edx
mov eax, dword [ecx + 0x4c]
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
push dword [ebp - 0xd4]
call fcn.0047b870
mov ecx, dword [ebp - 0xd4]
add esp, 0x10
mov edx, dword [ebp - 0xc8]
mov byte [ecx + 0x62], 0
jmp 0x4b7114
mov eax, dword [esi + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [eax + 8]
mov dword [ebp - 0xc4], esi
mov edi, dword [esi]
mov dword [ebp - 0xc0], edi
mov edx, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0xbc], edx
cmp dword [edi + 0x34], 0
je 0x4b7102
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax + 0x24]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xac], ebx
mov eax, dword [ecx + eax*4 + 0xc]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa8], ecx
test edx, edx
jle 0x4ba3ea
nop dword [eax + eax]
movzx eax, word [ecx + 0x1c]
test al, 1
je 0x4ba37e
mov byte [ecx + 0x1e], 5
jmp 0x4ba39d
test al, 4
je 0x4ba388
mov byte [ecx + 0x1e], 1
jmp 0x4ba39d
test al, 8
je 0x4ba392
mov byte [ecx + 0x1e], 2
jmp 0x4ba39d
and al, 2
neg al
sbb al, al
add al, 4
mov byte [ecx + 0x1e], al
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa8]
inc eax
mov edx, dword [ebp - 0xbc]
add ecx, 0x28
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xb8], eax
cmp eax, edx
jl 0x4ba370
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [edi + 0x34]
push ebx
push edx
push esi
call eax
push dword [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
push dword [ebp - 0xd4]
call fcn.0047b870
mov edx, dword [ebp - 0xc8]
add esp, 0x18
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
test edx, edx
jne 0x4ba447
mov eax, dword [ebp - 0xe4]
cmp dword [esi + eax*4 + 4], edx
je 0x4ba447
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov ecx, dword [ebp - 0xd4]
inc dword [ecx + 0x6c]
jmp 0x4b7114
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx], eax
mov dword [edx + 4], 0
mov edx, dword [ebp - 0xcc]
inc edx
jmp 0x4b2f86
mov eax, dword [esi + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xd4]
test eax, eax
jne 0x4ba491
mov eax, dword [ecx + 0xbc]
mov dword [ebp - 0xc4], eax
test eax, eax
je case.0x4b3027.17
cmp dword [edi + 0x94], 0
je case.0x4b3027.17
push eax
push ecx
call fcn.004bae20
mov ecx, dword [edi + 0x94]
mov esi, eax
push esi
push dword [edi + 0x98]
call ecx
push esi
push edi
call fcn.00493460
add esp, 0x18
jmp 0x4b7108
mov edi, edx
mov edx, dword [ebp - 0xc8]
jmp 0x4b7114
mov edx, 9
jmp 0x4bab1d
mov edi, dword [ebp - 0xd8]
mov dword [edx + 0x58], ecx
mov al, byte [esi + ebx*4 + 8]
mov byte [edx + 0x38], al
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x54], edx
mov eax, dword [esi + ebx*4 + 0x10]
test eax, eax
je 0x4ba54a
push eax
push 0x7328c8
push edi
mov edi, dword [ebp - 0xd4]
lea eax, [edi + 0x5c]
push eax
call fcn.004ac730
push dword [esi + ebx*4 + 0x10]
push dword [edi + 0xbc]
push dword [ebp - 0xcc]
push str.abort_at__d_in___s_:__s
push dword [esi + ebx*4 + 4]
call fcn.004c2340
add esp, 0x24
jmp 0x4ba56c
test ecx, ecx
je 0x4ba56c
mov eax, dword [ebp - 0xd4]
push dword [eax + 0xbc]
push edx
push str.constraint_failed_at__d_in___s_
push dword [esi + ebx*4 + 4]
call fcn.004c2340
add esp, 0x10
push dword [ebp - 0xd4]
call fcn.004bb290
add esp, 4
cmp eax, 5
mov eax, dword [ebp - 0xd4]
jne 0x4ba592
mov esi, 5
mov dword [eax + 0x58], esi
jmp 0x4bab84
cmp dword [eax + 0x58], 0
mov esi, 0x65
mov ecx, 1
cmovne esi, ecx
jmp 0x4bab84
lea eax, [ebp - 0xb4]
push eax
call fcn.004bc6e0
add esp, 4
jmp 0x4baafc
mov edx, 0x14
mov dword [ebp - 0xc8], edx
jmp 0x4ba77e
push 0x735b6c
push 0xf309
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004c2340
mov ecx, dword [ebp - 0xcc]
mov edx, 0xb
add esp, 0x10
mov dword [ebp - 0xc8], edx
inc ecx
jmp 0x4bab29
mov eax, dword [ebp - 0xd4]
push str.cannot_open_savepoint___SQL_statements_in_progress
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov ecx, dword [ebp - 0xcc]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xc8], edx
inc ecx
jmp 0x4bab29
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x54], eax
mov esi, 5
mov eax, dword [ebp - 0xd4]
mov byte [edi + 0x1c], 0
mov dword [eax + 0x58], esi
jmp 0x4bab84
push str.foreign_key_constraint_failed
push eax
lea eax, [esi + 0x5c]
mov dword [esi + 0x58], 0x13
push eax
mov byte [esi + 0x38], 2
call fcn.004ac730
add esp, 0xc
mov esi, 1
jmp 0x4bab7e
push dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
add eax, 0x5c
push str.no_such_savepoint:__s
push edi
push eax
call fcn.004ac730
mov ecx, dword [ebp - 0xcc]
mov edx, 1
add esp, 0x10
mov dword [ebp - 0xc8], edx
inc ecx
jmp 0x4bab29
test ecx, ecx
je 0x4ba6e3
push edi
call fcn.004a9590
add esp, 4
mov byte [edi + 0x1c], 1
push edi
call fcn.00490ed0
mov eax, dword [ebp - 0xd4]
add esp, 4
mov esi, 0x65
mov ecx, 1
cmp dword [eax + 0x58], 0
cmovne esi, ecx
jmp 0x4bab84
push 1
push dword [ebp - 0xd4]
call fcn.004b2460
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bab7e
mov al, byte [ebp - 0xc4]
mov esi, dword [ebp - 0xd4]
push esi
mov byte [edi + 0x1c], al
call fcn.004bb290
add esp, 4
cmp eax, 5
jne 0x4ba6be
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x54], eax
mov al, 1
sub al, byte [ebp - 0xc4]
mov esi, 5
mov byte [edi + 0x1c], al
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x58], esi
jmp 0x4bab84
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x54], eax
mov esi, 5
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x58], esi
jmp 0x4bab84
push 0xf64e
call fcn.00491fe0
add esp, 4
mov edx, eax
mov dword [ebp - 0xc8], edx
mov edi, dword [ebp - 0xd8]
cmp byte [edi + 0x1e], 0
je 0x4ba7f4
mov edx, 7
mov dword [ebp - 0xc8], edx
jmp 0x4ba800
mov ecx, dword [ebp - 0xcc]
mov edx, 4
mov dword [ebp - 0xc8], edx
inc ecx
jmp 0x4bab29
mov edx, 0xd
jmp 0x4ba772
mov edx, 0xd
mov dword [ebp - 0xc8], edx
jmp 0x4ba77e
mov edi, dword [ebp - 0xd8]
lea eax, [ebp - 0x194]
push eax
call fcn.004bc6e0
push 0x735b6c
push 0xe24e
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.004c2340
mov edx, 0xb
add esp, 0x14
mov dword [ebp - 0xc8], edx
jmp 0x4ba77e
cmp edx, 0xc0a
je 0x4bab23
push edx
call fcn.00495440
push eax
mov eax, dword [ebp - 0xd4]
push 0x7328c8
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov edx, dword [ebp - 0xc8]
add esp, 0x14
jmp 0x4bab23
mov ecx, dword [ebp - 0xd4]
mov edx, 6
mov dword [ebp - 0xc8], edx
mov byte [ecx + 0x38], 2
mov ecx, dword [ebp - 0xcc]
inc ecx
jmp 0x4bab29
push edi
call fcn.0048f800
add esp, 4
jmp 0x4baafc
mov dword [ebp - 0xc0], 0
jmp 0x4baafc
mov dword [ebp - 0xb0], ecx
mov edi, ebx
jmp 0x4baafc
mov dword [ebp - 0xb0], 0
mov edi, ebx
jmp 0x4baafc
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x5c]
mov dword [ebp - 0xc8], 1
push edi
push eax
call fcn.004ac730
add esp, 0xc
mov edx, 1
inc dword [ebp - 0xcc]
jmp 0x4bab23
cmp dword [ebp - 0xbc], 5
mov ecx, str.out_of
mov edi, dword [ebp - 0xd8]
mov eax, str.into
cmovne eax, ecx
mov dword [ebp - 0xc8], 1
push eax
mov eax, dword [ebp - 0xd4]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x5c
push edi
push eax
call fcn.004ac730
add esp, 0x10
mov edx, 1
inc dword [ebp - 0xcc]
jmp 0x4bab23
mov edi, dword [ebp - 0xd8]
jmp 0x4ba909
mov edi, eax
mov eax, dword [ebp - 0xd4]
push str.string_or_blob_too_big
add eax, 0x5c
push edi
push eax
call fcn.004ac730
mov edx, 0x12
jmp 0x4bab1a
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0xcc], 0
jg 0x4baa77
jl 0x4ba94a
cmp dword [eax + 0xc8], 0
ja 0x4baa77
push 1
push eax
call fcn.004b24c0
mov edx, eax
add esp, 8
mov dword [ebp - 0xc8], edx
test edx, edx
je 0x4ba96d
mov ecx, dword [ebp - 0xcc]
inc ecx
jmp 0x4bab29
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x50]
add eax, 2
or eax, 1
mov dword [ecx + 0x50], eax
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x2c], edx
xor ecx, ecx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], ecx
cmp dword [esi + ebx*4 + 8], ecx
jle 0x4baa53
nop word [eax + eax]
lea eax, [ecx + ecx*4]
mov edi, 0x1000
test word [edx + eax*8 + 0x1c], di
lea eax, [edx + eax*8]
mov edi, dword [ebp - 0xd8]
je 0x4ba9e5
push eax
call fcn.004bc4b0
add esp, 4
test eax, eax
jne 0x4baafc
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
push eax
call fcn.004bc570
mov eax, dword [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 0xc4]
lea ecx, [eax + eax*4]
movzx eax, word [edx + ecx*8 + 0x1c]
test al, 1
je 0x4baa13
mov byte [edx + ecx*8 + 0x1e], 5
jmp 0x4baa35
test al, 4
je 0x4baa1e
mov byte [edx + ecx*8 + 0x1e], 1
jmp 0x4baa35
test al, 8
je 0x4baa29
mov byte [edx + ecx*8 + 0x1e], 2
jmp 0x4baa35
and al, 2
neg al
sbb al, al
add al, 4
mov byte [edx + ecx*8 + 0x1e], al
mov ecx, dword [ebp - 0xc0]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [esi + ebx*4 + 8]
jge 0x4baa53
mov edx, dword [ebp - 0xc4]
jmp 0x4ba9b0
cmp byte [edi + 0x1e], 0
jne 0x4baafc
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [esi + 0x54], eax
mov esi, 0x64
jmp 0x4bab7e
push str.foreign_key_constraint_failed
push dword [eax]
mov dword [eax + 0x58], 0x13
mov byte [eax + 0x38], 2
add eax, 0x5c
push eax
call fcn.004ac730
mov ecx, dword [ebp - 0xcc]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0xc8], edx
inc ecx
jmp 0x4bab29
mov ecx, dword [ebp - 0xd4]
mov eax, dword [str.interrupted]
test eax, eax
mov dword [ecx + 0x58], 9
mov ecx, str.unknown_error
cmovne ecx, eax
mov dword [ebp - 0xc8], 9
mov eax, dword [ebp - 0xd4]
push ecx
push 0x7328c8
add eax, 0x5c
push edi
push eax
call fcn.004ac730
add esp, 0x10
mov edx, 9
jmp 0x4bab23
mov edi, eax
jmp 0x4baafc
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
push str.out_of_memory
add eax, 0x5c
mov byte [edi + 0x1e], 1
push edi
push eax
call fcn.004ac730
mov edx, 7
add esp, 0xc
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd4]
push dword [eax + 0x5c]
mov dword [eax + 0x58], edx
push dword [eax + 0xbc]
push ecx
push str.statement_aborts_at__d:___s___s
push edx
call fcn.004c2340
push dword [ebp - 0xd4]
call fcn.004bb290
add esp, 0x18
cmp dword [ebp - 0xc8], 0xc0a
jne 0x4bab65
mov byte [edi + 0x1e], 1
cmp byte [ebp - 0xf1], 0
mov esi, 1
je 0x4bab7e
push 0
push edi
call fcn.004a8f20
add esp, 8
mov eax, dword [ebp - 0xd4]
sub eax, 0xffffff80
push eax
call fcn.0048fc40
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.006f4db8
mov esp, ebp
pop ebp
ret