Function at 0x4b8820
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x519008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x1dc], 0
xor cl, cl
mov dword [ebp - 0x1d4], esi
push edi
mov byte [ebp - 0x211], cl
mov ecx, esi
mov eax, dword [esi]
mov edi, dword [esi + 0x68]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1e0], edi
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x201], al
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x1cc], edi
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1e4], eax
call fcn.004c6cb0
mov ecx, dword [ebp - 0x1d0]
cmp dword [ecx + 0x148], 0
je 0x4b88b7
mov ebx, dword [ecx + 0x150]
xor edx, edx
mov eax, dword [esi + 0xb4]
div ebx
sub ebx, edx
jmp 0x4b88ba
or ebx, 0xffffffff
cmp dword [esi + 0x28], 7
mov dword [ebp - 0x21c], ebx
je 0x4bade7
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x78], 0
cmp dword [ecx + 0x110], 0
mov dword [ecx + 0x19c], 0
jne 0x4bf22a
mov eax, dword [esi + 0x24]
fldz
fstp qword [ebp - 0x248]
lea eax, [eax + eax*4]
lea edi, [edi + eax*4]
xor eax, eax
mov dl, byte [edi]
inc eax
movzx ebx, dl
mov dword [ebp - 0x1cc], edi
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1fd], dl
cmp ebx, 0xa8
ja case.0x4b892d.86
jmp dword [ebx*4 + 0x4bf330]
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
sub ecx, dword [ebp - 0x1e0]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x4bec2c
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e0]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, 0x80
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1cc]
mov edi, ecx
cmp dword [ecx + 8], 0
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e0]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x4b8992
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1e0]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*4]
mov dword [ebx + esi*8 + 4], edx
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x4bec50
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1d4]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x4bec64
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x4bec5e
mov eax, dword [edx + 4]
mov esi, edi
mov ecx, dword [ebp - 0x1d0]
dec dword [esi + 0xd0]
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, edx
call fcn.004c5e20
mov ebx, dword [esi + 0x68]
mov ecx, eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1e0], ebx
cmp dword [eax + 8], 4
jne 0x4b8b39
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + eax*4 + 8]
dec ecx
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x1e4], eax
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*4]
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4b8b8e
call fcn.004bf630
mov ecx, eax
jmp 0x4b8b97
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x4b8be8
mov ecx, edx
call fcn.004bf630
mov edx, eax
jmp 0x4b8bf1
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1d0]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4b8c42
call fcn.004bf630
mov ecx, eax
mov edi, dword [ebp - 0x1cc]
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0x10]
fld qword [eax]
mov eax, dword [ebp - 0x1d8]
fstp qword [ecx]
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x4b8c9a
mov ecx, esi
call fcn.004bf630
mov esi, eax
jmp 0x4b8ca3
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 0x10]
mov byte [eax], 0x48
test edx, edx
jne 0x4b8cb7
xor ecx, ecx
jmp 0x4b8cd5
mov ecx, edx
lea edi, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b8cc0
mov eax, dword [ebp - 0x1cc]
sub ecx, edi
and ecx, 0x3fffffff
mov bl, byte [ebp - 0x201]
mov dword [eax + 4], ecx
cmp bl, 1
je 0x4b8d6d
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.004c9130
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x1dc], edi
test edi, edi
jne 0x4befc8
test byte [esi + 8], 2
je 0x4b8d23
cmp byte [esi + 0xa], bl
je 0x4b8d23
mov dl, bl
mov ecx, esi
call fcn.004ea000
test eax, eax
jne 0x4baddb
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x4b8d57
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x4b8d57
mov ecx, dword [ebp - 0x1d0]
call fcn.004ed240
mov ecx, dword [ebp - 0x1cc]
mov byte [ecx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
cmp ecx, dword [eax + 0x6c]
jg 0x4befce
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4b8da6
call fcn.004bf630
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x201]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x4b8b4e
mov ebx, dword [ebp - 0x1e4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x4beaf0
cmp dword [ebx + esi*8 + 4], edx
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
jne 0x4b899f
mov eax, 0xa10
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x4b8e4d
mov ecx, edx
call fcn.004bf630
mov edx, eax
jmp 0x4b8e56
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebx + 4]
lea esi, [edx + 8]
mov edi, dword [ebx + 0xc]
neg eax
mov ecx, dword [ebx + 8]
sbb eax, eax
mov dword [edx + 0xc], 0
and eax, 0x100
sub edi, ecx
inc eax
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x4beaf0
mov eax, 0x2400
jmp 0x4b8e90
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x4b8ea6
lea ecx, [esi - 8]
call fcn.004c9de0
mov eax, 0x2400
dec edi
mov word [esi], bx
mov dword [esi + 4], 0
test edi, edi
jg 0x4b8e90
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, 0xff41
mov ebx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x4b8f3f
mov ecx, esi
call fcn.004bf630
mov esi, eax
jmp 0x4b8f48
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1cc]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.004c9130
mov al, byte [ebp - 0x201]
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.004c9530
test eax, eax
jne 0x4befce
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x4b8fd4
mov ecx, esi
call fcn.004c9de0
mov eax, dword [edi - 0x28]
mov ecx, 0xebff
mov dword [esi], eax
mov eax, dword [edi - 0x24]
mov dword [esi + 4], eax
mov eax, dword [edi - 0x20]
mov dword [esi + 8], eax
mov eax, dword [edi - 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [edi - 0x18]
mov edi, dword [ebp - 0x1cc]
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov ecx, dword [ebp - 0x1d0]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20c], esi
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
jmp 0x4b9060
mov eax, 0x2400
test word [ebx + 8], ax
jne 0x4b9071
cmp dword [ebx + 0x18], 0
je 0x4b9078
mov ecx, ebx
call fcn.004c9d50
mov ecx, 0xa
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x20c]
mov eax, 1
mov word [esi + 8], ax
mov eax, 0x1000
mov dword [esi + 0x18], 0
test word [ebx + 8], ax
je 0x4b90b1
mov ecx, ebx
call fcn.004ca0d0
test eax, eax
jne 0x4baddb
add esi, 0x28
add ebx, 0x28
sub dword [ebp - 0x1e8], 1
mov dword [ebp - 0x20c], esi
jne 0x4b9060
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.004c94a0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x4b9132
mov ecx, esi
call fcn.004ca0d0
test eax, eax
jne 0x4baddb
mov eax, ebx
dec ebx
test eax, eax
je 0x4beaf0
add esi, 0x28
add edi, 0x28
jmp 0x4b9107
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
push 0x1000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.004c94a0
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, 0x2400
test word [ecx + 8], bx
je 0x4b91db
push eax
push edx
call fcn.004c9710
mov ecx, dword [ebp - 0x1d0]
add esp, 8
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [ebp - 0x1cc]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
movzx ecx, word [ebx + 8]
mov dword [ebp - 0x1fc], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [edi + 8]
or al, cl
test al, 1
je 0x4b9298
mov eax, 0x2400
test word [esi + 8], ax
je 0x4b926f
mov ecx, esi
call fcn.004c9de0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov edi, dword [ebp - 0x1cc]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
test cl, 0x12
jne 0x4b92b1
mov dl, byte [ebp - 0x201]
mov ecx, ebx
push 0
call fcn.004c9fb0
add esp, 4
jmp 0x4b92c0
test ecx, 0x4000
je 0x4b92dd
mov ecx, ebx
call fcn.004ca070
test eax, eax
jne 0x4baddb
mov ax, word [ebx + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x1fc], eax
movzx edx, word [edi + 8]
mov dword [ebp - 0x1e8], edx
test dl, 0x12
jne 0x4b931d
mov dl, byte [ebp - 0x201]
mov ecx, edi
push 0
call fcn.004c9fb0
add esp, 4
test eax, eax
jne 0x4baddb
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x1e8], edx
jmp 0x4b9349
test edx, 0x4000
je 0x4b9349
mov ecx, edi
call fcn.004ca070
test eax, eax
jne 0x4baddb
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebx + 0xc]
add edx, dword [edi + 0xc]
mov dword [ebp - 0x1f4], edx
cmp edx, dword [eax + 0x6c]
jg 0x4befc8
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.004ca180
add esp, 4
test eax, eax
jne 0x4baddb
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x4b93b4
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.00407040
mov eax, dword [ebp - 0x1e8]
add esp, 0xc
mov word [edi + 8], ax
push dword [ebx + 0xc]
mov eax, dword [esi + 0x10]
push dword [ebx + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.00407040
mov ecx, dword [ebp - 0x1f4]
add esp, 0xc
mov eax, dword [ebp - 0x1fc]
mov word [ebx + 8], ax
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0x1cc]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 2], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x201]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x1d0]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x1f0], eax
call fcn.004bf650
movzx ebx, ax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
mov dword [ebp - 0x20c], esi
call fcn.004bf650
movzx ecx, ax
mov eax, dword [ebp - 0x1cc]
and cl, bl
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x1e8], eax
mov ax, word [esi + 8]
mov esi, dword [ebp - 0x1f0]
or ax, word [esi + 8]
movzx eax, ax
test cl, 4
je 0x4b9662
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x20c]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], edi
movzx eax, byte [eax]
add eax, 0xffffff9c
cmp eax, 3
ja case.default.0x4b94c7
jmp dword [eax*4 + 0x4bf5d4]
test esi, esi
jl 0x4b9544
jg 0x4b94d8
test edx, edx
jb 0x4b9544
test edi, edi
jl 0x4b9586
jg 0x4b94ea
test ebx, ebx
je 0x4b9586
or ecx, 0xffffffff
mov eax, bind
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x4b9586
jl 0x4b9508
cmp ecx, edx
jae 0x4b9586
mov esi, dword [ebp - 0x1f0]
mov ecx, esi
call fcn.004c9bb0
mov ebx, dword [ebp - 0x20c]
mov ecx, ebx
fstp qword [ebp - 0x1f8]
call fcn.004c9bb0
mov eax, dword [ebp - 0x1cc]
movzx eax, byte [eax]
add eax, 0xffffff9c
cmp eax, 3
ja case.default.0x4b953d
jmp dword [eax*4 + 0x4bf5e4]
test edi, edi
jg 0x4b9586
jl 0x4b954e
test ebx, ebx
jae 0x4b9586
mov eax, 1
mov ecx, bind
sub eax, ebx
mov dword [ebp - 0x1f4], eax
mov eax, edx
sbb ecx, edi
add eax, 1
mov dword [ebp - 0x1fc], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x4b9508
jl 0x4b9586
mov eax, dword [ebp - 0x1f4]
cmp eax, dword [ebp - 0x1fc]
ja 0x4b9508
add edx, ebx
mov dword [ebp - 0x28], edx
adc esi, edi
mov dword [ebp - 0x24], esi
jmp 0x4b961a
push esi
push edx
lea ecx, [ebp - 0x28]
call fcn.004e88e0
add esp, 8
test eax, eax
jne 0x4b9508
jmp 0x4b961a
push esi
push edx
lea ecx, [ebp - 0x28]
call fcn.004e87c0
add esp, 8
test eax, eax
jne 0x4b9508
jmp 0x4b961a
mov eax, edx
or eax, esi
je 0x4b9762
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x4b95e6
test ebx, ebx
jne 0x4b95e6
cmp edi, 0x80000000
je 0x4b9508
push esi
push edx
push edi
push ebx
call fcn.00421970
jmp 0x4b9614
mov eax, edx
or eax, esi
je 0x4b9762
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x4b960b
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.00421a90
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1e8]
mov edx, 0x3e40
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
test al, 1
jne 0x4b9762
jmp 0x4b950e
fadd qword [ebp - 0x1f8]
jmp 0x4b96f3
fsub qword [ebp - 0x1f8]
jmp 0x4b96f3
fmul qword [ebp - 0x1f8]
jmp 0x4b96f3
fld qword [ebp - 0x1f8]
fld qword [ebp - 0x248]
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x4b975e
fdivp st(1)
jmp 0x4b96f3
mov ecx, esi
fstp st(0)
call fcn.004c9c20
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.004c9c20
mov ecx, esi
mov dword [ebp - 0x28], eax
or ecx, edi
mov dword [ebp - 0x24], edx
je 0x4b9762
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4b96d8
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.00421a90
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
fild qword [ebp - 0x240]
fst qword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f4]
mov eax, ecx
and eax, 0x7ff00000
xor edx, edx
cmp eax, 0x7ff00000
jne 0x4b971f
mov eax, dword [ebp - 0x1f8]
and ecx, 0xfffff
or eax, ecx
jne 0x4b9760
mov ecx, dword [ebp - 0x1e8]
mov edx, 0x3e40
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov ax, word [ecx + 8]
and ax, dx
or ax, 8
movzx eax, ax
fstp qword [ecx]
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
fstp st(1)
fstp st(0)
mov eax, dword [ebp - 0x1e8]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x4b979a
mov ecx, eax
call fcn.004c9de0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [ebp - 0x1cc]
mov ecx, 1
mov esi, dword [ebp - 0x1d4]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 4]
test eax, eax
je 0x4bec50
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x2400
test word [eax + 8], dx
je 0x4b9807
push 0
push 0
mov ecx, eax
call fcn.004c9710
mov ecx, dword [ebp - 0x1d0]
add esp, 8
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x1e8], edx
test al, 1
je 0x4b98bd
mov eax, 0x2400
test word [edx + 8], ax
je 0x4b9894
mov ecx, edx
call fcn.004c9de0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
call fcn.004c9c20
mov ecx, esi
mov ebx, eax
mov edi, edx
call fcn.004c9c20
mov esi, eax
mov eax, dword [ebp - 0x1cc]
mov cl, byte [eax]
cmp cl, 0x60
jne 0x4b98e5
and ebx, esi
and edi, edx
jmp 0x4b99a2
cmp cl, 0x61
jne 0x4b98f3
or ebx, esi
or edi, edx
jmp 0x4b99a2
mov eax, esi
or eax, edx
je 0x4b99a2
test edx, edx
jg 0x4b992b
jl 0x4b9907
test esi, esi
jae 0x4b9920
mov al, 0xc5
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4b992b
jg 0x4b9919
cmp esi, 0xffffffc0
jbe 0x4b992b
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x4b9947
jg 0x4b992b
cmp esi, 0x40
jb 0x4b9947
test edi, edi
jg 0x4b9941
jl 0x4b9935
test ebx, ebx
jae 0x4b9941
cmp cl, 0x62
je 0x4b9941
or ebx, 0xffffffff
or edi, ebx
jmp 0x4b99a2
xor ebx, ebx
xor edi, edi
jmp 0x4b99a2
cmp cl, 0x62
mov eax, ebx
mov edx, edi
mov ecx, esi
jne 0x4b995d
call fcn.00421a50
mov ecx, eax
mov eax, edx
jmp 0x4b999e
call fcn.00421a70
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x20c], eax
test edi, edi
jg 0x4b999e
jl 0x4b997c
test ebx, ebx
jae 0x4b999e
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.00421a50
mov ecx, dword [ebp - 0x1f4]
or ecx, eax
mov eax, dword [ebp - 0x20c]
or eax, edx
mov ebx, ecx
mov edi, eax
mov ecx, dword [ebp - 0x1e8]
mov edx, 0x3e40
mov esi, dword [ebp - 0x1d4]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], edi
mov edi, dword [ebp - 0x1cc]
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004c9c20
mov edi, dword [ebp - 0x1cc]
mov ecx, 0x3e40
mov dword [esi], eax
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x1d0]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x1d8]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x4b9b78
push dword [ebp - 0x201]
mov dl, 0x43
mov ecx, esi
call fcn.004bf7b0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x4b9b78
mov ecx, dword [ebp - 0x1cc]
cmp dword [ecx + 8], 0
jne 0x4bec2c
mov edx, 0x14
mov dword [ebp - 0x1dc], edx
mov ebx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
cmp byte [ecx + 0x51], 0
je 0x4b9acc
mov edx, 7
mov dword [ebp - 0x1dc], edx
cmp dword [edi + 0x7c], 0
jne 0x4b9afc
cmp edx, 0xc0a
je 0x4b9afc
mov ecx, edx
call fcn.0045c1c0
push eax
push 0x504fc8
push edi
call fcn.004c8590
mov ecx, dword [ebp - 0x1d0]
add esp, 0xc
mov edx, dword [ebp - 0x1dc]
mov dword [edi + 0x28], edx
call fcn.004e9c90
push dword [edi + 0x7c]
mov ecx, esi
mov eax, 0x66666667
push dword [edi + 0xc0]
sub ecx, ebx
mov ebx, dword [ebp - 0x1dc]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.004ea8d0
add esp, 0x14
mov ecx, edi
call fcn.004c4f40
cmp ebx, 0xc0a
jne 0x4b9b51
mov ecx, dword [ebp - 0x1d0]
call fcn.004eca40
mov al, byte [ebp - 0x211]
mov ebx, 1
test al, al
je 0x4bf2a4
mov ecx, dword [ebp - 0x1d0]
movzx edx, al
dec edx
call fcn.004a14c0
jmp 0x4bf2a4
mov edi, dword [ebp - 0x1cc]
and ecx, 0x3e40
mov eax, dword [ebp - 0x1d8]
or ecx, 4
mov word [esi + 8], cx
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 0x24
lea esi, [edx + eax*8]
je 0x4bec4a
mov ecx, esi
call fcn.004c9bb0
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
mov ecx, dword [ebp - 0x1d0]
or ax, 8
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1d8]
fstp qword [esi]
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4b9c1f
mov ecx, esi
call fcn.004ca070
jmp 0x4b9c21
xor eax, eax
push dword [ebp - 0x201]
mov dword [ebp - 0x1dc], eax
mov ecx, esi
mov eax, dword [ebp - 0x1cc]
mov dl, byte [eax + 8]
call fcn.004c97f0
mov edx, dword [ebp - 0x1dc]
add esp, 4
test edx, edx
jne 0x4bf27b
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
movzx esi, word [edx + eax*8 + 8]
lea edi, [edx + eax*8]
movzx eax, word [ebx + 8]
mov ecx, esi
mov edx, ecx
mov dword [ebp - 0x1ec], eax
or edx, eax
mov dword [ebp - 0x1f0], ecx
mov eax, dword [ebp - 0x1cc]
test dl, 1
je 0x4b9d6c
movzx eax, word [eax + 2]
test al, al
jns 0x4b9cee
mov al, byte [ebp - 0x1f0]
and al, byte [ebp - 0x1ec]
test al, 1
je 0x4b9cdd
test ecx, 0x100
jne 0x4b9cdd
xor ecx, ecx
jmp 0x4b9e95
not ecx
and ecx, 1
lea ecx, [ecx*2 - 1]
jmp 0x4b9e95
test al, 0x20
je 0x4b9d44
mov eax, dword [ebp - 0x1cc]
mov edx, 0x3e40
mov ebx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x220], 1
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
test al, 0x10
jne 0x4bec2c
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x4b9e04
mov ecx, esi
test dl, 2
je 0x4b9dbf
mov al, byte [ebp - 0x1ec]
and al, 0x2e
cmp al, 2
jne 0x4b9d9f
xor edx, edx
mov ecx, ebx
call fcn.004bf820
movzx eax, word [edi + 8]
mov dword [ebp - 0x1f0], eax
mov al, byte [ebp - 0x1f0]
movzx ecx, word [ebp - 0x1f0]
and al, 0x2e
cmp al, 2
jne 0x4b9dbf
xor edx, edx
mov ecx, edi
call fcn.004bf820
movzx ecx, word [edi + 8]
mov al, byte [ebx + 8]
and al, cl
test al, 4
je 0x4b9e7e
mov esi, dword [edi + 4]
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
mov eax, dword [ebx]
cmp esi, edx
jl 0x4b9dfc
jg 0x4b9de0
cmp ecx, eax
jbe 0x4b9dea
mov ecx, 1
jmp 0x4b9e95
cmp esi, edx
jg 0x4b9cd6
jl 0x4b9dfc
cmp ecx, eax
jae 0x4b9cd6
or ecx, 0xffffffff
jmp 0x4b9e95
cmp al, 0x42
jne 0x4b9e7e
mov al, byte [ebp - 0x1ec]
test al, 2
jne 0x4b9e44
test al, 0x2c
je 0x4b9e44
mov dl, byte [ebp - 0x201]
mov ecx, ebx
push 1
call fcn.004c9fb0
mov ax, word [ebx + 8]
mov esi, 0x3e40
xor ax, word [ebp - 0x1ec]
add esp, 4
and ax, si
xor word [ebp - 0x1ec], ax
jmp 0x4b9e49
mov esi, 0x3e40
mov al, byte [ebp - 0x1f0]
test al, 2
jne 0x4b9e7e
test al, 0x2c
je 0x4b9e7e
mov dl, byte [ebp - 0x201]
mov ecx, edi
push 1
call fcn.004c9fb0
mov ax, word [edi + 8]
add esp, 4
xor ax, word [ebp - 0x1f0]
and ax, si
xor word [ebp - 0x1f0], ax
mov eax, dword [ebp - 0x1cc]
mov edx, ebx
mov ecx, edi
push dword [eax + 0x10]
call fcn.004c3b60
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x1cc]
movzx eax, byte [eax]
test ecx, ecx
jns 0x4b9eaa
mov al, byte [eax + 0x50a3b4]
jmp 0x4b9eba
jne 0x4b9eb4
mov al, byte [eax + 0x506a38]
jmp 0x4b9eba
mov al, byte [eax + 0x505d20]
movzx edx, al
movzx eax, word [ebp - 0x1ec]
mov word [ebx + 8], ax
movzx eax, word [ebp - 0x1f0]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
test al, 0x20
je 0x4b9f53
mov dword [ebp - 0x220], ecx
test al, 8
je 0x4b9f01
mov ecx, dword [ebp - 0x1cc]
xor eax, eax
cmp byte [ecx], 0x35
sete al
cmp eax, edx
je 0x4beaf0
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [eax + 8]
mov eax, 0x3e40
lea esi, [ecx + ecx*4]
mov cx, word [ebx + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [ebx + esi*8 + 8], cx
mov ecx, dword [ebp - 0x1d0]
mov dword [ebx + esi*8], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [ebp - 0x1cc]
test edx, edx
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
cmp dword [ebp - 0x220], 0
jne 0x4bec38
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
test byte [ecx + 2], 1
jne 0x4b9fa0
xor ebx, ebx
jmp 0x4b9fa6
mov ebx, dword [ecx - 4]
add ebx, 4
mov eax, dword [ecx + 0xc]
mov esi, dword [ebp - 0x1cc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x20c], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x1f4], ecx
test eax, eax
jle 0x4b8a7a
lea edi, [edx + 0x14]
lea ecx, [ecx]
test ebx, ebx
je 0x4b9fe9
mov ecx, dword [ebx + esi*4]
jmp 0x4b9feb
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x1e4]
push dword [edi]
mov al, byte [esi + eax]
mov byte [ebp - 0x1fd], al
mov eax, dword [ebp - 0x1f4]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x20c]
add eax, ecx
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004c3b60
mov edx, eax
add esp, 4
mov dword [ebp - 0x220], edx
test edx, edx
jne 0x4ba067
mov edx, dword [ebp - 0x1fc]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x1e8]
jl 0x4b9fe0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
cmp byte [ebp - 0x1fd], 0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
je 0x4bec50
mov eax, dword [ebp - 0x1d8]
neg edx
mov dword [ebp - 0x220], edx
add edi, 0x14
jmp 0x4b8909
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x1cc]
test eax, eax
jns 0x4ba0cc
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
jne 0x4ba0ee
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov edx, 2
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004c9b70
mov ecx, dword [ebx + 8]
mov edx, 2
mov ebx, dword [ebp - 0x1e4]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.004c9b70
mov ecx, dword [ebp - 0x1cc]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x4ba15f
mov dl, byte [esi + eax + 0x507258]
jmp 0x4ba166
mov dl, byte [esi + eax + 0x506e24]
mov eax, dword [ecx + 0xc]
mov esi, 0x3e40
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, si
movzx esi, ax
cmp dl, 2
jne 0x4ba1ad
mov edi, dword [ebp - 0x1cc]
mov eax, 1
or eax, esi
mov esi, dword [ebp - 0x1d4]
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [ebp - 0x1cc]
movzx eax, dl
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
or eax, esi
mov dword [ebx + ecx*8 + 4], edx
mov esi, dword [ebp - 0x1d4]
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.004c9b70
mov ecx, dword [ebp - 0x1cc]
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov ebx, 0x2400
test word [ecx + 8], bx
je 0x4ba243
push edx
push eax
call fcn.004c9710
mov ecx, dword [ebp - 0x1d0]
add esp, 8
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [ebp - 0x1cc]
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jne 0x4ba30c
xor edx, edx
call fcn.004c9b70
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x4ba2da
push 0
push eax
mov ecx, esi
call fcn.004c9710
mov ecx, dword [ebp - 0x1d0]
add esp, 8
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov dword [esi], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov eax, 0x2400
test word [esi + 8], ax
jne 0x4b9248
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov edi, dword [ebp - 0x1cc]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x4ba37e
mov ecx, esi
call fcn.004c9de0
mov ecx, dword [ebp - 0x1d0]
jmp 0x4ba387
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4beaf6
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.004c9c20
mov ecx, dword [ebp - 0x1d0]
not eax
mov edi, dword [ebp - 0x1cc]
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [esi + 0xc8]
test edi, edi
je 0x4ba441
mov ecx, dword [ebp - 0x1cc]
mov eax, 0x66666667
sub ecx, dword [esi + 0x68]
mov edi, dword [edi + 0x18]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x4bec2c
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1cc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [esi + 0x68]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x4bec32
mov ecx, edi
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004c9b70
mov edi, dword [ebp - 0x1cc]
test eax, eax
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x1e4]
sete dl
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004c9b70
mov edi, dword [ebp - 0x1cc]
test eax, eax
je 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
jne 0x4bec38
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x4bec38
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x4b8b4e
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x4ba581
mov ecx, eax
call fcn.004c9de0
jmp 0x4bec2c
mov ecx, 1
mov word [eax + 8], cx
jmp 0x4bec2c
mov edx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
mov eax, dword [edx + 8]
lea edx, [ebp - 0xac]
mov dword [ebp - 0xac], eax
call fcn.004c4810
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x20c], ebx
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x48]
mov dword [ebp - 0x1ec], edi
cmp eax, dword [esi + 0x20]
je 0x4ba769
cmp byte [ecx + 2], dl
je 0x4ba69e
cmp byte [ecx], 3
jne 0x4ba64f
mov eax, dword [ecx + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + edx*8 + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + edx*8 + 0x10]
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0xa4]
jmp 0x4ba6eb
mov eax, 0x2400
test word [ebx + 8], ax
je 0x4ba67b
mov ecx, ebx
call fcn.004c9de0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov edi, dword [ebp - 0x1cc]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.004d2bf0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0xa4]
lea edx, [edx + 0x54]
call fcn.004d2570
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x4befce
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4ba709
movzx eax, al
mov dword [edi], eax
mov al, 1
jmp 0x4ba710
mov edx, edi
call fcn.004e8bb0
movzx ecx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xa4]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0xa4]
mov edx, dword [edi]
cmp dword [ecx + 0x54], edx
jae 0x4ba871
mov dword [ecx + 0x4c], 0
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x54], 0
mov eax, dword [edi]
cmp eax, 0x18003
ja 0x4ba9c2
mov ecx, dword [ebp - 0xa4]
cmp eax, dword [ecx + 0x50]
ja 0x4ba9c2
movzx eax, word [ecx + 0x3a]
mov esi, dword [ebp - 0xac]
cmp eax, esi
jg 0x4baa89
mov edx, dword [edi]
cmp dword [ecx + 0x30], edx
jae 0x4ba9fc
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x218], eax
test eax, eax
jne 0x4ba809
mov dword [ebp - 0xd8], eax
xor edx, edx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xd8]
mov ecx, dword [ecx + 0x28]
push eax
push dword [edi]
call fcn.004c8fe0
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0xc8]
mov edx, dword [edi]
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x218], eax
movzx edi, word [ecx + 0x3a]
mov eax, dword [ebp - 0x1ec]
mov esi, dword [ecx + 0x30]
add esi, dword [ebp - 0x218]
mov dword [ebp - 0x1e8], edi
mov ebx, dword [eax + edi*4]
xor eax, eax
add edx, dword [ebp - 0x218]
lea edi, [edi*4 + 0x58]
mov dword [ebp - 0x1fc], edx
lea ebx, [ebx]
mov dword [ebp - 0x224], eax
movzx eax, byte [esi]
mov dword [ebp - 0xa8], eax
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0x80
jae 0x4ba876
movzx eax, al
mov ecx, 1
movzx eax, byte [eax + 0x5072e0]
cdq
jmp 0x4ba8be
mov eax, dword [ecx + 0x4c]
jmp 0x4ba803
lea edx, [ebp - 0xa8]
mov ecx, esi
call fcn.004e8bb0
mov ecx, dword [ebp - 0xa8]
movzx eax, al
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0xa4]
mov dword [eax + edi], ecx
mov eax, dword [ebp - 0xa8]
cmp eax, 0x80
jb 0x4ba8af
add eax, 0xfffffff4
shr eax, 1
jmp 0x4ba8b6
movzx eax, byte [eax + 0x5072e0]
mov ecx, dword [ebp - 0x1f4]
xor edx, edx
add ebx, eax
mov eax, dword [ebp - 0x224]
adc eax, edx
mov edx, dword [ebp - 0x1e8]
add esi, ecx
add edi, 4
mov ecx, dword [ebp - 0x1ec]
inc edx
mov dword [ebp - 0x1e8], edx
mov dword [ecx + edi - 0x58], ebx
mov ecx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 0xac]
jg 0x4ba906
cmp esi, dword [ebp - 0x1fc]
jb 0x4ba840
mov edi, dword [ebp - 0x1fc]
jmp 0x4ba910
mov edi, dword [ebp - 0x1fc]
cmp esi, edi
jb 0x4ba91d
cmp esi, edi
ja 0x4ba928
cmp ebx, dword [ecx + 0x50]
jne 0x4ba928
test eax, eax
jne 0x4ba928
test eax, eax
jb 0x4ba937
ja 0x4ba928
cmp ebx, dword [ecx + 0x50]
jbe 0x4ba937
mov eax, dword [ebp - 0x1ec]
cmp dword [eax], 0
jne 0x4ba996
xor edx, edx
mov esi, edi
sub esi, dword [ebp - 0x218]
mov word [ecx + 0x3a], dx
mov eax, dword [ebp - 0xa4]
mov dword [eax + 0x30], esi
mov ecx, dword [ebp - 0xa4]
cmp dword [ecx + 0x4c], 0
jne 0x4ba97c
test dword [ebp - 0xd0], 0x2400
jne 0x4ba96b
cmp dword [ebp - 0xc0], 0
je 0x4ba97c
lea ecx, [ebp - 0xd8]
call fcn.004c9d50
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x1ec]
jmp 0x4baa04
cmp dword [ecx + 0x4c], 0
jne 0x4ba9bc
test dword [ebp - 0xd0], 0x2400
jne 0x4ba9b1
cmp dword [ebp - 0xc0], 0
je 0x4ba9bc
lea ecx, [ebp - 0xd8]
call fcn.004c9d50
mov esi, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0x1e0]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4bed35
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [ebx + eax*4]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
add edi, 0x14
jmp 0x4b8909
xor edx, edx
mov dword [ebp - 0xa8], edx
movzx eax, word [ecx + 0x3a]
cmp eax, esi
jg 0x4baa93
mov ecx, dword [ebp - 0x1cc]
cmp byte [ecx + 1], 0xf5
jne 0x4baa4e
mov edx, dword [ecx + 0x10]
mov ecx, ebx
push 0x800
call fcn.004c94a0
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, 0x2400
test word [ebx + 8], ax
je 0x4baa60
mov ecx, ebx
jmp 0x4b924a
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ecx + esi*4 + 0x58]
mov dword [ebp - 0xa8], edx
mov eax, 0x2400
test word [ebx + 8], ax
je 0x4baab7
mov ecx, ebx
call fcn.004c9de0
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x54]
cmp eax, dword [edi + esi*4 + 4]
jb 0x4bab90
mov eax, dword [ebp - 0x1ec]
mov edi, dword [ecx + 0x4c]
add edi, dword [eax + esi*4]
cmp edx, 0xc
jae 0x4bab00
push ebx
mov ecx, edi
call fcn.004c4240
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov al, byte [ebp - 0x201]
lea esi, [edx - 0xc]
shr esi, 1
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], al
lea edx, [esi + 2]
cmp dword [ebx + 0x18], edx
jge 0x4bab3b
mov eax, 1
mov ecx, ebx
push 0
mov word [ebx + 8], ax
call fcn.004ca180
add esp, 4
test eax, eax
jne 0x4baddb
mov eax, dword [ebx + 0x10]
jmp 0x4bab41
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0x10], eax
push esi
push edi
push eax
call fcn.00407040
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x1d4]
and eax, 1
mov ax, word [eax*2 + 0x5078e8]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov al, byte [ebp - 0x201]
mov byte [ebx + 0xa], al
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0xa8]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x4babbb
cmp edx, 0xc
jb 0x4babb7
test dl, 1
je 0x4babd5
test al, al
js 0x4babd5
cmp edx, 0x80
jb 0x4babca
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x4babd1
movzx eax, byte [edx + 0x5072e0]
test eax, eax
jne 0x4bac03
push ebx
mov ecx, 0x51e90c
call fcn.004c4240
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
push ebx
push eax
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + 0x28]
call fcn.004c8fe0
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebx + 0x10]
push ebx
call fcn.004c4240
mov ecx, dword [ebp - 0x1d0]
mov eax, 0xefff
mov edi, dword [ebp - 0x1cc]
add esp, 4
and word [ebx + 8], ax
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [edi]
push dword [ebp - 0x201]
mov dl, al
mov ecx, esi
call fcn.004bf7b0
add esp, 4
cmp byte [edi], 0x45
jne 0x4bacaf
movzx eax, word [esi + 8]
test al, 4
je 0x4bacaf
and eax, 0xfffb
or eax, 0x20
mov word [esi + 8], ax
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4beaf0
add esi, 0x28
jmp 0x4bac84
mov edx, dword [ebp - 0x1cc]
xor eax, eax
mov ecx, dword [ebp - 0x1e4]
xor esi, esi
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x224], eax
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x1fc], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x1ec], esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1e8], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x20c], ebx
mov ebx, dword [ebp - 0x1e4]
movzx edx, byte [eax + 0x93]
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1f4], edx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov ebx, dword [ebp - 0x20c]
mov dword [ebp - 0x218], eax
test edi, edi
je 0x4bad97
mov al, byte [edi]
lea esi, [ecx + 8]
mov ebx, dword [ebp - 0x201]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.004bf7b0
add esp, 4
cmp byte [edi], 0x45
jne 0x4bad7a
movzx eax, word [esi]
test al, 4
je 0x4bad7a
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x4bad55
mov esi, dword [ebp - 0x228]
mov edx, dword [ebp - 0x1f4]
mov ebx, dword [ebp - 0x20c]
mov edi, ebx
lea esp, [esp]
lea eax, [ebp - 0x3c]
mov ecx, edi
push eax
call fcn.004c4670
mov ebx, eax
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x4bae18
test ebx, ebx
jne 0x4badc6
mov ebx, 0xa
jmp 0x4bae18
mov eax, esi
or eax, dword [ebp - 0x1ec]
je 0x4bae04
mov ecx, edi
call fcn.004ca070
test eax, eax
je 0x4bae18
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
call fcn.004eca40
push 0x504fdc
push esi
call fcn.004c8590
add esp, 8
mov edx, 7
jmp 0x4b9a9d
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [ebp - 0x224], eax
adc dword [ebp - 0x1fc], edx
sub dword [ebp - 0x3c], ecx
add esi, dword [ebp - 0x3c]
mov dword [ebp - 0x228], esi
mov esi, 1
adc dword [ebp - 0x1ec], 0
cmp ebx, 0x7f
jbe 0x4bae4e
mov edx, ebx
xor ecx, ecx
shr edx, 7
mov eax, edx
or eax, ecx
je 0x4bae4e
nop
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x4bae40
mov eax, dword [ebp - 0x1f0]
add eax, esi
mov dword [edi + 0x1c], ebx
mov dword [ebp - 0x1f0], eax
cmp edi, dword [ebp - 0x1e8]
je 0x4bae7b
mov esi, dword [ebp - 0x228]
sub edi, 0x28
mov edx, dword [ebp - 0x1f4]
jmp 0x4bada0
cmp eax, 0x7e
jle 0x4baede
cdq
mov ebx, 1
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4baea3
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4bae95
mov eax, dword [ebp - 0x1f0]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x1f0], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4baed4
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4baec6
mov eax, dword [ebp - 0x1f0]
cmp ebx, edi
jge 0x4baee5
inc eax
mov dword [ebp - 0x1f0], eax
mov edi, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
cdq
add edi, eax
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1ec]
mov ebx, edx
mov esi, dword [esi + 0x18]
adc eax, ebx
mov ecx, edi
add ecx, dword [ebp - 0x224]
adc eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x1ec], eax
mov eax, esi
cdq
cmp dword [ebp - 0x1ec], edx
jg 0x4baf3a
jl 0x4baf2c
cmp ecx, eax
ja 0x4baf3a
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 0x14]
mov dword [edx + 0x10], eax
jmp 0x4baf93
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x6c]
cdq
cmp dword [ebp - 0x1ec], edx
jg 0x4befc8
jl 0x4baf5a
cmp ecx, eax
ja 0x4befc8
cmp esi, edi
jge 0x4baf78
mov ecx, dword [ebp - 0x218]
mov edx, edi
push 0
call fcn.004ca180
mov edx, dword [ebp - 0x218]
add esp, 4
jmp 0x4baf8b
mov edx, dword [ebp - 0x218]
mov eax, dword [edx + 0x14]
and word [edx + 8], 0x2d
mov dword [edx + 0x10], eax
xor eax, eax
test eax, eax
jne 0x4baddb
mov ecx, dword [ebp - 0x224]
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x1fc]
mov dword [edx + 0xc], edi
je 0x4bafba
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1f0]
mov esi, dword [edx + 0x10]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x4bafd6
mov byte [esi], al
mov eax, 1
jmp 0x4bafe7
push ebx
push dword [ebp - 0x1f4]
mov ecx, esi
call fcn.004e8df0
add esp, 8
mov ebx, dword [ebp - 0x1e8]
movzx eax, al
add esi, eax
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x4bb006
mov byte [esi], bl
mov eax, 1
jmp 0x4bb013
push 0
push ebx
mov ecx, esi
call fcn.004e8df0
add esp, 8
push ebx
mov ebx, dword [ebp - 0x1e8]
mov ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.004c45e0
add ebx, 0x28
add esp, 4
add edi, eax
mov dword [ebp - 0x1e8], ebx
cmp ebx, dword [ebp - 0x20c]
jbe 0x4baff2
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
lea edx, [ebp - 0x80]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
call fcn.004cc880
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4bb0bc
call fcn.004bf630
mov ecx, eax
jmp 0x4bb0c5
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x1cc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1f4], edi
test eax, eax
jne 0x4bb1fd
cmp dword [ecx + 0xb4], eax
jg 0x4bed63
test edi, edi
jne 0x4bb11e
xor esi, esi
jmp 0x4bb138
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4bb123
sub esi, ecx
mov ecx, dword [ebp - 0x1d0]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1d0]
xor edx, edx
add eax, dword [ecx + 0x1cc]
push eax
call fcn.00475b80
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
lea eax, [esi + 0x21]
push edx
push eax
call fcn.004ece50
mov edi, eax
add esp, 8
test edi, edi
je 0x4beaf0
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x1f4]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.00407040
mov ecx, dword [ebp - 0x1d0]
add esp, 0xc
cmp byte [ecx + 0x4f], 0
je 0x4bb1aa
mov byte [ecx + 0x4f], 0
mov byte [ecx + 0x57], 1
jmp 0x4bb1b0
inc dword [ecx + 0x1cc]
mov eax, dword [ecx + 0x1c4]
mov esi, dword [ebp - 0x1d4]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x1d8]
mov dword [ecx + 0x1c4], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x1dc]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x1e0]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x1e4]
mov dword [edi + 0x14], eax
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov esi, dword [ecx + 0x1c4]
xor ebx, ebx
test esi, esi
je 0x4bb225
lea esp, [esp]
mov ecx, dword [esi]
mov edx, edi
call fcn.004e99b0
test eax, eax
je 0x4bb250
mov esi, dword [esi + 0x18]
inc ebx
test esi, esi
jne 0x4bb210
push edi
mov edi, dword [ebp - 0x1d4]
push str.no_such_savepoint:__s
push edi
call fcn.004c8590
mov ebx, dword [ebp - 0x1e0]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0x1dc], edx
jmp 0x4b9aaf
mov edx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1ec]
cmp dword [edx + 0xb4], 0
jle 0x4bb26e
cmp edi, 1
je 0x4bed7b
cmp dword [esi + 0x18], 0
jne 0x4bb2e0
cmp byte [edx + 0x57], 0
je 0x4bb2e0
mov dword [ebp - 0x1fc], 1
cmp edi, 1
jne 0x4bb2ea
mov ecx, dword [ebp - 0x1d4]
mov edx, edi
call fcn.004c52a0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x4bf292
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1d4]
mov byte [eax + 0x4f], 1
call fcn.004c4f40
cmp eax, 5
je 0x4beda5
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d4]
mov byte [ecx + 0x57], 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1dc], eax
jmp 0x4bb416
mov dword [ebp - 0x1fc], 0
mov ecx, dword [edx + 0x1cc]
mov eax, dword [edx + 0x14]
sub ecx, ebx
dec ecx
mov dword [ebp - 0x1e8], ecx
cmp edi, 2
jne 0x4bb370
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0x20c], edx
test eax, eax
jle 0x4bb378
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x1f4], ecx
mov eax, dword [ebp - 0x1d0]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.004d31a0
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x1d0]
inc ebx
mov ecx, dword [ebp - 0x1f4]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x4bb320
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x20c]
jmp 0x4bb378
xor edx, edx
mov dword [ebp - 0x20c], edx
xor ebx, ebx
test eax, eax
jle 0x4bb3c7
xor edi, edi
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1ec]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.004d2ef0
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
inc ebx
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x1e8]
jl 0x4bb380
mov edx, dword [ebp - 0x20c]
test edx, edx
je 0x4bb404
mov ebx, dword [ebp - 0x1d0]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x4bb3f9
jmp 0x4bb3e0
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x4bb3e0
mov ecx, ebx
call fcn.004a1440
or dword [ebx + 0x18], 1
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x1e8]
mov ecx, dword [ecx + 0x1c4]
cmp ecx, esi
je 0x4bb44e
mov edi, dword [ebp - 0x1d0]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1c4], eax
call fcn.004ed240
mov ecx, dword [edi + 0x1c4]
dec dword [edi + 0x1cc]
cmp ecx, esi
jne 0x4bb426
mov edi, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1d0]
cmp edi, 1
jne 0x4bb4b9
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1c4], eax
call fcn.004ed240
cmp dword [ebp - 0x1fc], 0
mov ecx, dword [ebp - 0x1d0]
jne 0x4bb4eb
dec dword [ecx + 0x1cc]
push ebx
mov edx, edi
call fcn.00475b80
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
cmp dword [ebp - 0x1fc], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1d8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1dc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1e0], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1e4], eax
je 0x4bb47e
cmp edi, 2
je 0x4bb47e
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov dword [ebp - 0x40], 0
mov edx, dword [ebx + 8]
test edx, edx
je 0x4bb538
mov eax, dword [ecx + 0x20]
and eax, 0x100000
or eax, 0
jne 0x4bede4
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4bb626
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.004d4060
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4bedee
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1d0]
cmp dword [ecx + 8], eax
je 0x4bb632
mov ebx, dword [ebp - 0x1d4]
test byte [ebx + 0x98], 0x80
je 0x4bb63a
cmp byte [edx + 0x4f], al
je 0x4bb5aa
cmp dword [edx + 0xb0], 1
jle 0x4bb63a
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x4bb5c6
mov eax, dword [edx + 0x1cc]
inc dword [edx + 0x1d0]
add eax, dword [edx + 0x1d0]
mov dword [ebx + 0x30], eax
mov ecx, dword [ebp - 0x1d0]
dec eax
push eax
xor edx, edx
call fcn.00475b80
add esp, 4
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x4bb5f2
mov edx, dword [ebx + 0x30]
mov ecx, esi
call fcn.004d2fc0
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0x1d0]
mov esi, ebx
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x1d8]
mov dword [esi + 0x48], eax
mov eax, dword [edx + 0x1dc]
mov dword [esi + 0x4c], eax
mov eax, dword [edx + 0x1e0]
mov dword [esi + 0x50], eax
mov eax, dword [edx + 0x1e4]
mov dword [esi + 0x54], eax
jmp 0x4bb63c
mov edx, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
jmp 0x4bb63c
mov esi, ebx
cmp word [ecx + 2], 0
je 0x4bb66d
mov eax, dword [ebp - 0x40]
cmp eax, dword [ecx + 0xc]
jne 0x4bee2d
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x4bee2d
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 0x8c]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004cca40
mov eax, dword [ebp - 0x1cc]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4bb703
call fcn.004bf630
mov edi, dword [ebp - 0x1cc]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov edi, dword [ebp - 0x1cc]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x8c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.004cc990
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1dc], edx
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x4bb782
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d0]
or dword [eax + 0x18], 1
jmp 0x4bb79c
cmp eax, 2
jne 0x4bb796
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
cmp dword [ecx + 4], 1
jne 0x4bb7d8
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4bb7c9
nop
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x4bb7b0
mov esi, dword [ebp - 0x1d4]
and dword [esi + 0x98], 0xfffffffc
jmp 0x4bb7de
mov esi, dword [ebp - 0x1d4]
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4bb81f
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x4bb962
mov esi, dword [ebp - 0x1d4]
mov eax, dword [esi + 0x98]
and al, 3
cmp al, 1
je 0x4beec4
mov eax, dword [ebp - 0x1cc]
xor ebx, ebx
mov edi, dword [ebp - 0x1d0]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x20c], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x1fc], edi
cmp dl, 0x6d
jne 0x4bb897
mov edx, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
movzx edi, word [edx + 2]
mov edx, dword [ebp - 0x1d4]
and edi, 8
mov al, byte [eax + 0x4c]
or edi, 4
cmp al, byte [edx + 0x93]
jae 0x4bb899
mov byte [edx + 0x93], al
jmp 0x4bb899
xor edi, edi
mov eax, dword [ebp - 0x1cc]
test byte [eax + 2], 0x10
je 0x4bb8df
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1e4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004c9c20
mov dword [esi], eax
mov ecx, 0x3e40
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1cc]
mov al, byte [ecx + 1]
cmp al, 0xf7
jne 0x4bb8f5
mov ebx, dword [ecx + 0x10]
movzx eax, word [ebx + 8]
jmp 0x4bb900
cmp al, 0xfd
jne 0x4bb8fe
mov eax, dword [ecx + 0x10]
jmp 0x4bb900
mov eax, ebx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1d4]
push 0
push esi
push eax
call fcn.004bf970
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4baddb
push dword [esi + 0x28]
mov eax, dword [ebp - 0x1f4]
mov edx, eax
mov ecx, dword [ebp - 0x1fc]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.004d2d20
mov edx, eax
mov dword [esi + 0x2c], ebx
mov eax, dword [ebp - 0x1cc]
add esp, 0xc
mov dword [ebp - 0x1dc], edx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
jmp 0x4bb968
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1cc]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, esi
movsx eax, word [ebx + 0x38]
push eax
call fcn.004bf970
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4bf263
or dword [edi + 8], 1
push dword [edi + 0x28]
mov byte [edi + 2], 1
mov esi, dword [ebx + 0x2c]
mov dword [edi + 0x2c], esi
mov al, byte [ebx + 4]
mov byte [edi + 4], al
mov edx, dword [ebx + 0x34]
mov dword [edi + 0x34], edx
mov eax, dword [ebx + 8]
xor eax, dword [edi + 8]
and eax, 4
xor dword [edi + 8], eax
mov ecx, dword [ebx + 0xc]
push esi
push 4
call fcn.004d2d20
mov ecx, dword [ebp - 0x1d0]
mov ebx, eax
mov edi, dword [ebp - 0x1cc]
add esp, 0xc
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], ebx
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov edx, dword [ecx + 4]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x4bba7d
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
je 0x4bbb92
mov edx, dword [esi + 0x34]
push 0
call fcn.004ccde0
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
jmp 0x4bbb98
push 0
push 0xffffffffffffffff
push dword [ecx + 8]
mov ecx, dword [ebp - 0x1d4]
call fcn.004bf970
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4baddb
mov eax, dword [ebp - 0x1cc]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x1d0]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.004d4f90
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4bbb71
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.004d4060
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4bbb71
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [edi]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x2c], ebx
test ebx, ebx
je 0x4bbb4a
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.004cd080
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4bbb44
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, dword [edi]
push ebx
push 4
call fcn.004d2d20
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x1dc], edx
mov byte [esi + 4], 0
jmp 0x4bbb71
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.004d2d20
mov edx, eax
mov byte [esi + 4], 1
add esp, 0xc
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1cc]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, dword [esi + 8]
sete cl
and eax, 0xfffffffb
dec ecx
and ecx, 4
or ecx, eax
mov dword [esi + 8], ecx
jmp 0x4bbb98
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
push 1
push 0xffffffffffffffff
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, esi
call fcn.004bf970
add esp, 0xc
test eax, eax
je 0x4bf263
mov edx, dword [ebp - 0x1cc]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1d0]
call fcn.004b6fd0
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x1cc]
mov dword [edx + 0x14], eax
je 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
push 3
push 0xffffffffffffffff
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, esi
call fcn.004bf970
add esp, 0xc
test eax, eax
je 0x4bf263
mov ecx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1cc]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x1d0]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x51e869
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [esi + 0x60]
mov eax, dword [ecx + 4]
mov ecx, esi
mov edx, dword [edx + eax*4]
call fcn.004c5fc0
mov eax, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
xor edi, edi
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x1f4], edi
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], di
mov dword [esi + 0x1c], edi
je 0x4bbe62
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0x2e
cmp al, 2
jne 0x4bbd5e
xor edx, edx
mov ecx, edi
call fcn.004bf820
mov ecx, edi
call fcn.004c9c20
movzx ecx, word [edi + 8]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], edx
test cl, 0x24
jne 0x4bbe26
test cl, 8
jne 0x4bbdee
test cl, 1
jne 0x4bec2c
cmp ebx, 0x18
jae 0x4bec2c
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x14]
call fcn.004d20d0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp dword [ebp - 0x14], 0
jne 0x4bec2c
cmp dword [ebp - 0x1f4], 0
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
je 0x4b8b54
add dword [ebp - 0x1cc], 0x14
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
fld qword [edi]
fild qword [ebp - 0x238]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x210]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4bbe17
fstp st(0)
fstp st(0)
test bl, 1
je 0x4bbe26
dec ebx
jmp 0x4bbe26
fcompp
fnstsw ax
test ah, 5
jp 0x4bbe26
test bl, 1
jne 0x4bbe26
inc ebx
mov edi, dword [ebp - 0x238]
lea eax, [ebp - 0x14]
mov ecx, dword [esi + 0x28]
push eax
push 0
push edx
push edi
xor edx, edx
call fcn.004d1b80
mov edx, eax
mov dword [esi + 0x40], edi
mov eax, dword [ebp - 0x234]
add esp, 0x10
mov dword [ebp - 0x1dc], edx
mov dword [esi + 0x44], eax
test edx, edx
jne 0x4b9aa3
jmp 0x4bbf02
mov ecx, dword [esi + 0x28]
mov edx, 2
call fcn.004cb3d0
test eax, eax
je 0x4bbe7e
mov edi, 1
mov dword [ebp - 0x1f4], edi
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0xe8]
mov ecx, dword [ebp - 0x1cc]
test bl, 1
mov dword [ebp - 0xe8], eax
mov byte [ebp - 0xda], 0
mov ax, word [ecx + 0x10]
mov word [ebp - 0xe0], ax
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0xde], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x14]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.004d1b80
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
test edi, edi
je 0x4bbf02
cmp byte [ebp - 0xda], al
je 0x4bbdb0
mov eax, dword [ebp - 0x14]
cmp ebx, 0x18
jl 0x4bbf64
test eax, eax
js 0x4bbf21
jne 0x4bbf15
cmp ebx, 0x19
je 0x4bbf21
mov dword [ebp - 0x14], 0
jmp 0x4bbdba
mov dword [ebp - 0x14], 0
push 0
push dword [esi + 0x28]
call fcn.004d1960
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
test edx, edx
je 0x4bbdb0
cmp edx, 0x65
jne 0x4b9aa3
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x14], 1
jmp 0x4bec2c
test eax, eax
jg 0x4bbf7f
jne 0x4bbf6f
cmp ebx, 0x16
je 0x4bbf7f
mov ecx, dword [esi + 0x28]
call fcn.004d1b70
mov dword [ebp - 0x14], eax
jmp 0x4bbdb0
mov dword [ebp - 0x14], 0
push 0
push dword [esi + 0x28]
call fcn.004d1810
jmp 0x4bbf32
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x4b8b4e
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ecx, ecx
jle 0x4bc034
mov eax, dword [ebx + 0x2c]
lea edi, [ebp - 0x178]
mov dword [ebp - 0x174], esi
xor esi, esi
mov dword [ebp - 0x178], eax
mov word [ebp - 0x170], cx
jmp 0x4bc07a
mov eax, 0x4000
test word [esi + 8], ax
je 0x4bc04e
mov ecx, esi
call fcn.004ca070
test eax, eax
jne 0x4baddb
mov ecx, dword [ebx + 0x2c]
call fcn.004c41e0
mov edi, eax
mov dword [ebp - 0x1f4], edi
test edi, edi
je 0x4baddb
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.004c4070
add esp, 8
mov esi, edi
mov eax, dword [ebp - 0x1cc]
mov byte [edi + 0xa], 0
mov dword [ebp - 0x1f4], 0
cmp byte [eax], 0x1b
jne 0x4bc0bc
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x4bc0bc
mov eax, dword [edi + 4]
add eax, 8
test byte [eax], 1
jne 0x4bc0b2
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x4bc0a3
jmp 0x4bc0bc
mov dword [ebp - 0x1f4], 1
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0x70]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.004d1b80
add esp, 0x10
mov edx, eax
mov dword [ebp - 0x1dc], edx
test esi, esi
je 0x4bc0f2
mov ecx, dword [ebp - 0x1d0]
mov edx, esi
call fcn.004ed240
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edi, dword [ebp - 0x1cc]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x70]
test eax, eax
mov byte [ebx + 3], dl
sete cl
mov dword [ebx + 0x1c], edx
test eax, eax
setne al
mov byte [ebx + 2], al
cmp byte [edi], 0x1d
jne 0x4bc145
test ecx, ecx
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
cmp dword [ebp - 0x1f4], 0
jne 0x4bec32
test ecx, ecx
je 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx eax, word [esi + 8]
mov edi, eax
test al, 0x24
jne 0x4bc1c0
push dword [ebp - 0x201]
mov dl, 0x43
mov ecx, esi
call fcn.004bf7b0
movzx eax, word [esi + 8]
add esp, 4
shr eax, 2
not eax
mov word [esi + 8], di
test al, 1
jne 0x4bec2c
mov ecx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [esi + 0x60]
xor edx, edx
mov ecx, dword [ecx + 4]
mov edi, dword [ebp - 0x1e4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebx + 0x28]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x44], 0
lea eax, [eax + eax*4]
mov esi, dword [edi + eax*8]
mov edi, dword [edi + eax*8 + 4]
lea eax, [ebp - 0x44]
push eax
push 0
push edi
push esi
call fcn.004d1b80
mov edx, eax
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], edi
add esp, 0x10
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0x44], 0
mov dword [ebp - 0x1dc], edx
je 0x4bc24d
mov ecx, dword [ebp - 0x1cc]
cmp dword [ecx + 8], 0
jne 0x4bec2c
mov ecx, 0x158d1
call fcn.00459d10
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
jmp 0x4bc1c6
mov ebx, dword [ebp - 0x1cc]
mov ecx, esi
mov edx, ebx
call fcn.004bf600
mov ecx, dword [esi + 0x60]
mov edi, ebx
mov edx, dword [ebx + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d0]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0
call fcn.004bf600
mov ecx, dword [esi + 0x60]
mov ebx, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x4bc360
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x2c]
call fcn.004d20d0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp dword [ebp - 0x2c], eax
je 0x4bc331
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x4bc360
mov ecx, dword [edi + 0x28]
call fcn.004d2bd0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp edx, 0x7fffffff
jl 0x4bc354
jg 0x4bc34e
cmp eax, 0xffffffff
jb 0x4bc354
or dword [edi + 8], 2
jmp 0x4bc360
add eax, 1
mov dword [ebp - 0x20], eax
adc edx, 0
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x1cc]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x4bc3f2
mov edx, dword [esi + 0xc8]
test edx, edx
je 0x4bc396
mov eax, dword [edx + 4]
test eax, eax
je 0x4bc38b
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4bc382
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x4bc3a2
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1e4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004c9a80
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x4bc3bf
cmp edx, 0x7fffffff
je 0x4bc452
test byte [edi + 8], 2
jne 0x4bc452
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x1c], edx
jg 0x4bc3e7
jl 0x4bc3dd
mov eax, dword [ebp - 0x20]
cmp eax, ecx
jae 0x4bc3ea
mov eax, ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x4bc3ea
mov eax, dword [ebp - 0x20]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x4bc45c
xor esi, esi
lea ebx, [ebx]
lea eax, [ebp - 0x20]
push eax
push 8
call fcn.004ea700
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x20], ecx
push 0
push eax
mov dword [ebp - 0x1c], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.004d1b80
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp dword [ebp - 0x2c], eax
jne 0x4bc45c
inc esi
cmp esi, 0x64
jl 0x4bc400
mov edx, 0xd
jmp 0x4b9a9d
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1cc]
mov dword [ebx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1fc], esi
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x194], eax
jne 0x4bc504
mov eax, dword [ebp - 0x1d0]
cmp dword [eax + 0xec], 0
je 0x4bc504
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x1f4], ecx
jmp 0x4bc50c
xor ebx, ebx
mov dword [ebp - 0x1f4], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x4bc529
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x1cc]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x4bc553
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x20c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x1cc]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ebp - 0x190], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [ebp - 0x184], eax
test cl, 0x10
je 0x4bc577
mov edx, dword [esi + 0x20]
jmp 0x4bc579
xor edx, edx
mov eax, dword [ebp - 0x1e4]
mov esi, 0x4000
test word [eax + edi*8 + 8], si
mov esi, dword [ebp - 0x1fc]
je 0x4bc59c
mov eax, dword [eax + edi*8]
mov dword [ebp - 0x180], eax
jmp 0x4bc5a6
mov dword [ebp - 0x180], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x1a0], 0
push ecx
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x1a0]
call fcn.004cd7e0
mov edx, eax
mov byte [esi + 3], 0
add esp, 8
mov dword [ebp - 0x1dc], edx
mov dword [esi + 0x1c], 0
test edx, edx
jne 0x4b9aa3
test ebx, ebx
je 0x4beaf0
mov eax, dword [ebp - 0x1cc]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
mov al, byte [eax + 2]
push dword [ebx]
and al, 4
push dword [ebp - 0x1f4]
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
push eax
mov eax, dword [ebp - 0x1d0]
push dword [eax + 0xe8]
mov eax, dword [eax + 0xec]
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 0x18
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x4bc6ab
mov eax, dword [ebp - 0x1d0]
cmp dword [eax + 0xec], 0
je 0x4bc6ab
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov edi, dword [edx + 0x10]
mov ebx, dword [eax + ecx*8]
je 0x4bc6af
cmp byte [esi + 4], 0
je 0x4bc6af
mov ecx, dword [esi + 0x28]
call fcn.004d2bd0
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x1cc]
mov dword [esi + 0x40], eax
jmp 0x4bc6af
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x28]
call fcn.004cd3f0
mov edx, eax
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x1dc], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x4b9aa3
test byte [ebp - 0x1f4], 1
mov ecx, dword [ebp - 0x1d0]
je 0x4beaf6
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, dword [ecx + 0xec]
test eax, eax
je 0x4beaf6
test byte [edi + 0x24], 0x20
jne 0x4beaf6
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ecx + 0xe8]
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 0x18
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [esi + 0x2c]
call fcn.004c2c50
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0x2c], 0
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x6c], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x1cc]
push dword [eax + 0x10]
call fcn.004b45b0
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov edi, dword [ebp - 0x1cc]
cmp dword [ebp - 0x6c], eax
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.004b4690
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1d0]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
call fcn.004bf600
mov esi, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [eax + 0x60]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.004d2bc0
mov ecx, dword [ebp - 0x1d0]
cmp eax, dword [ecx + 0x6c]
ja 0x4befc8
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.004c8fe0
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1cc]
cmp dword [ecx + 0xc], eax
jne 0x4beaf0
mov eax, 0x1000
test word [esi + 8], ax
je 0x4beaf0
mov ecx, esi
call fcn.004ca0d0
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
test eax, eax
jne 0x4bade7
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
call fcn.004bf600
mov ecx, dword [ebp - 0x1cc]
mov edi, eax
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x4bc926
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov esi, dword [ebp - 0x1d4]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
cmp byte [esi + 3], 0
je 0x4bc93d
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x60], ecx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x5c], eax
jmp 0x4bc9f3
cmp byte [esi], 2
jne 0x4bc99e
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x60]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x1dc], eax
mov edx, esi
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.004c2ac0
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x60]
mov dword [edi], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x1d0]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, esi
call fcn.004c4860
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp byte [esi + 2], al
je 0x4bc9e3
mov ecx, dword [ebp - 0x1d0]
mov eax, 1
mov esi, dword [ebp - 0x1d4]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [esi + 0x28]
call fcn.004d2bd0
mov ecx, eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
mov esi, dword [ebp - 0x1d4]
mov dword [edi], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x1d0]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x4b8b4e
mov ecx, dword [ecx + 0x28]
call fcn.004d7350
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x48], 0
cmp dl, 0x82
jne 0x4bca94
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.004d2be0
test eax, eax
jne 0x4beaf0
lea edx, [ebp - 0x48]
mov ecx, edi
call fcn.004d20d0
mov edx, eax
mov al, byte [ebp - 0x48]
mov dword [ebp - 0x1dc], edx
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1cc]
cmp dword [ecx + 8], edx
jle 0x4beaf0
mov edi, ecx
cmp dword [ebp - 0x48], edx
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
lea edx, [ebp - 0x4c]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.004d2140
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp dword [ebp - 0x4c], eax
jne 0x4bec2c
mov ecx, esi
call fcn.004d1b00
test edx, edx
jl 0x4bcb5b
jg 0x4bcb39
test eax, eax
jb 0x4bcb5b
push edx
push eax
call fcn.004e8680
mov ecx, dword [ebp - 0x1cc]
add esp, 8
cwde
cmp eax, dword [ecx + 0xc]
jge 0x4bcb5b
mov dword [ebp - 0x4c], 1
jmp 0x4bec2c
cmp dword [ebp - 0x4c], 0
mov edi, dword [ebp - 0x1cc]
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
inc dword [esi + 0xac]
mov ecx, dword [ebp - 0x1cc]
lea edx, [ebp - 0x30]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x30], 1
cmp byte [esi], 1
jne 0x4bcbb2
mov ecx, esi
call fcn.004b4820
jmp 0x4bcbc5
mov ecx, dword [esi + 0x28]
call fcn.004d2140
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov al, byte [ebp - 0x30]
mov edi, dword [ebp - 0x1cc]
mov byte [esi + 2], al
cmp dword [ebp - 0x30], edx
jne 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x1d0]
call fcn.004b4790
jmp 0x4bcc3f
mov edx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0x10]
push dword [esi + 0x28]
call eax
add esp, 8
mov edx, eax
mov dword [ebp - 0x1dc], edx
mov dword [esi + 0x1c], 0
test edx, edx
jne 0x4bcc71
mov ecx, dword [ebp - 0x1d4]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp 0x4be69f
cmp edx, 0x65
jne 0x4b9aa3
mov dword [ebp - 0x1dc], 0
mov byte [esi + 2], 1
mov ecx, dword [ebp - 0x1d0]
cmp dword [ecx + 0x110], 0
jne 0x4bf224
mov ebx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1d8]
cmp esi, ebx
jb 0x4beaf6
nop
mov eax, dword [ecx + 0x148]
test eax, eax
je 0x4beaf6
add ebx, dword [ecx + 0x150]
push dword [ecx + 0x14c]
mov dword [ebp - 0x21c], ebx
call eax
add esp, 4
test eax, eax
jne 0x4befb1
mov ecx, dword [ebp - 0x1d0]
cmp esi, ebx
jae 0x4bccb0
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ebx, dword [ebp - 0x1e4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1cc]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x4bcd34
mov eax, dword [ebp - 0x1d4]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4bcd5c
mov ecx, esi
call fcn.004ca070
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1cc]
cmp byte [ecx], 0x83
jne 0x4bcd6c
mov edx, esi
mov ecx, edi
call fcn.004b5820
jmp 0x4bcdcb
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x1b4], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1b0], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x4bcdac
mov ecx, dword [edi + 0x20]
jmp 0x4bcdae
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x1c8]
and eax, 0xa
push eax
call fcn.004cd7e0
add esp, 8
mov dword [edi + 0x1c], 0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x168], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x160], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x168]
mov byte [ebp - 0x15e], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x88]
push eax
push 0
push 0
push 0
call fcn.004d1b80
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp dword [ebp - 0x88], eax
jne 0x4bce8b
mov dl, 4
mov ecx, edi
call fcn.004cd3f0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.004c4860
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
cmp byte [esi + 2], al
jne 0x4bcfa3
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x58]
mov edx, dword [esi + 0x28]
push eax
call fcn.004c2d40
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x1cc]
cmp byte [eax], 0x86
jne 0x4bcf6f
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], dl
mov eax, dword [ebp - 0x58]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x1cc]
mov byte [ecx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ecx + 0x24], esi
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov esi, dword [ebp - 0x1d4]
mov edx, eax
mov ecx, esi
call fcn.004bf600
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x1cc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x54]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004c97b0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
cmp byte [ebp - 0x1fd], 0x27
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x158], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x150], ax
sbb al, al
mov byte [ebp - 0x14e], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x34], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.004c2c60
mov edx, eax
add esp, 8
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1dc], edx
test byte [eax], 1
mov eax, dword [ebp - 0x34]
je 0x4bd064
neg eax
jmp 0x4bd065
inc eax
mov dword [ebp - 0x34], eax
test edx, edx
jne 0x4b9aa3
mov edi, dword [ebp - 0x1cc]
test eax, eax
jg 0x4bec32
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov ecx, esi
mov edx, ebx
call fcn.004bf600
mov edx, dword [ebp - 0x1d0]
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [edx + 0xbc]
inc ecx
cmp dword [edx + 0xb0], ecx
jg 0x4beece
mov ebx, dword [ebx + 0xc]
lea eax, [ebp - 0x38]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x1cc]
push eax
mov eax, ebx
mov dword [ebp - 0x38], 0
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004ccaa0
mov dword [ebp - 0x1dc], eax
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x38]
cdq
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x1dc]
mov dword [esi], eax
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x4beaf0
mov ecx, dword [ebp - 0x1cc]
mov edx, ebx
push dword [ecx + 4]
mov ecx, dword [ebp - 0x1d0]
push eax
call fcn.0049e1b0
mov edi, dword [ebp - 0x1cc]
lea ecx, [ebx + 1]
mov esi, dword [ebp - 0x1d4]
add esp, 8
mov eax, dword [ebp - 0x1d8]
mov byte [ebp - 0x211], cl
mov ecx, dword [ebp - 0x1d0]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
lea edi, [ebp - 0x68]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x68], 0
mov eax, dword [edx + 0xc]
neg eax
sbb eax, eax
and eax, edi
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004ccde0
mov ecx, dword [ebp - 0x1cc]
add esp, 4
mov edx, eax
mov dword [ebp - 0x1dc], edx
cmp dword [ecx + 0xc], 0
je 0x4bb673
mov eax, dword [ebp - 0x68]
add dword [esi + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x4bb673
mov ebx, dword [ebp - 0x1e4]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp 0x4bb66d
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x4bd20f
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x1d0]
call fcn.004b6600
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ecx + 0x28]
call fcn.004ccdc0
mov edx, eax
mov dword [ebp - 0x1dc], edx
jmp 0x4bb673
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
call fcn.004bf600
mov edx, dword [ebp - 0x1cc]
mov esi, eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x64], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0x64]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.004cd080
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
inc byte [ecx + 0x5a]
push 0
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.004f0c20
mov ecx, dword [ebp - 0x1d0]
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x1dc], edx
dec byte [ecx + 0x5a]
test edx, edx
jne 0x4b9aa3
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x4bd346
mov ebx, dword [ebp - 0x1d0]
mov ecx, esi
add ecx, ecx
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.00499800
mov eax, dword [ebp - 0x1d4]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
add eax, 0x7c
mov edx, esi
mov ecx, ebx
push 1
push eax
call fcn.00488b00
mov esi, dword [ebp - 0x1d4]
mov ecx, ebx
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
or dword [ecx + 0x18], 1
and dword [esi + 0x98], 0xfffffffc
jmp 0x4bd420
mov edx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d4]
add eax, 0x7c
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xfc], eax
add esi, esi
mov eax, dword [edx + 0x10]
push ecx
push str.sqlite_master
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xf0], 0
push dword [eax + esi*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edx
call fcn.004eac00
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4beef1
mov ebx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x100]
push 0
push eax
push fcn.00488f80
push esi
push ebx
mov byte [ebx + 0xa5], 1
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xec], 0
call fcn.004f0c20
add esp, 0x14
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x4bd402
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x4bd402
cmp dword [ebp - 0xec], eax
jne 0x4bd402
mov ecx, 0x15e52
call fcn.00459d10
mov dword [ebp - 0x1dc], eax
mov edx, esi
mov ecx, ebx
call fcn.004ed240
mov edx, dword [ebp - 0x1dc]
mov ecx, ebx
mov esi, dword [ebp - 0x1d4]
mov byte [ecx + 0xa5], 0
test edx, edx
jne 0x4beefb
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov edx, dword [edx + 4]
call fcn.004a3970
mov edx, eax
mov dword [ebp - 0x1dc], edx
jmp 0x4bb673
mov edx, dword [ebp - 0x1cc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004a0c90
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004a17f0
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.0047b4c0
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1e4]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add edx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + esi*8]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004cb7f0
add esp, 0xc
mov ecx, edi
mov ebx, eax
call fcn.004c97b0
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x4bd56b
test ebx, ebx
je 0x4baddb
mov ecx, dword [ebp - 0x1e4]
dec eax
cdq
push fcn.004ed2c0
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
mov ecx, edi
call fcn.004c9130
add esp, 0xc
movzx edx, byte [ebp - 0x201]
mov ecx, edi
call fcn.004ca2f0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x4bd5ca
mov ecx, esi
call fcn.004c9560
test eax, eax
jne 0x4baddb
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8]
call fcn.004e1e10
mov ecx, dword [ebp - 0x1d0]
add esp, 8
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x10
lea esi, [ebx + eax*8]
je 0x4bd652
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0xa0]
call fcn.004e1a60
test eax, eax
je 0x4bd652
mov eax, dword [ebp - 0x1cc]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.004c96d0
add esp, 8
jmp 0x4bcc88
mov ecx, esi
call fcn.004c97b0
jmp 0x4be69f
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 0x10
lea esi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
jne 0x4bd698
mov ecx, esi
call fcn.004c9560
test eax, eax
jne 0x4baddb
mov edx, dword [ebp - 0x1e4]
test ebx, ebx
je 0x4bd6ba
push dword [edx + edi*8 + 4]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8]
mov edx, ebx
call fcn.004e18a0
add esp, 8
test eax, eax
jne 0x4bec2c
test ebx, ebx
js 0x4b8a7a
mov ebx, dword [ebp - 0x1e4]
jmp 0x4bd5ca
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1f4], edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1e8], ecx
cmp word [eax + 2], 0
je 0x4bd726
mov eax, dword [esi + 0xc8]
mov ecx, dword [edi + 0x14]
test eax, eax
je 0x4bd720
lea esp, [esp]
cmp dword [eax + 0x1c], ecx
je 0x4b8b4e
mov eax, dword [eax + 4]
test eax, eax
jne 0x4bd710
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1d0]
mov eax, dword [esi + 0xd0]
cmp eax, dword [edx + 0x94]
jge 0x4bef1a
test byte [ecx + 8], 0x10
jne 0x4bd85c
mov ecx, dword [edi + 0xc]
mov esi, dword [edi + 8]
add esi, ecx
test ecx, ecx
jne 0x4bd755
inc esi
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edi + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x4bd76d
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x1d0]
mov eax, edi
cdq
push edx
push eax
call fcn.004ecfa0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4baddb
mov ecx, dword [ebp - 0x1e8]
call fcn.004c9d30
mov eax, dword [ebp - 0x1e8]
mov ecx, 0x410
mov word [eax + 8], cx
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1cc]
sub ecx, dword [ebp - 0x1e0]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0x4c6ae0
mov eax, dword [ebp - 0x1d4]
mov dword [ebx], eax
mov dword [ebx + 0x3c], esi
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x1d4]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x30], eax
mov eax, dword [ecx + 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [ecx + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 0x6c]
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x4bd84e
mov edx, dword [ebp - 0x1d0]
mov esi, 0x80
lea esp, [esp]
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x4bd840
mov esi, dword [ebp - 0x1d4]
mov eax, dword [esi + 0xd0]
jmp 0x4bd85f
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x1d0]
lea edx, [ebx + 0x50]
inc eax
mov dword [ebp - 0x1e4], edx
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xc8]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebx + 0x24], eax
mov eax, dword [esi + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0xdc]
mov dword [ebx + 0x28], eax
mov dword [esi + 0x58], edx
mov dword [esi + 0xdc], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0xc8], ebx
mov ecx, dword [ebx + 0x3c]
mov dword [esi + 0x18], ecx
movzx eax, word [ebx + 0x40]
mov dword [esi + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
mov dword [esi + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.00405490
mov ecx, dword [edi]
add esp, 0xc
mov dword [esi + 0x68], ecx
mov eax, dword [edi + 4]
mov dword [ebp - 0x1e0], ecx
add ecx, 0xffffffec
mov dword [esi + 0x6c], eax
mov dword [ebp - 0x1cc], ecx
jmp 0x4bcc88
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
call fcn.004bf600
mov esi, eax
mov eax, dword [ebp - 0x1d4]
push 0x1000
mov eax, dword [eax + 0xc8]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x1cc]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.004c94a0
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x1cc]
mov edi, eax
je 0x4bd9b0
mov eax, dword [eax + 8]
cdq
add dword [ecx + 0x1e0], eax
mov eax, dword [ebp - 0x1d8]
adc dword [ecx + 0x1e4], edx
add edi, 0x14
jmp 0x4b8909
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x4bd9d4
add dword [ecx + 0x1d8], eax
mov eax, dword [ebp - 0x1d8]
adc dword [ecx + 0x1dc], edx
add edi, 0x14
jmp 0x4b8909
add dword [esi + 0x40], eax
mov eax, dword [ebp - 0x1d8]
adc dword [esi + 0x44], edx
add edi, 0x14
jmp 0x4b8909
cmp dword [edi + 4], 0
je 0x4bda20
mov eax, dword [ecx + 0x1d8]
or eax, dword [ecx + 0x1dc]
jne 0x4bec50
mov eax, dword [ecx + 0x1e0]
or eax, dword [ecx + 0x1e4]
je 0x4bec38
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jmp 0x4bd9fa
mov edx, dword [esi + 0xc8]
test edx, edx
je 0x4bda63
mov eax, dword [edx + 4]
test eax, eax
je 0x4bda49
lea esp, [esp]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4bda40
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x4bda78
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.004c9a80
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.004c9a80
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4beaf0
jl 0x4bdaad
cmp dword [edi], eax
jae 0x4beaf0
mov esi, dword [ebp - 0x1d4]
mov dword [edi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x4b8a7a
jg 0x4bdafd
test ecx, ecx
je 0x4b8a7a
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x4bec2c
mov ecx, dword [ebp - 0x1cc]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1d4]
lea ebx, [eax + eax*4]
call fcn.004bf600
mov edx, dword [ebp - 0x1e4]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
test ecx, ecx
jl 0x4bdba6
jg 0x4bdb55
test eax, eax
je 0x4bdba6
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x4bdb66
jg 0x4bdb6a
test eax, eax
jne 0x4bdb6a
xor eax, eax
xor ecx, ecx
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.004e8930
add esp, 8
test eax, eax
jne 0x4bdba6
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov dword [edi], eax
mov eax, dword [ebp - 0x74]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x1cc]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x4b8a7a
test edx, edx
jl 0x4bec2c
jg 0x4bdc08
test ecx, ecx
je 0x4bec2c
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x4bec2c
mov ecx, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8]
cmp ecx, 0x80000000
jl 0x4bdc4e
jg 0x4bdc41
test eax, eax
je 0x4bdc4e
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
mov edi, dword [ebp - 0x1cc]
or eax, ecx
mov ecx, dword [ebp - 0x1d0]
je 0x4bec38
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.004ece50
mov esi, eax
add esp, 8
test esi, esi
je 0x4baddb
mov edx, dword [ebp - 0x1d0]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.004c97d0
mov ecx, dword [ebp - 0x1cc]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x1e0]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x1cc]
sar edx, 3
mov eax, edx
mov byte [esi + 0x18], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1d4]
mov dword [esi + 0xc], eax
mov byte [esi + 0x19], bl
mov word [ecx], 0xf09b
mov dword [ecx + 0x10], esi
jmp 0x4bdd08
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x1e4]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x1f4], edi
cmp dword [esi + 8], edi
je 0x4bdd5c
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edi
js 0x4bdd5c
mov edi, dword [ebp - 0x1cc]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
lea ecx, [ecx]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x4bdd40
mov edi, dword [ebp - 0x1f4]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [ebp - 0x1cc]
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x4bdd7d
mov eax, dword [ecx + 0x1c]
jmp 0x4bdd80
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x4bbc61
jle 0x4bddb9
push dword [esi]
call fcn.004c2530
add esp, 4
push eax
push 0x504fc8
push dword [ebp - 0x1d4]
call fcn.004c8590
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
cmp byte [esi + 0x18], 0
je 0x4bdde8
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x4bddde
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.004c96d0
add esp, 8
mov edi, dword [ebp - 0x1cc]
mov byte [esi + 0x18], 0
mov ecx, dword [esi]
call fcn.004c9d30
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 0x1dc]
mov word [eax + 8], cx
mov dword [esi + 0x14], 0
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1e4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4bde6b
push dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov ecx, esi
lea edx, [edi + eax*8]
call fcn.004c9e20
mov ebx, eax
add esp, 4
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
jmp 0x4bde77
mov edx, dword [ecx + 0x10]
mov ecx, esi
call fcn.004c9eb0
mov ebx, eax
mov dword [ebp - 0x1dc], ebx
test ebx, ebx
jne 0x4bef3c
movzx edx, byte [ebp - 0x201]
mov ecx, esi
call fcn.004ca2f0
mov ecx, esi
call fcn.004c9530
mov esi, dword [ebp - 0x1d4]
test eax, eax
jne 0x4befce
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.0045b330
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x1dc], edx
test edx, edx
je 0x4bdf19
cmp edx, 5
jne 0x4b9aa3
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x1cc]
xor esi, esi
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.004c96d0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4bdf30
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ebx, dword [ebp - 0x1cc]
mov ecx, esi
mov edx, ebx
call fcn.004bf600
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x1f4], eax
call fcn.004cc870
mov ebx, eax
mov ecx, ebx
call fcn.004db880
mov edi, eax
cmp esi, 0xffffffff
jne 0x4bdfb3
mov esi, edi
mov ecx, ebx
call fcn.004db850
test eax, eax
jne 0x4bdfc0
mov esi, edi
mov ecx, ebx
call fcn.004dbca0
cmp esi, 5
jne 0x4be060
mov ecx, eax
call fcn.004e9d80
test eax, eax
je 0x4bdfe6
mov ecx, ebx
call fcn.004db710
test eax, eax
jne 0x4be060
mov esi, edi
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x4bdff4
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.004db890
mov ebx, dword [ebp - 0x20c]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.0048c3d0
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.004e9d80
movzx edx, byte [ebp - 0x201]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.004ca2f0
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
cmp esi, edi
je 0x4bdfe8
cmp edi, 5
je 0x4be072
cmp esi, 5
jne 0x4bdfe8
mov eax, dword [ebp - 0x1d0]
cmp byte [eax + 0x4f], 0
je 0x4bef6b
cmp dword [eax + 0xb0], 1
jg 0x4bef6b
cmp edi, 5
jne 0x4be0b6
mov edx, eax
mov ecx, ebx
call fcn.004db3b0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x4bdff2
mov edx, esi
mov ecx, ebx
call fcn.004db890
jmp 0x4be0d2
cmp edi, 4
jne 0x4be0c5
lea edx, [edi - 2]
mov ecx, ebx
call fcn.004db890
cmp dword [ebp - 0x1dc], 0
jne 0x4bdff2
mov ecx, dword [ebp - 0x1f4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004cb3e0
mov dword [ebp - 0x1dc], eax
jmp 0x4bdfee
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
test eax, eax
je 0x4be10c
mov edx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jmp 0x4be10e
xor eax, eax
mov edx, dword [ebp - 0x1d0]
push eax
push dword [ecx + 4]
lea ecx, [esi + 0x7c]
call fcn.00477370
mov edx, eax
add esp, 8
mov dword [ebp - 0x1dc], edx
jmp 0x4bb673
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.004d3820
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
je 0x4b8b4e
cmp edx, 0x65
jne 0x4b9aa3
mov dword [ebp - 0x1dc], 0
jmp 0x4bec2c
cmp dword [edi + 4], 0
jne 0x4be197
mov edx, dword [edi + 8]
call fcn.004c2c10
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 8]
inc eax
xor eax, dword [esi + 0x98]
and eax, 3
xor dword [esi + 0x98], eax
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov al, byte [edi + 0xc]
mov byte [ebp - 0x22c], al
test al, al
jne 0x4be1d9
mov eax, dword [ecx + 0x20]
and eax, 0x400
mov dword [ebp - 0x1f8], eax
jne 0x4bec50
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x1cc]
push dword [ebp - 0x22c]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004cb4f0
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
test edx, edx
je 0x4b8b4e
cmp dl, 6
jne 0x4b9aa3
mov eax, dword [ebp - 0x1cc]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.004c8590
mov edx, dword [ebp - 0x1dc]
add esp, 0xc
jmp 0x4b9aa3
mov edx, dword [ebp - 0x1cc]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.00475c20
mov edx, eax
mov dword [ebp - 0x1dc], edx
test esi, esi
je 0x4be26e
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.004c2ac0
jmp 0x4bb66d
mov esi, dword [ebp - 0x1d4]
jmp 0x4bb673
xor eax, eax
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x124], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x148]
call fcn.004c9420
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x148]
push eax
call fcn.004c2530
add esp, 4
test eax, eax
je 0x4be312
lea ecx, [esi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x1d0]
push eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
call fcn.00476200
add esp, 8
mov dword [ebp - 0x1dc], eax
lea ecx, [ebp - 0x148]
call fcn.004c9d30
jmp 0x4bb66d
mov edx, dword [ebp - 0x1cc]
inc dword [ecx + 0xbc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00475ed0
mov ecx, dword [ebp - 0x1d0]
mov edx, eax
add esp, 4
mov dword [ebp - 0x1dc], edx
dec dword [ecx + 0xbc]
test edx, edx
jne 0x4b9aa3
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0xb0], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x4befa7
mov edi, dword [esi]
test edi, edi
je 0x4befa7
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [ebp - 0x1d4]
add esp, 8
mov edx, esi
mov dword [ebp - 0x1dc], eax
mov ecx, ebx
call fcn.004c2ac0
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4bf26e
mov eax, dword [ebp - 0xb0]
mov ecx, ebx
push 2
push 0xffffffffffffffff
push edx
mov dword [eax], esi
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
call fcn.004bf970
add esp, 0xc
test eax, eax
je 0x4bef8c
mov ecx, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x1cc]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
mov esi, ebx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 0x60]
mov esi, dword [esi + 0x5c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1fc], eax
mov ebx, dword [eax + 0x28]
mov edx, dword [ecx + edi*8 + 0x28]
mov eax, dword [ebx]
mov dword [ebp - 0x1e8], eax
mov eax, dword [eax]
mov dword [ebp - 0x20c], eax
mov eax, dword [ecx + edi*8]
mov dword [ebp - 0x1f4], eax
xor eax, eax
test edx, edx
jle 0x4be472
lea ecx, [ecx + edi*8]
add ecx, 0x50
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x4be467
mov eax, dword [ebp - 0x1cc]
push esi
mov esi, dword [ebp - 0x20c]
push edx
push dword [eax + 0x10]
push dword [ebp - 0x1f4]
mov eax, dword [esi + 0x20]
push ebx
call eax
mov edi, dword [ebp - 0x1d4]
add esp, 0x14
mov edx, dword [ebp - 0x1e8]
mov ecx, edi
mov dword [ebp - 0x1dc], eax
call fcn.004c2ac0
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4bed9a
mov eax, dword [esi + 0x28]
push ebx
call eax
mov ecx, dword [ebp - 0x1fc]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x4b8a7a
jmp 0x4bec2c
mov edx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1e4]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x4be524
mov ecx, esi
call fcn.004c97b0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov eax, dword [edi + 0x28]
mov ebx, dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1f4], eax
xor eax, eax
test byte [edx + 2], 1
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x120], esi
je 0x4be583
mov ecx, esi
call fcn.004c97b0
mov edx, dword [ebp - 0x1cc]
mov eax, 0x4001
mov dword [esi], 0
jmp 0x4be596
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0x120]
push dword [edx + 8]
push eax
mov eax, dword [ebp - 0x1f4]
push dword [edi + 0x28]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [ebp - 0x1d4]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x1dc], eax
mov ecx, edi
call fcn.004c2ac0
cmp dword [ebp - 0x10c], 0
jle 0x4be5f7
push esi
call fcn.004c2530
add esp, 4
push eax
push 0x504fc8
push edi
call fcn.004c8590
mov eax, dword [ebp - 0x10c]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
movzx edx, byte [ebp - 0x201]
mov ecx, esi
call fcn.004ca2f0
mov ecx, esi
call fcn.004c9530
test eax, eax
jne 0x4befc4
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4bed9a
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x4b8b4e
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
mov ecx, dword [ebp - 0x1d4]
add esp, 4
mov edx, esi
mov dword [ebp - 0x1dc], eax
call fcn.004c2ac0
mov edx, dword [ebp - 0x1dc]
test edx, edx
jne 0x4b9aa3
push dword [edi + 0x28]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x4bcc88
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edx + eax*4]
mov dword [ebp - 0x1cc], eax
jmp 0x4bcc8e
mov edi, dword [ecx + 0x20]
mov edx, 1
or dword [ecx + 0x20], 0x4000000
and edi, 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1e4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.004ca2f0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [esi]
push dword [ebx + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x1dc], eax
test edi, edi
jne 0x4be740
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, esi
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call fcn.004c2ac0
and dword [esi + 0x98], 0xfffffffc
jmp 0x4bb66d
cmp byte [ecx + 0x51], 0
jne 0x4bade7
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x4befa7
mov ebx, dword [edi]
test ebx, ebx
je 0x4befa7
cmp dword [ebx + 0x34], 0
mov edx, dword [edx + 8]
je 0x4b8b54
mov al, byte [ecx + 0x56]
mov ecx, dword [ebp - 0x1e4]
mov esi, dword [esi + 0x5c]
mov byte [ebp - 0x1fd], al
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x4be7c2
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x4be7b7
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov al, byte [eax + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebx + 0x34]
push esi
push edx
push edi
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 0x10
mov esi, dword [ebp - 0x1d4]
mov edx, edi
mov dword [ebp - 0x1dc], eax
mov al, byte [ebp - 0x1fd]
mov byte [ecx + 0x56], al
mov ecx, esi
call fcn.004c2ac0
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
test edx, edx
jne 0x4be83d
cmp dword [eax + 4], edx
je 0x4be83d
mov eax, dword [ebp - 0x98]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x94]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x1cc]
cmp dl, 0x13
jne 0x4be887
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x4be887
mov eax, dword [ebp - 0x1cc]
movzx eax, word [eax + 2]
cmp eax, 4
jne 0x4be878
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], 0
add edi, 0x14
jmp 0x4b8909
cmp eax, 5
jne 0x4be87f
mov al, 2
mov byte [esi + 0x92], al
jmp 0x4be88a
inc dword [esi + 0x2c]
test edx, edx
jne 0x4b9aa3
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
call fcn.004bf600
mov esi, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1d0]
shl edx, 4
mov ecx, dword [eax + 0x10]
mov ecx, dword [edx + ecx + 4]
call fcn.004d59d0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1cc]
mov dword [esi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x1d4]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
call fcn.004bf600
mov edi, eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1d0]
add edx, edx
mov ecx, dword [eax + 0x10]
xor eax, eax
mov esi, dword [ecx + edx*8 + 4]
mov ecx, dword [ebp - 0x1cc]
cmp dword [ecx + 0xc], eax
je 0x4be946
mov ecx, esi
call fcn.004d59d0
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ecx + 0xc]
cmp eax, edx
jae 0x4be946
mov eax, edx
mov edx, eax
mov ecx, esi
call fcn.004d4970
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1d8]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1cc]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.004ece50
mov esi, eax
add esp, 8
test esi, esi
je 0x4baddb
mov eax, dword [ebp - 0x1cc]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x1e0]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x1cc]
sar edx, 3
mov eax, edx
mov dword [esi + 0x14], 0
shr eax, 0x1f
add eax, edx
mov byte [esi + 0x19], bl
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1d4]
mov dword [esi + 0xc], eax
add byte [ecx], 2
mov byte [ecx + 1], 0xf0
mov dword [ecx + 0x10], esi
jmp 0x4be9f4
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x1e4]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x1f4], edi
cmp dword [esi], edi
je 0x4bea42
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi], edi
js 0x4bea42
mov edi, dword [ebp - 0x1cc]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [edi + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx], eax
sub edx, 4
sub ecx, 1
jns 0x4bea27
mov edi, dword [ebp - 0x1f4]
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x4bead5
jle 0x4bea9a
push edi
call fcn.004c2530
add esp, 4
push eax
push 0x504fc8
push dword [ebp - 0x1d4]
call fcn.004c8590
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
push dword [eax + 4]
lea edx, [edx + 0xdc]
push dword [esi + 0x10]
call fcn.004c4cb0
mov edx, dword [ebp - 0x1dc]
add esp, 8
mov dword [esi + 0x14], 0
test edx, edx
jne 0x4b9aa3
test byte [edi + 8], 0x12
je 0x4beaf0
movzx edx, byte [ebp - 0x201]
mov ecx, edi
call fcn.004ca2f0
mov ecx, edi
jmp 0x4bde95
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov cl, byte [ecx + 0x58]
test cl, 0x41
je 0x4bebd3
test byte [esi + 0x98], 0x10
jne 0x4bebd3
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x4beb44
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x4bebd3
mov ebx, dword [ebp - 0x1d0]
test cl, 0x40
je 0x4beb7a
mov edi, dword [ebx + 0xc8]
mov edx, eax
mov ecx, esi
call fcn.004bfa90
mov esi, eax
push esi
push dword [ebx + 0xcc]
call edi
push esi
call fcn.004ed2c0
mov esi, dword [ebp - 0x1d4]
add esp, 0xc
jmp 0x4bebd3
cmp dword [ebx + 0xb8], 1
push eax
jle 0x4bebbf
push str.____s
push ebx
call fcn.004eac00
mov ecx, dword [ebx + 0xc8]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x1d4]
push dword [ebx + 0xcc]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.004ed200
mov esi, dword [ebp - 0x1d4]
jmp 0x4bebd3
mov eax, dword [ebx + 0xc8]
push esi
push dword [ebx + 0xcc]
push 1
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 4]
cmp eax, dword [0x519a80]
jl 0x4bec22
cmp byte [ecx], 0xa8
je 0x4b8b4e
mov edx, 1
cmp dword [esi + 0x6c], edx
jle 0x4bec20
mov eax, 0x14
lea esp, [esp]
mov ecx, dword [esi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x4bec11
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x6c]
jl 0x4bec00
mov ecx, dword [ebp - 0x1cc]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
inc dword [esi + 0xbc]
mov edi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
add edi, 0x14
jmp 0x4b8909
mov edx, dword [ebp - 0x1cc]
mov dword [edi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x4becf3
movzx eax, word [edx + 2]
test ax, ax
je 0x4becc2
push dword [eax*4 + 0x5065cc]
push str._s_constraint_failed
push edi
call fcn.004c8590
mov eax, dword [ebp - 0x1cc]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4becd3
push eax
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x1d0]
call fcn.004eac00
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x4becd3
push dword [edx + 0x10]
push 0x504fc8
push edi
call fcn.004c8590
add esp, 0xc
push dword [edi + 0x7c]
mov eax, dword [ebp - 0x1cc]
push dword [edi + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.004ea8d0
add esp, 0x14
mov ecx, edi
call fcn.004c4f40
mov ecx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1cc]
mov dword [ebp - 0x1dc], eax
cmp eax, 5
jne 0x4bed1b
mov dword [edi + 0x28], eax
mov ebx, eax
jmp 0x4bf2b0
mov eax, dword [edi + 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x1dc], eax
mov ebx, eax
jmp 0x4bf2b0
push 0x5133f4
push 0x15240
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.004ea8d0
mov edx, 0xb
add esp, 0x14
mov dword [ebp - 0x1dc], edx
jmp 0x4b9aa9
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.004c8590
add esp, 8
mov edx, 5
jmp 0x4b9a9d
mov edi, dword [ebp - 0x1d4]
push str.cannot_release_savepoint___SQL_statements_in_progress
push edi
call fcn.004c8590
mov edx, 5
add esp, 8
mov dword [ebp - 0x1dc], edx
mov ebx, dword [ebp - 0x1e0]
jmp 0x4b9aaf
mov esi, dword [ebp - 0x1cc]
mov eax, 0x66666667
mov edi, dword [ebp - 0x1d4]
mov ecx, esi
sub ecx, dword [ebp - 0x1e0]
mov ebx, 5
imul ecx
mov ecx, dword [ebp - 0x1d0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov byte [ecx + 0x4f], 0
mov dword [edi + 0x28], ebx
jmp 0x4bf2b0
mov edx, 8
jmp 0x4b9a9d
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
cmp dl, 5
jne 0x4bf287
mov ebx, dword [ebp - 0x1dc]
mov ecx, esi
sub ecx, dword [ebp - 0x1e0]
mov eax, 0x66666667
imul ecx
mov dword [edi + 0x28], ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
jmp 0x4bf2a4
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x4bee3f
mov ecx, dword [ebp - 0x1d0]
call fcn.004ed240
mov ecx, dword [ebp - 0x1d0]
push 0
push 0x1c
call fcn.004ecef0
mov esi, eax
add esp, 8
test esi, esi
je 0x4bee67
push 0x1c
push str.database_schema_has_changed
push esi
call fcn.00407040
add esp, 0xc
mov edi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d0]
mov dword [edi + 0x7c], esi
mov esi, dword [ebp - 0x1cc]
mov eax, dword [eax + 0x10]
mov edx, dword [esi + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x40]
je 0x4bee9c
mov ecx, dword [ebp - 0x1d0]
call fcn.004a14c0
mov eax, dword [edi + 0x98]
mov edx, 0x11
mov ebx, dword [ebp - 0x1e0]
and eax, 0xfffffffd
or eax, 1
mov dword [ebp - 0x1dc], edx
mov dword [edi + 0x98], eax
jmp 0x4b9ab5
mov edx, 0x204
jmp 0x4b9a9d
mov edi, dword [ebp - 0x1d4]
mov edx, 6
mov ebx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1dc], edx
mov byte [edi + 0x92], 2
jmp 0x4b9aaf
mov dword [ebp - 0x1dc], 7
mov ecx, dword [ebp - 0x1d0]
call fcn.004a1440
mov edx, dword [ebp - 0x1dc]
cmp edx, 7
je 0x4baddb
jmp 0x4b9aa3
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0x1dc], 1
call fcn.004c8590
add esp, 8
mov edx, 1
jmp 0x4b9aa3
push esi
call fcn.004c2530
add esp, 4
push eax
push 0x504fc8
mov edi, dword [ebp - 0x1d4]
push edi
call fcn.004c8590
mov edx, dword [ebp - 0x1dc]
add esp, 0xc
mov ebx, dword [ebp - 0x1e0]
jmp 0x4b9aaf
mov dword [ebp - 0x1dc], 1
mov eax, str.into
cmp esi, 5
je 0x4bef84
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x4bef4b
push dword [ebp - 0xb0]
mov eax, dword [edi + 0x1c]
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 4
mov esi, ebx
jmp 0x4bade7
mov edx, 6
jmp 0x4b9a9d
or ebx, 0xffffffff
mov edx, 9
mov dword [ebp - 0x21c], ebx
jmp 0x4b9a9d
mov esi, edi
jmp 0x4befce
mov esi, dword [ebp - 0x1d4]
push str.string_or_blob_too_big
push esi
call fcn.004c8590
add esp, 8
mov edx, 0x12
jmp 0x4b9a9d
xor edx, edx
mov ecx, esi
call fcn.004c52a0
mov edx, eax
mov dword [ebp - 0x1dc], edx
test edx, edx
jne 0x4b9aa3
mov eax, dword [esi]
cmp dword [eax + 0x1d0], edx
je 0x4bf01a
cmp dword [esi + 0x30], edx
je 0x4bf01a
mov edx, 1
mov ecx, esi
call fcn.004c5320
mov eax, dword [esi + 0x20]
xor edi, edi
mov ecx, dword [ebp - 0x1cc]
add eax, 2
mov edx, dword [ebp - 0x1e4]
or eax, 1
mov dword [esi + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0x1d4]
mov dword [eax + 0x78], esi
cmp dword [ecx + 8], edi
jle 0x4bf093
mov ebx, 0x202
mov eax, 0x1000
test word [esi + 8], ax
je 0x4bf070
mov ecx, esi
call fcn.004ca0d0
test eax, eax
jne 0x4baddb
mov ecx, dword [ebp - 0x1cc]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x4bf08a
mov ecx, esi
call fcn.004ca120
mov ecx, dword [ebp - 0x1cc]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x4bf050
mov ecx, dword [ebp - 0x1d0]
cmp byte [ecx + 0x51], 0
jne 0x4bade1
test byte [ecx + 0x58], 4
mov edi, dword [ebp - 0x1d4]
je 0x4bf0c5
mov eax, dword [ecx + 0xc8]
push 0
push edi
push dword [ecx + 0xcc]
push 4
call eax
add esp, 0x10
mov esi, dword [ebp - 0x1cc]
mov eax, 0x66666667
mov ecx, esi
mov ebx, 0x64
sub ecx, dword [ebp - 0x1e0]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x24], eax
jmp 0x4bf2a4
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1d0]
mov ebx, dword [ecx + 4]
movzx eax, byte [edx + 0x4f]
mov ecx, dword [ecx + 8]
cmp ebx, eax
je 0x4bf1e7
test ecx, ecx
je 0x4bf12a
mov esi, dword [ebp - 0x1d0]
mov edx, 0x204
mov ecx, esi
call fcn.0045c200
mov al, 1
jmp 0x4bf177
test ebx, ebx
je 0x4bf14f
cmp dword [edx + 0xb4], 0
jle 0x4bf14f
push str.cannot_commit_transaction___SQL_statements_in_progress
push esi
call fcn.004c8590
add esp, 8
mov edx, 5
jmp 0x4b9a9d
mov edx, 1
mov dword [ebp - 0x22c], ebx
mov ecx, esi
call fcn.004c52a0
mov dword [ebp - 0x1dc], eax
test eax, eax
jne 0x4bf292
mov esi, dword [ebp - 0x1d0]
mov eax, ebx
mov edi, dword [ebp - 0x1d4]
mov ecx, edi
mov byte [esi + 0x4f], al
call fcn.004c4f40
cmp eax, 5
jne 0x4bf1c8
mov esi, dword [ebp - 0x1cc]
mov eax, 0x66666667
mov ecx, esi
sub ecx, dword [ebp - 0x1e0]
imul ecx
mov ecx, dword [ebp - 0x1d0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov al, 1
sub al, bl
mov ebx, 5
mov byte [ecx + 0x4f], al
mov dword [edi + 0x28], ebx
jmp 0x4bf2b0
mov ecx, esi
call fcn.0045cd70
mov eax, dword [edi + 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x1dc], eax
jmp 0x4bf298
test ebx, ebx
jne 0x4bf202
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push esi
call fcn.004c8590
add esp, 8
lea edx, [ebx + 1]
jmp 0x4b9a9d
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x4bf210
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push esi
call fcn.004c8590
add esp, 8
mov edx, 1
jmp 0x4b9a9d
mov esi, dword [ebp - 0x1d4]
xor eax, eax
cmp byte [ecx + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x1dc], eax
mov dword [esi + 0x28], eax
call fcn.0045c1c0
push eax
push 0x504fc8
push esi
call fcn.004c8590
mov edx, dword [ebp - 0x1dc]
add esp, 0xc
jmp 0x4b9aa3
mov ecx, dword [ebp - 0x1d0]
jmp 0x4bade7
mov edi, ebx
mov ebx, dword [ebp - 0x1e0]
jmp 0x4b9aaf
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0x1e0]
jmp 0x4b9ab5
mov edi, dword [ebp - 0x1d4]
mov ebx, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d0]
lea ebx, [ebx]
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1d8]
cmp eax, edx
jb 0x4bf310
mov eax, dword [ecx + 0x148]
test eax, eax
je 0x4bf30a
add edx, dword [ecx + 0x150]
push dword [ecx + 0x14c]
mov dword [ebp - 0x21c], edx
call eax
mov ecx, dword [ebp - 0x1d0]
add esp, 4
test eax, eax
je 0x4bf2b0
or ebx, 0xffffffff
mov edx, 9
mov dword [ebp - 0x21c], ebx
mov ebx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1dc], edx
jmp 0x4b9ab5
mov eax, dword [ebp - 0x1d8]
add dword [edi + 0xb4], eax
mov ecx, edi
call fcn.004c6c40
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403d8c
mov esp, ebp
pop ebp
ret