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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov esi, edx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x48b853
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x74], 0
jne 0x48b844
mov eax, dword [esp + 0xc]
test byte [eax + 0x50], 8
jne 0x48b844
mov byte [ecx + 0x17], 1
call fcn.004346f0
mov ecx, eax
test eax, eax
je 0x48d3dc
mov ebx, dword [ebp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
mov dword [esp], ecx
jle 0x48b884
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xa6
movdqa xmm0, xmmword [0x5280a0]
movdqu xmmword [ecx + eax*4 + 4], xmm0
jmp 0x48b897
mov edx, 0xa6
push 0
push 1
push 1
call fcn.004747e0
add esp, 0xc
mov edi, dword [esp + 8]
mov dword [edi + 0x2c], 2
mov ecx, dword [edi]
cmp dword [ebx + 4], 0
je 0x48b8c6
cmp byte [ecx + 0xb1], 0
je 0x48b8d1
push str.corrupt_database
push edi
call fcn.00434540
add esp, 8
jmp 0x48d3dc
movzx ecx, byte [ecx + 0xb0]
mov ebx, esi
jmp 0x48b8e2
mov edx, esi
call fcn.0049e4e0
mov ecx, eax
test eax, eax
js 0x48b997
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
cmp ecx, 1
jne 0x48b90e
mov ecx, edi
call fcn.004447e0
test ebx, ebx
je 0x48d3dc
test eax, eax
je 0x48b916
jmp 0x48d3dc
test ebx, ebx
je 0x48d3dc
mov edi, dword [ebx]
test edi, edi
je 0x48d3dc
mov ebx, dword [ebx + 4]
xor eax, eax
mov edx, ebx
inc edx
sete al
mov ecx, dword [esp + 0xc]
push eax
call fcn.0043f5f0
add esp, 4
test eax, eax
je 0x48d3dc
mov esi, eax
mov eax, dword [ebp + 0x10]
push ebx
push edi
mov edi, eax
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
movzx eax, byte [esi]
cmp byte [eax + 0x52aaeb], 0
jns 0x48b9ae
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov edx, 1
mov ecx, esi
jmp 0x48b984
mov byte [ecx], bl
inc edx
inc ecx
movzx ebx, byte [esi + edx]
cmp bl, al
jne 0x48b980
cmp byte [esi + edx + 1], al
jne 0x48b9ab
inc edx
mov ebx, eax
jmp 0x48b980
push esi
push str.unknown_database__T
push edi
call fcn.00434540
add esp, 0xc
jmp 0x48d3dc
mov byte [ecx], 0
mov eax, dword [ebp + 0xc]
test edi, edi
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], esi
je 0x48b9f5
push eax
push 0x5334ee
push ecx
call fcn.004346d0
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
shl ecx, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
mov dword [esp + 0x24], ecx
je 0x48ba77
mov eax, dword [esp + 0x14]
add eax, ecx
mov ebx, dword [eax]
jmp 0x48ba79
mov dword [esp + 0x10], 0
test eax, eax
je 0x48b9d0
mov edi, dword [eax]
test edi, edi
je 0x48b9d0
mov ebx, dword [eax + 4]
xor eax, eax
mov edx, ebx
inc edx
sete al
mov ecx, dword [esp + 0xc]
push eax
call fcn.0043f5f0
add esp, 4
test eax, eax
je 0x48b9d0
mov esi, eax
push ebx
push edi
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
movzx eax, byte [esi]
cmp byte [eax + 0x52aaeb], 0
jns 0x48ba6e
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov edx, 1
mov ecx, esi
jmp 0x48ba5d
inc edx
mov ebx, eax
mov byte [ecx], bl
inc edx
inc ecx
movzx ebx, byte [esi + edx]
cmp bl, al
jne 0x48ba59
cmp byte [esi + edx + 1], al
je 0x48ba56
mov byte [ecx], 0
mov dword [esp + 0x10], esi
jmp 0x48b9d0
xor ebx, ebx
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x168]
test ecx, ecx
je 0x48baa3
cmp byte [eax + 0xb1], 0
jne 0x48baa3
mov edx, dword [esp + 8]
cmp byte [edx + 0xd0], 0
je 0x48bd70
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x1c4], 0
lea eax, [esp + 0x70]
push eax
push 0xe
push ebx
push ecx
call fcn.0043d690
add esp, 0x10
test eax, eax
je 0x48bb90
mov esi, eax
cmp eax, 0xc
mov eax, dword [esp]
jne 0x48bc21
add eax, 0x6c
mov dword [esp + 0x28], eax
mov eax, 0x41
xor ecx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], eax
lea esi, [eax + ecx]
mov edx, esi
shr edx, 0x1f
add edx, esi
sar edx, 1
mov eax, edx
shl eax, 4
mov edi, dword [eax + 0x52d810]
test edi, edi
je 0x48bb6c
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
lea eax, [eax + 0x52d810]
mov dword [esp + 0x2c], eax
xor esi, esi
jmp 0x48bb53
movzx ebx, byte [ebx + 0x52a853]
movzx eax, byte [eax + 0x52a853]
sub ebx, eax
jne 0x48bb71
inc esi
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax + esi]
movzx eax, byte [edi + esi]
cmp bl, al
jne 0x48bb40
test ebx, ebx
jne 0x48bb52
jmp 0x48bc53
mov ebx, 1
lea eax, [edx - 1]
inc edx
test ebx, ebx
mov esi, dword [esp + 0x30]
cmovs esi, eax
mov eax, esi
cmovns ecx, edx
cmp ecx, esi
jle 0x48bb0a
jmp 0x48d3be
mov esi, dword [esp]
mov ecx, esi
mov edx, 1
call fcn.00474bd0
mov eax, dword [esp + 0x70]
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x48bbcc
mov ecx, dword [esi + 0x74]
sub esp, 0x10
movdqa xmm0, xmmword [0x528100]
movdqu xmmword [esp], xmm0
mov edx, eax
call fcn.00430c10
add esp, 0x10
mov eax, dword [esp + 0x70]
test eax, eax
je 0x48bd0f
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x75
push 0
push eax
push 0
push 1
push 0
call fcn.00493a50
add esp, 0x14
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x48bcfa
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x54
movdqa xmm0, xmmword [0x5280a0]
movdqu xmmword [ecx + eax*4 + 4], xmm0
jmp 0x48bd0f
mov eax, dword [esp + 0x70]
test eax, eax
mov edi, dword [esp + 8]
je 0x48bc48
push eax
push 0x52a965
push edi
call fcn.00434540
add esp, 0xc
push dword [esp + 0x70]
call fcn.00424f10
add esp, 4
inc dword [edi + 0x24]
mov dword [edi + 0xc], esi
jmp 0x48d3be
mov esi, dword [esp + 0x34]
movzx ebx, byte [esi + 0x52d815]
test bl, 1
je 0x48bc74
mov ecx, dword [esp + 8]
call fcn.00474d20
test eax, eax
jne 0x48d3be
test bl, 2
jne 0x48bc91
test bl, 4
je 0x48bc85
cmp dword [esp + 0x10], 0
jne 0x48bc91
mov ecx, dword [esp]
mov edx, dword [esp + 0x2c]
call fcn.004d6db0
movzx eax, byte [esi + 0x52d814]
dec eax
cmp eax, 0x2a
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp]
ja case.0x48bcad.5
jmp dword [eax*4 + 0x528110]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48bcef
lea edx, [esp + 0x18]
call fcn.0043ed20
test eax, eax
jne 0x48bcef
cmp dword [esp + 0x1c], 0
js 0x48bcef
mov eax, dword [esp + 0x18]
and eax, 0x7fffffff
mov dword [ebx + 0x1ec], eax
mov edx, dword [ebx + 0x1ec]
jmp 0x48d3ad
mov ecx, esi
mov edx, 0x54
push 0
push 1
push 1
call fcn.004747e0
add esp, 0xc
mov esi, dword [esp + 0x70]
test esi, esi
je 0x48d3be
cmp dword [0x53c208], 0
je 0x48bda1
mov eax, dword [0x53de88]
test eax, eax
je 0x48bd37
push eax
call dword [0x53c258]
add esp, 4
push esi
call dword [0x53c234]
add esp, 4
sub dword [0x53de30], eax
dec dword [0x53de54]
push esi
call dword [0x53c22c]
add esp, 4
mov eax, dword [0x53de88]
test eax, eax
je 0x48d3be
push eax
call dword [0x53c260]
jmp 0x48d3bb
mov edi, dword [esp + 8]
push dword [edi + 0xf8]
push ebx
push dword [esp + 0x18]
push dword [esp + 0x58]
push 0x13
push dword [eax + 0x16c]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x48bdad
mov esi, 0x17
mov eax, str.not_authorized
jmp 0x48bdbe
push esi
call dword [0x53c22c]
jmp 0x48d3bb
test eax, 0xfffffffd
je 0x48bdd0
mov esi, 1
mov eax, str.authorizer_malfunction
push eax
push edi
call fcn.00434540
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x48d3be
test eax, eax
jne 0x48d3be
jmp 0x48baa3
mov eax, 1
mov ecx, dword [esp + 4]
shl eax, cl
or dword [edx + 0x98], eax
mov edi, dword [esi + 0x52d818]
cmp ecx, 1
je 0x48be12
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov esi, dword [esp + 0x24]
mov ecx, dword [ecx + esi + 4]
cmp byte [ecx + 9], 0
je 0x48be12
or dword [edx + 0x9c], eax
cmp dword [esp + 0x10], 0
mov ecx, dword [esp + 0x38]
je 0x48be37
add ecx, 0xffffffe6
cmp ecx, 0x13
ja 0x48dd9e
mov eax, 0xc0003
bt eax, ecx
jae 0x48dd9e
mov ecx, edx
mov esi, edx
mov edx, 3
push 0x53376f
call fcn.004348a0
add esp, 4
mov ecx, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x20], edi
mov eax, dword [esi + 0x6c]
cmp eax, 2
jl 0x48d3be
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x68]
dec eax
lea edx, [ecx + 0x14]
cmp byte [edx], 0xa6
je 0x48daee
add edx, 0x14
dec eax
jne 0x48be70
jmp 0x48d3be
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov esi, dword [eax + edx + 4]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d519
call fcn.004d6f90
mov byte [ebx + 0x5a], al
mov ecx, esi
mov esi, eax
mov edx, eax
call fcn.004736e0
test eax, eax
jne 0x48dde7
dec esi
mov dword [esp + 8], esi
cmp esi, 1
ja 0x48dde7
mov edi, dword [esp]
mov esi, dword [edi + 0x6c]
mov ecx, edi
mov edx, 5
push 0x533522
call fcn.004348a0
add esp, 4
mov ecx, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
add esi, 4
mov dword [eax + 0x30], esi
mov dword [eax + 0x54], ecx
mov edx, dword [esp + 8]
mov dword [eax + 0x5c], edx
mov eax, 1
shl eax, cl
or dword [edi + 0x98], eax
cmp ecx, 1
je 0x48dde7
mov ecx, dword [esp]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x24]
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
je 0x48dde7
mov ecx, dword [esp]
or dword [ecx + 0x9c], eax
jmp 0x48dde7
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d52a
mov eax, esi
mov esi, dword [esi + 0x52d81c]
mov eax, dword [eax + 0x52d818]
mov edi, ebx
mov ebx, eax
and ebx, 0xffffbfff
cmp byte [edi + 0x55], 0
cmovne ebx, eax
xor edx, edx
call fcn.0043ebd0
test al, al
je 0x48d8e5
or dword [edi + 0x20], ebx
or dword [edi + 0x24], esi
mov esi, edi
jmp 0x48e04a
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48bfa4
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
call fcn.00471d30
push dword [esp + 0x18]
push ebx
call fcn.0043a130
add esp, 8
mov edx, dword [ebx + 0x1f0]
jmp 0x48d3ad
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d553
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
call fcn.00471d30
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov ecx, dword [edx + esi + 0xc]
mov dword [ecx + 0x50], eax
mov ecx, dword [edx + esi + 4]
mov eax, dword [edx + esi + 0xc]
jmp 0x48c214
mov esi, dword [esp + 0x10]
test esi, esi
je 0x48d569
mov dword [esp + 0x18], 1
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00471d30
test eax, eax
mov edi, esi
je 0x48d91f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov ecx, dword [eax + ecx + 4]
mov esi, dword [esp + 0x18]
mov edx, esi
call fcn.004733f0
jmp 0x48d923
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48dd2d
xor edx, edx
call fcn.0043ebd0
movzx edx, al
mov ecx, ebx
call fcn.004d7540
jmp 0x48dde7
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 2
mov esi, dword [ebx + 0x1b4]
test esi, esi
je 0x48d3be
xor edi, edi
mov eax, dword [esi + 8]
push dword [eax]
push edi
inc edi
push 0x5335de
push 1
push dword [esp + 0x10]
call fcn.004d7350
add esp, 0x14
mov esi, dword [esi]
test esi, esi
jne 0x48c06e
jmp 0x48d3be
mov esi, dword [esp + 0x10]
test esi, esi
je 0x48d58f
cmp byte [esi], 0
je 0x48c0d0
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x48d50f
cmp dword [esp + 0x18], 0
je 0x48d50f
push dword [0x53dfb0]
call fcn.00424f10
add esp, 4
cmp byte [esi], 0
je 0x48db4c
push esi
push 0x52a965
call fcn.00428600
add esp, 8
mov dword [0x53dfb0], eax
jmp 0x48dde7
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 3
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x48d3be
xor esi, esi
mov edi, 4
mov ebx, dword [esp + 0xc]
jmp 0x48c14a
push eax
push dword [ecx + edi - 4]
push esi
push 0x5335da
push 1
push dword [esp + 0x14]
call fcn.004d7350
add esp, 0x18
mov eax, dword [ebx + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jge 0x48d3be
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + edi]
test edx, edx
je 0x48c13e
mov eax, dword [edx + 4]
mov edx, dword [eax]
mov eax, 0x52bb36
cmp byte [edx + 0xf], 0
jne 0x48c122
mov eax, dword [edx + 0xb8]
jmp 0x48c122
mov eax, 1
mov ecx, dword [esp + 4]
shl eax, cl
or dword [edx + 0x98], eax
cmp ecx, 1
je 0x48c19b
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov esi, dword [esp + 0x24]
mov ecx, dword [ecx + esi + 4]
cmp byte [ecx + 9], 0
je 0x48c19b
or dword [edx + 0x9c], eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d59c
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
call fcn.00471d30
mov eax, dword [esp + 0x18]
mov ecx, eax
neg ecx
cmp eax, 0x80000000
mov esi, 0x7fffffff
cmovne esi, ecx
test eax, eax
cmovns esi, eax
mov ecx, dword [esp + 8]
xor edx, edx
mov edi, ebx
mov ebx, dword [esp + 4]
push ebx
call fcn.0049e3c0
add esp, 4
mov ecx, dword [esp]
mov edx, 0x64
push esi
push 3
push ebx
mov ebx, edi
call fcn.00474780
add esp, 0xc
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov eax, dword [edx + edi + 0xc]
mov dword [eax + 0x50], esi
mov ecx, dword [edx + edi + 4]
mov eax, dword [edx + edi + 0xc]
mov edx, dword [eax + 0x50]
call fcn.00446240
jmp 0x48dde7
cmp dword [esp + 0x10], 0
je 0x48d5ce
test byte [ebx + 0x18], 0x40
jne 0x48dde7
xor eax, eax
mov esi, dword [esp + 0x10]
jmp 0x48c252
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48db6a
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF8]
cmp cl, dl
jne 0x48c23e
test ecx, ecx
jne 0x48c251
mov esi, 0x5336cc
jmp 0x48f4a8
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x2c]
mov ecx, edx
lea esi, [edx + 5]
mov edx, esi
mov dword [esp + 0x34], esi
mov dword [eax + 0x2c], esi
mov eax, dword [ebx + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x38], eax
test eax, eax
je 0x48d3be
lea eax, [ecx + 1]
mov dword [esp + 0x48], eax
lea eax, [ecx + 2]
mov dword [esp + 0x58], eax
add ecx, 3
mov dword [esp + 0x64], ecx
jmp 0x48c2cd
test esi, esi
je 0x48d3be
mov eax, dword [esp + 0x10]
test eax, eax
je 0x48c2ec
xor esi, esi
mov ecx, dword [esp + 8]
xor edx, edx
push dword [esp + 0x20]
push eax
call fcn.00433f40
add esp, 8
jmp 0x48c2f5
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 8]
mov esi, dword [ecx]
test eax, eax
mov dword [esp + 0x38], esi
je 0x48c2c5
cmp byte [eax + 0x2b], 0
jne 0x48c2c5
cmp dword [eax + 0x30], 0
je 0x48c2c5
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebx + 0x10]
test ecx, ecx
je 0x48c32b
lea edx, [eax + 0xc]
mov ebx, 0xffffffff
inc ebx
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x48c31f
jmp 0x48c330
mov ebx, 0xffff8000
mov ecx, ebx
shl ecx, 4
mov eax, dword [eax + ecx]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, ebx
call fcn.0049bc70
mov ecx, esi
mov edx, ebx
mov edi, dword [esp + 0x2c]
push dword [edi]
push 0
push dword [edi + 0x14]
call fcn.00493de0
add esp, 0xc
movsx eax, word [edi + 0x22]
add eax, dword [esp + 0x34]
cmp eax, dword [esi + 0x2c]
jle 0x48c370
mov dword [esi + 0x2c], eax
mov ecx, esi
xor edx, edx
push 0x70
push edi
mov dword [esp + 0x1c], ebx
push ebx
call fcn.00493c10
add esp, 0xc
mov ecx, dword [esp]
mov edx, 0x75
push 0
push dword [edi]
push 0
push dword [esp + 0x54]
push 0
call fcn.00493a50
add esp, 0x14
mov esi, dword [edi + 0x30]
test esi, esi
je 0x48c46d
mov dword [esp + 4], 1
mov ebx, dword [esp + 0x20]
jmp 0x48c3e3
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push 0x70
push edi
push dword [esp + 0x1c]
call fcn.00493c10
add esp, 0xc
mov ebx, dword [esp + 0x20]
inc dword [esp + 4]
mov esi, dword [esi + 4]
test esi, esi
je 0x48c475
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0xc]
push ebx
call fcn.0043cbf0
add esp, 4
test eax, eax
je 0x48c3d4
mov edi, eax
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, dword [esp + 0x14]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.00493de0
add esp, 0xc
mov ecx, ebx
mov edx, edi
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.004cd910
add esp, 0xc
test eax, eax
mov ecx, dword [esp]
jne 0x48d3be
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x48c3b9
mov edx, 0x70
push dword [esp + 0x14]
push dword [ebx + 0x2c]
push dword [esp + 0xc]
call fcn.00474780
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, ebx
call fcn.00493e10
jmp 0x48c3d0
mov dword [esp + 4], 1
mov edi, dword [esp + 8]
mov eax, dword [esp + 4]
cmp dword [edi + 0x28], eax
jge 0x48c489
mov eax, dword [esp + 4]
mov dword [edi + 0x28], eax
mov ecx, dword [esp]
mov edx, 0x23
push 0
call fcn.004939f0
add esp, 4
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x30]
test esi, esi
mov ebx, dword [esp + 0x20]
je 0x48c75c
mov dword [esp + 0x44], 1
jmp 0x48c4d0
inc esi
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x30]
mov esi, dword [esi + 4]
test esi, esi
je 0x48c75c
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0xc]
push ebx
call fcn.0043cbf0
add esp, 4
mov ebx, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x3c], 0
test eax, eax
je 0x48c50d
mov ecx, edi
mov edx, ebx
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.004cd910
add esp, 0xc
mov dword [esp + 0x68], ebx
mov ecx, dword [edi + 0x38]
lea eax, [ecx - 1]
mov dword [esp + 0x24], eax
mov dword [edi + 0x38], eax
mov ebx, dword [esi + 0x14]
mov eax, dword [esp + 0x34]
add eax, ebx
cmp eax, dword [edi + 0x2c]
jle 0x48c532
mov dword [edi + 0x2c], eax
mov ebx, dword [esi + 0x14]
mov dword [esp + 0x40], ecx
test ebx, ebx
mov ecx, dword [esp]
mov dword [esp + 0x30], esi
jle 0x48c5eb
lea edx, [esi + 0x24]
xor esi, esi
xor edi, edi
jmp 0x48c597
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [edx + eax*4], 0x32
mov ebx, dword [esp + 0x14]
mov dword [edx + eax*4 + 4], ebx
mov ebx, dword [esp + 0x24]
mov dword [edx + eax*4 + 8], ebx
mov dword [edx + eax*4 + 0xc], 0
mov dword [edx + eax*4 + 0x10], 0
inc edi
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 0x14]
add esi, 4
mov edx, dword [esp + 4]
add edx, 8
cmp edi, ebx
jge 0x48c5eb
mov eax, dword [esp + 0x3c]
lea ebx, [eax + esi]
test eax, eax
mov dword [esp + 4], edx
cmove ebx, edx
mov eax, dword [esp + 0x34]
add eax, edi
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
push eax
push dword [ebx]
push 0
call fcn.00499720
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jg 0x48c54e
mov edx, 0x32
push 0
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.004747e0
mov ecx, dword [esp + 0xc]
add esp, 0xc
jmp 0x48c581
mov edx, dword [esp + 0x18]
test edx, edx
je 0x48c640
mov ecx, dword [esp + 0xc]
call fcn.004c55b0
mov edi, dword [esp]
mov ecx, edi
mov edx, 0x60
mov esi, dword [esp + 0x30]
push dword [esi + 0x14]
push eax
push 0
push ebx
mov ebx, dword [esp + 0x44]
push ebx
call fcn.00493a50
add esp, 0x14
mov ecx, edi
mov edx, 0x1c
push dword [esi + 0x14]
push ebx
push dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
push esi
call fcn.00434820
add esp, 0x10
mov ebx, dword [esp + 0x28]
jmp 0x48c678
cmp dword [esp + 0x68], 0
mov edi, dword [esp]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
je 0x48c678
mov eax, dword [edi + 0x6c]
add eax, 2
mov ecx, edi
mov edx, 0x1d
push dword [esp + 0x34]
push eax
push esi
call fcn.00474780
add esp, 0xc
mov ecx, edi
mov edx, dword [esp + 0x24]
call fcn.00493bc0
mov eax, dword [esp + 0x2c]
test byte [eax + 0x1c], 0x80
mov edx, 0x4b
mov eax, 0x87
cmove edx, eax
mov ecx, edi
push dword [esp + 0x58]
push 0
call fcn.00474720
add esp, 8
lea eax, [esi - 1]
push eax
mov eax, dword [esp + 0x34]
push dword [eax + 8]
push 0x5335ef
push dword [esp + 0x70]
push edi
call fcn.004d7350
add esp, 0x14
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x48c6f7
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x54
mov edx, dword [esp + 0x48]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], 4
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x48c712
mov ecx, edi
mov edx, 0x54
push 0
push 4
push dword [esp + 0x50]
call fcn.004747e0
mov edi, dword [esp + 0xc]
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x40]
neg edx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x48c72d
mov eax, dword [ebx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edx*4], eax
jmp 0x48c73a
mov eax, edx
mov edx, edi
push eax
call fcn.0049d4a0
add esp, 4
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x48c4bc
mov ecx, dword [esp + 0xc]
call fcn.0043f4f0
jmp 0x48c4bc
mov eax, dword [esp + 0x54]
inc eax
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x26
push eax
push 0
call fcn.00474720
add esp, 8
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48c79e
lea ecx, [eax - 1]
mov edx, dword [esp + 0x54]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
cmp dword [esp + 0x38], 0
mov ebx, dword [esp + 0xc]
jne 0x48c2cd
jmp 0x48d3be
mov edx, dword [esp + 0x10]
test edx, edx
je 0x48dd2d
mov ecx, ebx
push dword [esp + 0x20]
call fcn.0043cbf0
add esp, 4
test eax, eax
je 0x48dde7
cmp byte [eax + 0x2b], 0
jne 0x48dde7
mov edi, dword [eax + 0x30]
test edi, edi
je 0x48dde7
mov dword [esp + 4], eax
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x48f263
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
mov edx, 0xffffffff
inc edx
lea esi, [ecx + 0x10]
cmp dword [ecx], eax
mov ecx, esi
jne 0x48c80a
jmp 0x48f268
mov esi, dword [ebx + 0x18]
shr esi, 5
and esi, 1
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 6
mov eax, esi
neg eax
or eax, 0x3c0800
mov dword [esp + 8], eax
xor eax, eax
jmp 0x48c84c
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x17
je 0x48d43e
mov dword [esp + 0x14], eax
mov ebx, dword [eax*4 + 0x53dfe8]
jmp 0x48c867
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + 0x24]
test ebx, ebx
je 0x48c83e
mov dword [esp + 4], ebx
jmp 0x48c8c5
mov ecx, 0x53385d
cmp dword [ebx + 0x18], 0
je 0x48c8de
mov edx, eax
and edx, 3
movsx edi, byte [ebx]
and eax, dword [esp + 8]
xor eax, 0x200000
push eax
push edi
push dword [edx*4 + 0x533838]
push ecx
push 1
push dword [ebx + 0x20]
push str.sissii
push 1
push dword [esp + 0x20]
call fcn.004d7350
add esp, 0x24
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x48c860
cmp dword [ebx + 0x10], 0
je 0x48c8be
mov eax, dword [ebx + 4]
test esi, esi
jne 0x48c880
mov ecx, eax
and ecx, 0x40000
jne 0x48c8be
jmp 0x48c880
cmp dword [ebx + 0x14], 0
mov ecx, 0x53385f
mov edx, 0x53342f
cmove ecx, edx
jmp 0x48c88b
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48c91a
lea edx, [esp + 0x18]
call fcn.0043ed20
test eax, eax
je 0x48d952
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00424c20
jmp 0x48cdee
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48c94d
lea edx, [esp + 0x18]
call fcn.00471d30
test eax, eax
je 0x48c94d
mov esi, dword [esp + 0x18]
test esi, esi
jg 0x48c952
mov esi, 0x7fffffff
mov ecx, dword [esp + 8]
xor edx, edx
mov ebx, dword [esp + 4]
push ebx
call fcn.0049e3c0
add esp, 4
mov edi, dword [esp]
mov ecx, edi
mov edx, 0x47
push 1
push esi
call fcn.00474720
add esp, 8
mov ecx, edi
mov edx, 0x3d
push ebx
call fcn.004939f0
add esp, 4
mov esi, eax
mov ecx, edi
mov edx, 0x54
push 1
call fcn.004939f0
add esp, 4
mov ecx, edi
mov edx, 0x56
push 0xffffffffffffffff
push 1
call fcn.00474720
add esp, 8
mov ecx, edi
mov edx, 0x31
push esi
push 1
call fcn.00474720
add esp, 8
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48c9e3
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
jmp 0x48d3be
mov edx, dword [esp + 0x10]
test edx, edx
je 0x48dd2d
mov ecx, ebx
mov esi, dword [esp + 0x20]
push esi
call fcn.004715c0
add esp, 4
mov edi, eax
test eax, eax
je 0x48d995
mov eax, dword [edi + 0x18]
test eax, eax
je 0x48dbd4
mov ecx, dword [ebx + 0x10]
add ecx, 0xc
mov edx, 0xffffffff
inc edx
lea esi, [ecx + 0x10]
cmp dword [ecx], eax
mov ecx, esi
jne 0x48ca26
jmp 0x48dbd9
mov edx, dword [esp + 0x10]
test edx, edx
je 0x48dd2d
mov ecx, ebx
push dword [esp + 0x20]
call fcn.0043cbf0
add esp, 4
test eax, eax
je 0x48dde7
mov esi, eax
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x48dcb3
mov ecx, dword [ebx + 0x10]
add ecx, 0xc
mov edx, 0xffffffff
inc edx
lea edi, [ecx + 0x10]
cmp dword [ecx], eax
mov ecx, edi
jne 0x48ca6f
jmp 0x48dcb8
mov eax, dword [ebp + 8]
cmp dword [eax], 1
mov eax, 0
sbb eax, eax
or eax, dword [esp + 4]
mov dword [esp + 0x60], eax
movzx eax, byte [edi]
mov byte [esp + 0x58], al
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 6
mov dword [esp + 0x18], 0x64
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d5f8
lea edx, [esp + 0x18]
call fcn.00471d30
test eax, eax
je 0x48d9e5
mov eax, dword [esp + 0x18]
test eax, eax
mov ecx, 0x64
cmovg ecx, eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp]
xor edi, edi
jmp 0x48e081
mov edi, dword [esp + 0x10]
test edi, edi
je 0x48f569
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
je 0x48da02
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x48dd36
movzx edx, byte [edx + 0x52a853]
movzx esi, byte [ecx + str.delete]
movzx ebx, byte [esi + 0x52a853]
cmp dl, bl
jne 0x48dd46
inc ecx
cmp eax, ecx
jne 0x48cb08
xor edi, edi
jmp 0x48dd91
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + ecx + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xfffffffe
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48cba9
lea edx, [esp + 0x18]
call fcn.0043ed20
mov edx, dword [esp + 0x1c]
mov eax, 0xffffffff
mov ecx, 0xffffffff
test edx, edx
js 0x48cb87
mov ecx, dword [esp + 0x18]
mov eax, edx
cmp edx, 0xffffffff
cmove ecx, edx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb0], ecx
mov edx, dword [esi + 0xe8]
test edx, edx
je 0x48cba9
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
mov edx, dword [esi + 0xb0]
mov ecx, dword [esp]
push dword [esi + 0xb4]
jmp 0x48d3b6
mov ecx, dword [esp + 0x10]
call fcn.004d6f20
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x48d46c
cmp eax, 0xffffffff
jne 0x48d46c
lea ecx, [ebx + 0x59]
jmp 0x48db2f
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, dword [esp + 4]
call fcn.0049bc70
mov esi, dword [ebx + 0x2c]
inc esi
mov dword [ebx + 0x2c], esi
movzx eax, byte [edi]
and al, 0xdf
cmp al, 0x50
jne 0x48d48c
mov ebx, dword [esp]
mov ecx, ebx
mov edx, 0xb1
push esi
push dword [esp + 8]
call fcn.00474720
add esp, 8
jmp 0x48d4bf
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48da85
lea edx, [esp + 0x18]
call fcn.0043ed20
mov eax, dword [esp + 0x1c]
test eax, eax
js 0x48da0d
mov ecx, dword [esp + 0x18]
jmp 0x48da20
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 1
mov esi, dword [ebx + 0x188]
test esi, esi
je 0x48d3be
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x53342f
push 1
push dword [esp + 0xc]
call fcn.004d7350
add esp, 0x10
mov esi, dword [esi]
test esi, esi
jne 0x48cc87
jmp 0x48d3be
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d604
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
call fcn.00471d30
mov eax, dword [esp + 0x18]
mov esi, eax
test al, 2
jne 0x48d609
jmp 0x48dde7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov esi, dword [eax + ecx + 4]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d63f
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
call fcn.00471d30
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x64], edx
mov ecx, esi
push 0
push 0
call fcn.0043d960
add esp, 8
cmp eax, 7
jne 0x48dde7
mov ecx, ebx
call fcn.004314d0
jmp 0x48dde7
mov esi, 0xfffffbe0
push dword [esi + str.analysis_limit]
push 0x53342f
push 1
push dword [esp + 0xc]
call fcn.004d7350
add esp, 0x10
add esi, 0x10
jne 0x48cd33
jmp 0x48d3be
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + ecx + 4]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d652
mov esi, ebx
xor eax, eax
jmp 0x48cd88
movzx ebx, byte [ebx + 0x52a853]
cmp bl, byte [edx + 0x52a853]
jne 0x48d852
inc eax
movzx ebx, byte [ecx + eax]
movzx edx, byte [eax + str.fast]
cmp bl, dl
jne 0x48cd74
test ebx, ebx
jne 0x48cd87
mov edx, 2
jmp 0x48d85c
push ebx
call fcn.00439300
jmp 0x48d3bb
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48cde5
lea edx, [esp + 0x18]
call fcn.0043ed20
test eax, eax
jne 0x48cde5
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.00424a80
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00424a80
add esp, 8
mov esi, edx
mov ecx, dword [esp]
mov edx, eax
push esi
jmp 0x48d3b6
cmp dword [esp + 0x10], 0
je 0x48d65c
cmp byte [ebx + 0x55], 0
je 0x48dad8
cmp dword [esp + 4], 1
je 0x48dde7
mov ecx, dword [esp + 0x10]
xor edx, edx
push 1
call fcn.004d7240
add esp, 4
inc al
and al, 7
movzx eax, al
mov ecx, 1
cmovne ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov byte [eax + edx + 8], cl
mov byte [eax + edx + 9], 1
jmp 0x48d946
mov esi, dword [esp + 0x10]
test esi, esi
je 0x48dd2d
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, dword [esp + 0x20]
call fcn.004a8eb0
mov ecx, edi
mov edx, 2
push dword [esp + 0x20]
push esi
call fcn.00433f40
add esp, 8
test eax, eax
je 0x48dde7
mov edi, eax
mov eax, dword [eax + 8]
mov dword [esp + 0x44], 0
test eax, eax
je 0x48ddff
movzx ecx, word [eax + 0x37]
and ecx, 3
cmp cx, 2
je 0x48ddfb
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48ce9f
jmp 0x48ddff
mov ecx, dword [esp + 8]
mov dword [ecx + 0x2c], 6
mov esi, dword [esp + 0x20]
mov edx, esi
call fcn.004a8eb0
cmp dword [ebx + 0x14], 0
jle 0x48d3be
mov ecx, esi
mov dword [esp + 0x28], 0
jmp 0x48cf02
mov ecx, dword [esp + 0x28]
inc ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
cmp ecx, dword [eax + 0x14]
mov ecx, dword [esp + 0x20]
jge 0x48d3be
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x10]
test ecx, ecx
je 0x48cf43
mov eax, dword [esp + 0x28]
shl eax, 4
mov ecx, dword [esi + eax]
test ecx, ecx
je 0x48cee8
xor edx, edx
jmp 0x48cf2f
movzx ebx, byte [ebx + 0x52a853]
cmp bl, byte [eax + 0x52a853]
jne 0x48cee8
inc edx
mov eax, dword [esp + 0x20]
movzx ebx, byte [eax + edx]
movzx eax, byte [ecx + edx]
cmp bl, al
jne 0x48cf1f
test ebx, ebx
jne 0x48cf2e
mov eax, dword [esp + 0x28]
shl eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esi + eax + 0xc]
mov edi, dword [eax + 0xc]
add eax, 8
test edi, edi
mov ebx, dword [esp + 0xc]
je 0x48d004
dec edi
lea ecx, [eax + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x48d004
mov edx, dword [ecx + 8]
cmp word [edx + 0x22], 0
jne 0x48cf68
push dword [edx]
push str.SELECTFROM__w_
push ebx
call fcn.004346d0
add esp, 0xc
test eax, eax
je 0x48cfc8
mov esi, eax
mov dword [esp + 0x18], 0
mov ecx, ebx
mov edx, eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push 0xffffffffffffffff
call fcn.00436690
add esp, 0x14
push dword [esp + 0x18]
call fcn.0042d1d0
add esp, 4
mov ecx, ebx
mov edx, esi
call fcn.0043f4f0
cmp byte [ebx + 0x57], 0
je 0x48cfee
push str.out_of_memory
push dword [ebx + 0x108]
call fcn.00434540
add esp, 8
mov eax, dword [ebx + 0x108]
mov dword [eax + 0xc], 7
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + ecx + 0xc]
add eax, 8
test edi, edi
jne 0x48cf64
mov esi, dword [eax + 8]
test esi, esi
mov edi, dword [esp + 0x10]
jne 0x48d059
jmp 0x48cee8
xor edi, edi
mov eax, dword [esp + 8]
movsx edx, word [eax + 0x22]
mov eax, dword [eax + 0x1c]
mov ebx, eax
shr ebx, 7
and ebx, 1
shr eax, 0x10
and eax, 1
push eax
push ebx
push edx
push ecx
push edi
push dword [esp + 0x18]
push str.sssiii
push 1
push dword [esp + 0x20]
call fcn.004d7350
add esp, 0x24
mov edi, dword [esp + 0x10]
mov esi, dword [esi]
test esi, esi
je 0x48cee8
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
test edi, edi
je 0x48d0a0
mov eax, dword [esp + 8]
mov ecx, dword [eax]
test ecx, ecx
je 0x48d04f
xor edx, edx
jmp 0x48d090
movzx ebx, byte [ebx + 0x52a853]
cmp bl, byte [eax + 0x52a853]
jne 0x48d04f
inc edx
movzx ebx, byte [edi + edx]
movzx eax, byte [ecx + edx]
cmp bl, al
jne 0x48d080
test ebx, ebx
jne 0x48d08f
mov eax, dword [esp + 8]
movzx eax, byte [eax + 0x2b]
cmp eax, 2
je 0x48d0bd
cmp eax, 1
mov eax, dword [esp + 0xc]
jne 0x48d0c8
mov ecx, str.virtual
jmp 0x48d0dd
mov ecx, str.view
mov eax, dword [esp + 0xc]
jmp 0x48d0dd
mov ecx, dword [esp + 8]
test byte [ecx + 0x1d], 0x10
mov ecx, str.shadow
mov edx, str.table
cmove ecx, edx
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + edx]
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
mov edi, dword [eax]
test edi, edi
je 0x48d014
movzx edx, byte [edi]
xor ebx, ebx
test edx, edx
je 0x48d1ac
mov eax, edx
and al, 0xdf
cmp al, 0x53
jne 0x48d1b3
movzx edx, byte [edi + 1]
test edx, edx
je 0x48d1c0
mov eax, edx
and al, 0xdf
cmp al, 0x51
jne 0x48d1c7
movzx edx, byte [edi + 2]
test edx, edx
je 0x48d1d4
mov eax, edx
and al, 0xdf
cmp al, 0x4c
jne 0x48d1db
movzx edx, byte [edi + 3]
test edx, edx
je 0x48d1e8
mov eax, edx
and al, 0xdf
cmp al, 0x49
jne 0x48d1ef
movzx edx, byte [edi + 4]
test edx, edx
je 0x48d1fc
mov eax, edx
and al, 0xdf
cmp al, 0x54
jne 0x48d203
movzx edx, byte [edi + 5]
test edx, edx
je 0x48d210
mov eax, edx
and al, 0xdf
cmp al, 0x45
jne 0x48d217
movzx edx, byte [edi + 6]
test edx, edx
je 0x48d2a5
cmp dl, 0x5f
je 0x48d237
lea ebx, [edx + 0x52a853]
mov edx, 0x5318fb
jmp 0x48d222
mov edx, str.sqlite_
jmp 0x48d225
lea ebx, [edx + 0x52a853]
mov edx, str.sqlite_
jmp 0x48d222
mov edx, 0x5318f6
jmp 0x48d225
lea ebx, [edx + 0x52a853]
mov edx, 0x5318f6
jmp 0x48d222
mov edx, 0x5318f7
jmp 0x48d225
lea ebx, [edx + 0x52a853]
mov edx, 0x5318f7
jmp 0x48d222
mov edx, 0x5318f8
jmp 0x48d225
lea ebx, [edx + 0x52a853]
mov edx, 0x5318f8
jmp 0x48d222
mov edx, 0x5318f9
jmp 0x48d225
lea ebx, [edx + 0x52a853]
mov edx, 0x5318f9
jmp 0x48d222
mov edx, 0x5318fa
jmp 0x48d225
lea ebx, [edx + 0x52a853]
mov edx, 0x5318fa
movzx ebx, byte [ebx]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x52a853]
cmp ebx, eax
jne 0x48d016
mov edx, 7
jmp 0x48d250
movzx ebx, byte [ebx + 0x52a853]
cmp bl, byte [eax + 0x52a853]
jne 0x48d26d
inc edx
movzx ebx, byte [edi + edx]
movzx eax, byte [edx + str.sqlite_master]
cmp bl, al
jne 0x48d240
test ebx, ebx
jne 0x48d24f
mov edi, str.sqlite_schema
jmp 0x48d016
mov edx, 7
jmp 0x48d288
movzx ebx, byte [ebx + 0x52a853]
cmp bl, byte [eax + 0x52a853]
jne 0x48d016
inc edx
movzx ebx, byte [edi + edx]
movzx eax, byte [edx + str.sqlite_temp_master]
cmp bl, al
jne 0x48d274
test ebx, ebx
jne 0x48d287
mov edi, str.sqlite_temp_schema
jmp 0x48d016
mov edx, 0x5318fb
jmp 0x48d225
mov edx, dword [esp + 0x10]
test edx, edx
je 0x48d676
mov ecx, dword [esp + 8]
call fcn.004d7150
jmp 0x48dde7
mov esi, dword [esp + 0x10]
test esi, esi
je 0x48d684
cmp byte [esi], 0
je 0x48d306
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x48d50f
cmp dword [esp + 0x18], 0
je 0x48d50f
push dword [0x53dfb4]
call fcn.00424f10
add esp, 4
cmp byte [esi], 0
je 0x48db5b
push esi
push 0x52a965
call fcn.00428600
add esp, 8
mov dword [0x53dfb4], eax
jmp 0x48dde7
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d36b
lea edx, [esp + 0x18]
call fcn.0043ed20
test eax, eax
jne 0x48d36b
cmp dword [esp + 0x1c], 0
js 0x48d36b
mov dword [ebx + 0xa4], 0
mov edx, dword [ebx + 0xa4]
jmp 0x48d3ad
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d399
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
call fcn.00471d30
push dword [esp + 0x18]
push ebx
call fcn.0043b140
add esp, 8
xor edx, edx
cmp dword [ebx + 0x10c], 0x43b240
jne 0x48d3ad
mov edx, dword [ebx + 0x110]
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp]
push eax
call fcn.004d6e40
add esp, 4
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x4c]
call fcn.0043f4f0
mov edx, dword [esp + 0x10]
test edx, edx
je 0x48d3dc
mov ecx, dword [esp + 0xc]
call fcn.0043f4f0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], 0
mov eax, 0xc
mov ebx, dword [esp + 4]
cmove ebx, eax
mov esi, dword [esp + 0x10]
xor eax, eax
test esi, esi
je 0x48f19e
mov edi, dword [esp + 8]
jmp 0x48d41e
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48d8ad
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.full]
cmp cl, dl
jne 0x48d40a
test ecx, ecx
jne 0x48d41d
mov eax, 1
mov edx, dword [esp]
jmp 0x48f1a2
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x1a4]
test edi, edi
je 0x48d3be
mov edx, dword [edi + 8]
mov ecx, dword [esp]
push esi
push 0
call fcn.004d7490
add esp, 8
mov edi, dword [edi]
test edi, edi
jne 0x48d450
jmp 0x48d3be
test ecx, ecx
jne 0x48dafe
mov ecx, dword [ebx + 0x14]
cmp ecx, 2
jle 0x48daf7
mov edx, 2
mov esi, 0x24
jmp 0x48d4e4
xor edi, edi
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x48d4a7
lea edx, [esp + 0x18]
call fcn.0043ed20
test eax, eax
je 0x48dfe7
mov ebx, dword [esp]
mov ecx, ebx
mov edx, 0xb2
push edi
push esi
push dword [esp + 0xc]
call fcn.00474780
add esp, 0xc
mov ecx, ebx
mov edx, 0x54
push 1
push esi
jmp 0x48f625
mov byte [edi + 4], al
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x14]
inc edx
add esi, 0x10
cmp edx, ecx
jge 0x48daf7
test eax, eax
mov edi, dword [esp + 0xc]
js 0x48d4d8
mov edi, dword [edi + 0x10]
mov edi, dword [edi + esi]
mov edi, dword [edi + 4]
mov edi, dword [edi]
cmp byte [edi + 0xc], 0
jne 0x48d4d8
mov ebx, dword [edi + 0xe8]
test ebx, ebx
je 0x48d4ce
cmp byte [ebx + 0x2b], 2
jne 0x48d4ce
jmp 0x48d4d8
push str.not_a_writable_directory
jmp 0x48dadd
mov ecx, esi
call fcn.00473750
mov ecx, dword [esp]
mov edx, eax
jmp 0x48d67d
mov ecx, edx
mov edx, dword [esp + 0x2c]
call fcn.004d6db0
mov eax, dword [esi + 0x52d818]
mov ecx, dword [esi + 0x52d81c]
and ecx, dword [ebx + 0x24]
and eax, dword [ebx + 0x20]
xor edx, edx
or eax, ecx
setne dl
jmp 0x48d67a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + ecx + 0xc]
mov ecx, edx
mov edx, dword [eax + 0x50]
jmp 0x48d66c
xor edx, edx
test byte [ebx + 0x20], 0x20
je 0x48dd1c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov ecx, dword [eax + ecx + 4]
xor edx, edx
call fcn.004733f0
mov edx, eax
jmp 0x48dd1c
mov ecx, edx
mov edx, dword [0x53dfb0]
jmp 0x48d68c
mov eax, dword [esp + 8]
add dword [eax + 0x2c], 2
mov ecx, edx
mov edx, 9
push 0x5334f2
call fcn.004348a0
add esp, 4
mov ecx, dword [esp + 4]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x48dd2d
mov ecx, dword [esp + 8]
call fcn.00474d20
test eax, eax
jne 0x48dd2d
mov eax, dword [esp + 8]
mov eax, dword [eax]
movzx eax, byte [eax + 0x54]
mov edx, dword [eax*8 + 0x5336cc]
mov ecx, dword [esp]
jmp 0x48d68c
mov ecx, 0x64
xor edi, edi
jmp 0x48e081
mov esi, 0xfffe
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x28], eax
inc eax
mov dword [ecx + 0x28], eax
mov edx, dword [esp + 4]
mov edi, edx
cmp dword [esp + 0x20], 0
jne 0x48d629
mov edi, dword [ebx + 0x14]
dec edi
cmp edx, edi
mov ecx, dword [esp]
jle 0x48d696
mov edx, 0xa6
call fcn.004939b0
jmp 0x48d3be
test esi, esi
je 0x48dd1a
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x24]
jmp 0x48dd1c
mov edx, 0xffffffff
jmp 0x48d89a
mov ecx, edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
movzx edx, byte [eax + edx + 8]
dec edx
mov eax, edx
sar eax, 0x1f
jmp 0x48dd24
movzx edx, byte [ebx + 0x56]
mov ecx, dword [esp]
push 0
jmp 0x48dd25
mov ecx, edx
mov edx, dword [0x53dfb4]
call fcn.004d6d50
jmp 0x48dd2d
and esi, 1
mov dword [esp + 0x20], esi
lea eax, [esi + 2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edi
jmp 0x48d6bb
lea eax, [edx + 1]
mov edi, dword [esp + 0x34]
cmp edx, edi
mov edx, eax
je 0x48d630
cmp edx, 1
je 0x48d6aa
mov ecx, dword [esp + 8]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
call fcn.0049bc70
mov edx, dword [esp + 4]
mov ecx, dword [esp]
mov eax, dword [ebx + 0x10]
mov esi, edx
shl esi, 4
mov dword [esp + 0x14], esi
mov eax, dword [eax + esi + 0xc]
mov edi, dword [eax + 0x10]
test edi, edi
jne 0x48d718
jmp 0x48d6aa
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x94
push 0xfffffffffffffffa
push eax
push 0
push 0
push 0
call fcn.00493a50
mov ecx, esi
add esp, 0x14
mov edx, dword [esp + 4]
mov edi, dword [edi]
test edi, edi
je 0x48d6aa
mov esi, dword [edi + 8]
test byte [esi + 0x1d], 1
je 0x48d712
movzx ebx, word [esi + 0x26]
mov eax, dword [esi + 8]
test eax, eax
je 0x48d741
nop dword [eax]
test byte [eax + 0x37], 0x80
je 0x48d7bf
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48d730
add ebx, 0x2e
test bx, bx
je 0x48d7bf
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
push 0x70
push esi
push dword [esp + 0xc]
call fcn.00493c10
add esp, 0xc
mov ecx, dword [esp]
mov eax, dword [ecx + 0x6c]
mov edx, dword [esp + 0x24]
add edx, eax
mov dword [esp + 0x30], edx
movsx ebx, bx
cmp dword [ecx + 0x70], eax
jle 0x48d7a9
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4], 0x20
mov eax, dword [esp + 0x28]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x30]
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], ebx
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48d7bf
mov edx, 0x20
push ebx
push dword [esp + 0x34]
push dword [esp + 0x30]
call fcn.004747e0
add esp, 0xc
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x10]
push dword [esi]
mov ecx, dword [esp + 0x18]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push ebx
call fcn.004346d0
add esp, 0x10
cmp dword [esp + 0x20], 0
je 0x48d6f1
mov ebx, dword [esp + 8]
movzx edx, byte [ebx + 0x13]
test dl, dl
mov ecx, dword [esp]
je 0x48d808
dec dl
mov byte [ebx + 0x13], dl
movzx edx, dl
mov esi, dword [ebx + edx*4 + 0x98]
jmp 0x48d80f
mov esi, dword [ebx + 0x2c]
inc esi
mov dword [ebx + 0x2c], esi
mov edx, 0x75
push 0xfffffffffffffffa
push eax
push 0
push esi
push 0
call fcn.00493a50
add esp, 0x14
mov ecx, dword [esp]
mov edx, 0x54
push 1
push esi
call fcn.00474720
mov ecx, dword [esp + 8]
add esp, 8
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov edi, dword [edi]
test edi, edi
jne 0x48d718
jmp 0x48d6aa
xor edx, edx
call fcn.0043ebd0
movzx edx, al
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x48d89a
mov dword [esp + 8], edi
cmp dword [esi + 0x14], 0
jle 0x48d896
xor edi, edi
mov ebx, 4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ebx]
mov esi, edx
call fcn.004d6ec0
mov edx, esi
inc edi
add ebx, 0x10
mov eax, dword [esp + 0xc]
cmp edi, dword [eax + 0x14]
jl 0x48d876
mov edi, dword [esp + 8]
mov ecx, edi
call fcn.004d6ec0
mov ecx, dword [esp]
mov edx, eax
push 0
jmp 0x48d3b6
xor eax, eax
jmp 0x48d8c5
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48db9f
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.restart]
cmp cl, dl
jne 0x48d8b1
test ecx, ecx
jne 0x48d8c4
mov eax, 2
mov edx, dword [esp]
jmp 0x48f1a2
mov eax, esi
mov ecx, ebx
not ecx
and dword [edi + 0x20], ecx
not eax
and dword [edi + 0x24], eax
mov eax, ebx
xor eax, 0x80000
or eax, esi
jne 0x48e00f
mov esi, dword [esp + 0xc]
mov dword [esi + 0x20c], 0
mov dword [esi + 0x208], 0
jmp 0x48e04a
mov esi, dword [esp + 0x18]
xor edx, edx
test esi, esi
setne dl
mov ecx, edi
call fcn.0043ebd0
xor ecx, ecx
test al, al
setne cl
mov eax, dword [ebx + 0x20]
and eax, 0xffffffdf
shl ecx, 5
or ecx, eax
mov dword [ebx + 0x20], ecx
mov ecx, ebx
call fcn.004d7050
jmp 0x48dde7
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00424c20
add esp, 8
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp ecx, 1
mov edi, esi
sbb edi, 0
jl 0x48c91a
mov edi, eax
or edi, edx
je 0x48d986
cmp ecx, eax
mov eax, esi
sbb eax, edx
jge 0x48c91a
push esi
push ecx
call fcn.00424c20
add esp, 8
jmp 0x48c91a
mov ecx, dword [esp + 8]
mov edx, 2
push esi
push dword [esp + 0x14]
call fcn.00433f40
add esp, 8
test eax, eax
je 0x48dde7
test byte [eax + 0x1c], 0x80
je 0x48dde7
mov edi, dword [eax + 8]
test edi, edi
je 0x48dde7
movzx eax, word [edi + 0x37]
and eax, 3
cmp ax, 2
je 0x48f310
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x48d9c8
jmp 0x48d3be
cmp dword [esp + 0x60], 0
js 0x48e063
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x60]
shl ecx, 4
mov eax, dword [eax + ecx]
jmp 0x48e065
xor edi, edi
mov ecx, dword [esp + 4]
jmp 0x48f589
mov eax, dword [0x53c2b4]
mov ecx, dword [0x53c2b0]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0xc]
mov esi, dword [ebp + 8]
cmp dword [esi + 4], 0
jne 0x48da33
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], eax
mov esi, dword [edx + 0x14]
test esi, esi
mov edi, dword [esp + 4]
jle 0x48da85
lea ebx, [esi + 1]
shl esi, 4
add esi, 0xfffffff4
neg edi
jmp 0x48da64
mov edx, dword [esp + 0x18]
push dword [esp + 0x1c]
call fcn.004d70a0
add esp, 4
dec ebx
add esi, 0xfffffff0
cmp ebx, 1
jbe 0x48da85
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + esi]
test ecx, ecx
je 0x48da5b
lea eax, [edi + ebx]
cmp eax, 2
je 0x48da4b
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x48da5b
jmp 0x48da4b
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
lea eax, [esp + 0x18]
push eax
push 0x12
push dword [esp + 0x28]
push dword [esp + 0x18]
call fcn.0043d690
add esp, 0x10
cmp eax, 0xc
je 0x48d3be
test eax, eax
jne 0x48dac9
mov edx, dword [esp + 0x18]
mov ecx, dword [esp]
push dword [esp + 0x1c]
jmp 0x48d3b6
mov ecx, dword [esp + 8]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x48d3be
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0xc]
call fcn.00434540
add esp, 8
jmp 0x48dde7
mov byte [ecx + 0x14], 0xb8
jmp 0x48d3be
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x59], al
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, dword [ecx + edx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
test eax, eax
js 0x48db2c
cmp byte [ecx + 0xc], 0
jne 0x48db2c
mov edx, dword [ecx + 0xe8]
test edx, edx
je 0x48db29
cmp byte [edx + 0x2b], 2
je 0x48db2c
mov byte [ecx + 4], al
add ecx, 4
cmp byte [ecx], 1
mov eax, str.exclusive
mov edx, str.normal
cmove edx, eax
mov ecx, dword [esp]
call fcn.004d6d50
jmp 0x48d3be
mov dword [0x53dfb0], 0
jmp 0x48dde7
mov dword [0x53dfb4], 0
jmp 0x48dde7
xor eax, eax
jmp 0x48db82
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f164
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF_8]
cmp cl, dl
jne 0x48db6e
test ecx, ecx
jne 0x48db81
mov esi, 0x5336d4
jmp 0x48f4a4
xor eax, eax
jmp 0x48dbb7
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f199
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.truncate]
cmp cl, dl
jne 0x48dba3
test ecx, ecx
jne 0x48dbb6
mov eax, 3
jmp 0x48f19b
mov edx, 0xffff8000
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x52d81c]
mov ecx, dword [eax + 0x52d818]
xor eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 4], esi
or ecx, esi
setne al
lea esi, [eax + eax*2 + 3]
movzx ebx, word [edi + eax*2 + 0x32]
mov ecx, dword [esp + 8]
mov dword [ecx + 0x2c], esi
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], eax
call fcn.0049bc70
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x48d3be
xor esi, esi
mov ebx, dword [esp]
jmp 0x48dc4a
mov ecx, ebx
mov edx, 0x54
mov eax, dword [esp + 8]
push dword [eax + 0x2c]
push 1
call fcn.00474720
add esp, 8
inc esi
cmp dword [esp + 0x20], esi
je 0x48d3be
mov eax, dword [edi + 4]
movsx eax, word [eax + esi*2]
mov ecx, 0
test eax, eax
js 0x48dc67
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*2]
mov ecx, dword [ecx + edx*4]
push ecx
push eax
push esi
push str.iisX
push 1
push ebx
call fcn.004d7350
add esp, 0x18
mov eax, dword [esp + 0x14]
or eax, dword [esp + 4]
je 0x48dc27
mov eax, dword [edi + 0x1c]
movzx ecx, word [edi + 0x32]
xor edx, edx
cmp esi, ecx
mov ecx, dword [edi + 0x20]
movzx eax, byte [eax + esi]
setb dl
push edx
push dword [ecx + esi*4]
push eax
push str.isiX
push 4
push ebx
call fcn.004d7350
add esp, 0x18
jmp 0x48dc27
mov edx, 0xffff8000
mov ecx, dword [esp + 8]
mov dword [ecx + 0x2c], 5
call fcn.0049bc70
mov esi, dword [esi + 8]
test esi, esi
je 0x48d3be
xor edi, edi
xor eax, eax
cmp byte [esi + 0x36], 0
setne al
movzx ecx, word [esi + 0x37]
and ecx, 3
xor edx, edx
cmp dword [esi + 0x24], 0
setne dl
push edx
push dword [ecx*4 + 0x5335c8]
push eax
push dword [esi]
push edi
push str.isisi
push 1
push dword [esp + 0x1c]
call fcn.004d7350
add esp, 0x20
inc edi
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x48dcd5
jmp 0x48d3be
xor edx, edx
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp]
push eax
call fcn.004d6e40
add esp, 4
mov ecx, ebx
mov edx, edi
jmp 0x48d3d7
movzx ecx, byte [ecx + str.delete]
movzx ebx, byte [ecx + 0x52a853]
xor edx, edx
movzx ecx, bl
cmp edx, ecx
jne 0x48dd5c
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
xor edi, edi
jmp 0x48f589
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x48f1cc
movzx edx, byte [edx + 0x52a853]
movzx esi, byte [ecx + str.persist]
movzx ebx, byte [esi + 0x52a853]
cmp dl, bl
jne 0x48f1dc
inc ecx
cmp eax, ecx
jne 0x48dd5e
mov edi, 1
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
jmp 0x48f589
mov ecx, edx
mov edx, 2
push 0x533767
call fcn.004348a0
add esp, 4
mov esi, eax
mov eax, dword [esp + 4]
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
mov dword [esp + 0x18], 0
lea edx, [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.00471d30
mov eax, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov word [esi + 0x16], 1
mov ebx, dword [esp + 0xc]
mov ecx, ebx
mov edx, dword [esp + 0x4c]
call fcn.0043f4f0
mov edx, dword [esp + 0x10]
jmp 0x48d3d3
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x34]
mov dword [ecx + 0x2c], 7
mov edx, edi
call fcn.004a63a0
movzx ecx, word [edi + 0x22]
test cx, cx
jle 0x48d3be
movzx eax, cx
mov edx, dword [edi + 4]
lea esi, [esi + 0x52d818]
mov dword [esp + 0x2c], esi
mov esi, edx
mov edx, ecx
mov dword [esp + 0x38], 0
mov dword [esp + 8], 0
mov dword [esp + 0x40], edi
jmp 0x48de93
mov al, dl
push dword [esp + 0x24]
push ebx
push ecx
push eax
push dword [esp + 0x40]
push dword [esp + 0x3c]
push edi
push dword [esp + 0x3c]
push 1
push dword [esp + 0x24]
call fcn.004d7350
add esp, 0x28
mov edi, dword [esp + 0x40]
movzx edx, word [edi + 0x22]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 8]
inc ecx
add esi, 0xc
movsx eax, dx
mov dword [esp + 8], ecx
cmp ecx, eax
jge 0x48d3be
movzx ebx, word [esi + 0xa]
test bl, 0x62
je 0x48decf
mov word [esp + 4], dx
mov ecx, edi
mov edi, dword [esp + 0x2c]
mov edx, dword [edi]
or edx, dword [edi + 4]
je 0x48dee1
test bl, 0x20
mov edi, ecx
jne 0x48deee
mov ecx, ebx
and ecx, 0x40
mov edx, ecx
shr edx, 6
mov dword [esp + 0x34], edx
shr ecx, 5
or ecx, 1
mov dword [esp + 0x24], ecx
jmp 0x48defc
mov dword [esp + 0x34], 0
mov dword [esp + 0x24], 0
jmp 0x48defc
inc dword [esp + 0x38]
mov edi, ecx
movzx edx, word [esp + 4]
jmp 0x48de7c
mov dword [esp + 0x24], 2
mov cl, 1
mov dword [esp + 0x34], ecx
and ebx, 1
mov dword [esp + 4], esi
je 0x48df43
cmp dword [esp + 0x44], 0
je 0x48df43
test eax, eax
jle 0x48df3e
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 4]
lea ecx, [eax + 1]
neg eax
mov ebx, 1
movsx esi, word [edx + ebx*2 - 2]
cmp dword [esp + 8], esi
je 0x48df38
lea esi, [eax + ebx]
inc esi
inc ebx
cmp esi, 1
jne 0x48df21
mov ebx, ecx
mov esi, dword [esp + 4]
jmp 0x48df43
mov ebx, 1
movzx eax, word [esi + 8]
mov edx, 0
test eax, eax
je 0x48df5b
cmp byte [edi + 0x2b], 0
mov edx, 0
je 0x48dfc6
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
mov ecx, str.issisii
mov eax, str.issisi
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 8]
sub edi, dword [esp + 0x38]
mov esi, dword [esp + 4]
mov eax, dword [esi]
mov dword [esp + 0x28], eax
mov ecx, esi
mov edx, 0x52a82c
call fcn.0043d590
mov dword [esp + 0x30], eax
xor eax, eax
test byte [esi + 4], 0xf
mov esi, dword [esp + 0x14]
setne dl
test esi, esi
sete dh
mov ecx, dword [esp + 0x34]
or cl, dh
mov ecx, 0
jne 0x48de4c
mov ecx, dword [esi + 8]
jmp 0x48de4c
mov ecx, dword [edi + 0x34]
mov edx, 0
test ecx, ecx
je 0x48df5b
mov edx, 0
cmp dword [ecx], eax
jl 0x48df5b
shl eax, 4
mov edx, dword [eax + ecx - 8]
jmp 0x48df5b
mov eax, dword [esp + 0x1c]
test eax, eax
mov ebx, dword [esp]
js 0x48d4aa
mov edi, dword [esp + 0x18]
cmp edi, 0xfffffffe
mov edx, 0xfffffffe
cmovae edi, edx
test eax, eax
cmovne edi, edx
jmp 0x48d4aa
test bl, 1
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
je 0x48e04a
xor eax, eax
jmp 0x48e030
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48e04a
inc eax
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + str.reset]
cmp cl, dl
jne 0x48e020
test ecx, ecx
jne 0x48e02f
mov ecx, esi
call fcn.0042ee00
mov ecx, dword [esp]
mov edx, 0xa6
call fcn.004939b0
mov ecx, esi
call fcn.004d7050
jmp 0x48d3be
xor eax, eax
mov ecx, dword [esp + 8]
xor edx, edx
push eax
push dword [esp + 0x14]
call fcn.00433f40
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp]
mov dword [esp + 0x84], ecx
lea eax, [ecx - 1]
mov ecx, edx
mov edx, 0x47
push 1
push eax
call fcn.00474720
add esp, 8
test edi, edi
setne al
cmp dword [ebx + 0x14], 0
jle 0x48f105
and byte [esp + 0x58], 0xdf
xor ecx, ecx
mov cl, al
mov dword [esp + 0x88], ecx
mov eax, dword [esp]
add eax, 0x68
mov dword [esp + 4], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], edi
jmp 0x48e0ea
mov ecx, dword [esp + 0x50]
inc ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
cmp ecx, dword [eax + 0x14]
jge 0x48f105
cmp dword [esp + 0x60], 0
js 0x48e0fb
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x60]
jne 0x48e0d4
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x50]
mov edx, esi
call fcn.0049bc70
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
shl esi, 4
mov dword [esp + 0x20], esi
mov eax, dword [eax + esi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x10]
test eax, eax
je 0x48e0d4
xor esi, esi
xor ecx, ecx
jmp 0x48e138
cmp edx, esi
cmovg esi, edx
mov eax, dword [eax]
test eax, eax
je 0x48e16c
mov edx, dword [eax + 8]
test edi, edi
je 0x48e143
cmp edi, edx
jne 0x48e132
bt dword [edx + 0x1c], 7
sbb ecx, 0xffffffff
mov ebx, dword [edx + 8]
xor edx, edx
test ebx, ebx
je 0x48e12d
nop word cs:[eax + eax]
inc edx
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x48e160
add ecx, edx
jmp 0x48e12d
test ecx, ecx
je 0x48e0d4
add ecx, dword [esp + 0x88]
lea edx, [ecx*4 + 4]
mov ecx, dword [esp + 0xc]
push 0
call fcn.0043f5f0
add esp, 4
test eax, eax
je 0x48f105
test edi, edi
je 0x48e1aa
mov dword [eax + 4], 0
mov ebx, 1
jmp 0x48e1ac
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
mov edx, dword [esp + 8]
jne 0x48e2bd
mov dword [eax], ebx
mov ecx, dword [edx + 0x2c]
add esi, 8
cmp ecx, esi
cmovg esi, ecx
mov dword [edx + 0x2c], esi
mov byte [edx + 0x13], 0
mov dword [edx + 0x1c], 0
mov edi, dword [esp]
mov ecx, edi
mov edx, 0x9b
push 0xfffffffffffffff2
push eax
push 1
push ebx
push 2
call fcn.00493a50
add esp, 0x14
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x48e211
movzx ecx, byte [esp + 0x50]
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov edi, dword [esp]
mov ecx, edi
mov edx, 0x32
push 2
call fcn.004939f0
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x20]
push dword [eax + edx]
push str._in_database__s__n
push ecx
call fcn.004346d0
add esp, 0xc
mov ecx, edi
mov edx, 0x75
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.00493a50
add esp, 0x14
mov ecx, edi
mov edx, 0x6f
push 3
push 3
push 2
call fcn.00474780
add esp, 0xc
mov ecx, edi
call fcn.004d7610
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
mov ebx, dword [esp + 0x28]
jne 0x48e29c
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
jmp 0x48e329
mov ecx, dword [ecx]
test ecx, ecx
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x48]
je 0x48e1bf
mov edx, dword [ecx + 8]
test edi, edi
je 0x48e2c8
cmp edi, edx
jne 0x48e2ab
test byte [edx + 0x1c], 0x80
jne 0x48e2d6
mov edi, dword [edx + 0x14]
mov dword [eax + ebx*4 + 4], edi
inc ebx
mov edx, dword [edx + 8]
test edx, edx
je 0x48e2ab
nop dword [eax]
mov edi, dword [edx + 0x2c]
mov dword [eax + ebx*4 + 4], edi
inc ebx
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x48e2e0
jmp 0x48e2ab
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x26
mov edi, dword [esp + 0x54]
push edi
push dword [esp + 0x40]
call fcn.00474720
add esp, 8
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
mov ebx, dword [esp + 0x28]
je 0x48e399
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx]
test ecx, ecx
mov edi, dword [esp + 0x48]
je 0x48e0d4
test edi, edi
sete al
mov dword [esp + 0x64], ecx
mov edx, dword [ecx + 8]
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], 0xffffffff
cmp edi, edx
sete cl
cmp byte [edx + 0x2b], 0
jne 0x48e323
or al, cl
je 0x48e323
mov dword [esp + 0x34], 0
test byte [edx + 0x1c], 0x80
mov dword [esp + 0x20], edx
jne 0x48e378
mov ecx, dword [esp + 8]
jmp 0x48e3ba
mov eax, dword [edx + 8]
test eax, eax
mov ecx, dword [esp + 8]
je 0x48e3ba
movzx edx, word [eax + 0x37]
and edx, 3
cmp dx, 2
je 0x48e3b2
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48e383
jmp 0x48e3b6
test edi, edi
cmovle edi, eax
lea ecx, [edi + edi*4]
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
jmp 0x48e320
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x20]
sub esp, 0x18
lea eax, [esp + 0x74]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x10], eax
movdqa xmm0, xmmword [0x5280b0]
movdqu xmmword [esp], xmm0
mov edi, edx
call fcn.004ca900
add esp, 0x18
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x47
push 7
push 0
call fcn.00474720
mov ecx, esi
add esp, 8
mov esi, dword [edi + 8]
test esi, esi
je 0x48e463
mov edi, 8
jmp 0x48e443
lea edx, [eax + 1]
mov dword [ebx], edx
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov dword [edx + eax*4], 0x47
mov dword [edx + eax*4 + 4], 0
mov dword [edx + eax*4 + 8], edi
mov dword [edx + eax*4 + 0xc], 0
mov dword [edx + eax*4 + 0x10], 0
mov esi, dword [esi + 0x14]
inc edi
test esi, esi
je 0x48e463
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jg 0x48e40a
mov edx, 0x47
push 0
push edi
push 0
call fcn.004747e0
mov ecx, dword [esp + 0xc]
add esp, 0xc
jmp 0x48e43b
mov edx, 0x23
push 0
push dword [esp + 0x40]
call fcn.00474720
add esp, 8
mov ecx, dword [esp]
mov edx, 0x56
push 1
push 7
call fcn.00474720
mov ecx, dword [esp + 8]
add esp, 8
mov dword [esp + 0x54], eax
cmp byte [esp + 0x58], 0x51
je 0x48e4d1
mov eax, dword [esp + 0x20]
movsx eax, word [eax + 0x24]
dec eax
mov edx, 0x5e
push 3
push eax
push dword [esp + 0x44]
call fcn.00474780
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov eax, dword [ecx + 0x6c]
test eax, eax
jle 0x48e4d1
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], 0x80
mov edx, dword [esp + 0x20]
cmp word [edx + 0x22], 0
jle 0x48e7d3
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x30], eax
xor ebx, ebx
xor edi, edi
jmp 0x48e510
mov dword [ecx + 8], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x20]
nop word [eax + eax]
inc edi
movsx eax, word [edx + 0x22]
add ebx, 0xc
cmp edi, eax
jge 0x48e7d3
movsx eax, word [edx + 0x20]
cmp edi, eax
je 0x48e500
mov eax, dword [edx + 4]
mov dword [esp + 0x14], eax
test byte [eax + ebx + 4], 0xf
jne 0x48e531
mov eax, dword [esp + 0x30]
and eax, 0x10000
je 0x48e500
xor esi, esi
test dword [esp + 0x30], 0x10000
je 0x48e548
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x38]
dec esi
mov dword [eax + 0x38], esi
mov dword [esp + 0x24], esi
mov esi, ecx
push 3
push edi
push dword [esp + 0x44]
call fcn.00499720
add esp, 0xc
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
lea esi, [ecx - 1]
mov edx, 0x53e0e4
cmp byte [eax + 0x57], 0
jne 0x48e57c
lea edx, [esi + esi*4]
shl edx, 2
mov eax, dword [esp + 4]
add edx, dword [eax]
cmp byte [edx], 0x5e
jne 0x48e595
test ecx, ecx
jle 0x48e595
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea eax, [esi + esi*4]
mov word [ecx + eax*4 + 2], 0x80
mov eax, dword [esp + 0x14]
test byte [eax + ebx + 4], 0xf
mov ecx, dword [esp]
mov edx, dword [esp + 0x20]
je 0x48e696
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x48e5e2
lea eax, [esi + 1]
mov edx, dword [esp + 0x28]
mov dword [edx], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov dword [esp + 0x2c], esi
lea edx, [esi + esi*4]
mov dword [eax + edx*4], 0x33
movdqa xmm0, xmmword [0x5280c0]
movdqu xmmword [eax + edx*4 + 4], xmm0
mov esi, ecx
jmp 0x48e5fb
mov esi, ecx
mov edx, 0x33
push 0
push 0
push 3
call fcn.004747e0
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
push dword [eax + ebx]
mov eax, dword [esp + 0x24]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x18]
call fcn.004346d0
add esp, 0x10
mov ecx, esi
mov edx, 0x75
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.00493a50
add esp, 0x14
test dword [esp + 0x30], 0x10000
je 0x48e64a
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebx + 4]
and al, 0xf0
cmp al, 0x10
jne 0x48e656
mov esi, dword [esp]
mov ecx, esi
call fcn.004d7610
jmp 0x48e664
mov esi, dword [esp]
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.00493bc0
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48e68c
lea ecx, [eax - 1]
mov edx, dword [esp + 0x2c]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x20]
test byte [edx + 0x1e], 1
je 0x48e500
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebx + 4]
shr eax, 4
cmp al, 1
je 0x48e500
movsx eax, byte [eax + 0x53361e]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x48e706
lea edx, [esi + 1]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [eax], edx
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov dword [esp + 0x2c], esi
lea edx, [esi + esi*4]
mov dword [eax + edx*4], 0x11
mov dword [eax + edx*4 + 4], 3
mov dword [eax + edx*4 + 8], 0
mov ecx, dword [esp + 0x38]
mov dword [eax + edx*4 + 0xc], ecx
mov dword [eax + edx*4 + 0x10], 0
jmp 0x48e71c
mov edx, 0x11
push eax
push 0
push 3
call fcn.004747e0
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ebx + 4]
shr eax, 2
and eax, 0x3c
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 4]
push dword [ecx + ebx]
push dword [edx]
push dword [eax + 0x53c9cc]
push str.non__s_value_in__s._s
push dword [esp + 0x1c]
call fcn.004346d0
add esp, 0x14
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x75
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.00493a50
add esp, 0x14
mov ecx, dword [esi + 0xc]
mov edx, esi
mov esi, dword [esp + 0x24]
not esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x48e789
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x48e799
mov edx, dword [esp]
push esi
call fcn.0049d4a0
mov edx, dword [esp + 4]
add esp, 4
mov ecx, edx
mov esi, edx
call fcn.004d7610
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48e4ed
lea ecx, [eax - 1]
mov edx, dword [esp + 0x2c]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx]
jmp 0x48e4ed
mov edx, dword [edx + 0x10]
test edx, edx
mov edi, dword [esp + 8]
je 0x48e8dd
mov eax, dword [esp + 0xc]
test byte [eax + 0x21], 2
jne 0x48e8dd
mov esi, dword [esp + 0xc]
mov ecx, esi
push 0
call fcn.0049ca80
add esp, 4
mov ebx, eax
cmp byte [esi + 0x57], 0
je 0x48e815
test ebx, ebx
jne 0x48e8d2
jmp 0x48e8dd
mov eax, dword [edi + 0x38]
lea ecx, [eax - 1]
mov dword [esp + 0x14], ecx
add eax, 0xfffffffe
mov dword [esp + 0x30], eax
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x3c]
inc eax
mov dword [edi + 0x34], eax
mov dword [esp + 0x24], ebx
mov eax, dword [ebx]
cmp eax, 2
jl 0x48e866
lea ebx, [eax + 1]
shl eax, 4
mov ecx, dword [esp + 0x24]
lea esi, [ecx + eax]
add esi, 0xfffffff8
push 0
push dword [esp + 0x18]
push dword [esi]
push edi
call fcn.004991c0
add esp, 0x10
dec ebx
add esi, 0xfffffff0
cmp ebx, 2
ja 0x48e84c
push 0x10
push dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
push dword [ebx + 8]
push edi
call fcn.0049db10
add esp, 0x10
mov esi, dword [esp]
mov ecx, esi
mov edx, dword [esp + 0x14]
call fcn.00498d80
mov dword [edi + 0x34], 0
mov eax, dword [esp + 0x20]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x14]
call fcn.004346d0
add esp, 0xc
mov ecx, esi
mov edx, 0x75
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.00493a50
add esp, 0x14
mov ecx, esi
call fcn.004d7610
mov ecx, esi
mov edx, dword [esp + 0x30]
call fcn.00498d80
mov ecx, dword [esp + 0xc]
mov edx, ebx
call fcn.00475f10
cmp byte [esp + 0x58], 0x51
je 0x48e2f1
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
test edi, edi
mov ecx, dword [esp]
mov ebx, dword [esp + 0x28]
je 0x48ef06
xor eax, eax
mov dword [esp + 0x14], 0xffffffff
xor esi, esi
jmp 0x48e92a
push eax
call fcn.0049d4a0
add esp, 4
mov eax, edi
mov ecx, dword [esp]
mov esi, dword [esp + 0x30]
inc esi
mov edi, dword [edi + 0x14]
test edi, edi
je 0x48ef06
mov dword [esp + 0x6c], 0xffffffff
mov edx, dword [esp + 8]
mov ebx, dword [edx + 0x38]
dec ebx
mov dword [edx + 0x38], ebx
cmp dword [esp + 0x34], edi
je 0x48e9b9
mov ecx, edx
mov edx, edi
push dword [esp + 0x14]
push eax
lea eax, [esp + 0x74]
push eax
push 0
push 0
push dword [esp + 0x50]
call fcn.004a8900
mov ecx, dword [esp + 0x18]
add esp, 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], esi
lea eax, [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x48e9c2
mov esi, ecx
lea edx, [eax + 1]
mov ecx, dword [esp + 0x28]
mov dword [ecx], edx
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4], 0x56
mov eax, dword [esp + 0x2c]
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 1
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48e9d9
mov ebx, dword [esp + 0x28]
jmp 0x48e91e
mov esi, ecx
mov edx, 0x56
push 0
push 1
push dword [esp + 0x34]
call fcn.004747e0
add esp, 0xc
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x30]
movzx ecx, word [edi + 0x34]
mov dword [esp + 0x38], ecx
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
mov ecx, esi
jle 0x48ea2c
mov dword [esp + 0x2c], edx
inc edx
mov esi, dword [esp + 0x28]
mov dword [esi], edx
mov edx, dword [esp + 4]
mov esi, dword [edx]
mov edx, dword [esp + 0x2c]
lea edx, [edx + edx*4]
mov dword [esi + edx*4], 0x1c
mov dword [esi + edx*4 + 4], eax
mov dword [esi + edx*4 + 8], ebx
mov eax, dword [esp + 0x14]
mov dword [esi + edx*4 + 0xc], eax
mov dword [esi + edx*4 + 0x10], 0
jmp 0x48ea47
mov esi, ecx
mov edx, 0x1c
push dword [esp + 0x14]
push ebx
push eax
call fcn.004747e0
mov ecx, esi
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
jne 0x48ea69
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov edx, dword [esp + 0x2c]
lea edx, [edx + edx*4]
mov byte [eax + edx*4 + 1], 0xfd
mov esi, dword [esp + 0x38]
mov dword [eax + edx*4 + 0x10], esi
mov edx, 0x75
push 0
push str.row
push 0
push 3
push 0
call fcn.00493a50
mov ecx, dword [esp + 0x14]
add esp, 0x14
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
mov ebx, dword [esp + 0x28]
jle 0x48eab8
lea edx, [eax + 1]
mov dword [ebx], edx
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov dword [edx + eax*4], 0x6f
movdqa xmm0, xmmword [0x5280d0]
movdqu xmmword [edx + eax*4 + 4], xmm0
jmp 0x48eacf
mov edx, 0x6f
push 3
push 3
push 7
call fcn.004747e0
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov edx, 0x75
push 0
push str._missing_from_index
push 0
push 4
push 0
call fcn.00493a50
mov ecx, dword [esp + 0x14]
add esp, 0x14
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x48eb1a
lea edx, [eax + 1]
mov dword [ebx], edx
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov dword [edx + eax*4], 0x6f
movdqa xmm0, xmmword [0x5280e0]
movdqu xmmword [edx + eax*4 + 4], xmm0
jmp 0x48eb31
mov edx, 0x6f
push 3
push 3
push 4
call fcn.004747e0
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov edx, 0x75
push 0
push dword [edi]
push 0
push 4
push 0
call fcn.00493a50
mov ecx, dword [esp + 0x14]
add esp, 0x14
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
mov dword [esp + 0x38], eax
jle 0x48eb7d
lea edx, [esi + 1]
mov dword [ebx], edx
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [esi + esi*4]
mov dword [edx + eax*4], 0x6f
movdqa xmm0, xmmword [0x5280e0]
movdqu xmmword [edx + eax*4 + 4], xmm0
jmp 0x48eb94
mov edx, 0x6f
push 3
push 3
push 4
call fcn.004747e0
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov esi, ecx
call fcn.004d7610
mov dword [esp + 0x44], eax
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48ebc7
lea ecx, [eax - 1]
mov edx, dword [esp + 0x2c]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx]
mov dword [ecx + 8], eax
cmp byte [edi + 0x36], 0
mov edx, dword [esp]
je 0x48eea7
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x2c], ecx
lea ebx, [ecx - 1]
mov dword [eax + 0x38], ebx
cmp word [edi + 0x32], 0
je 0x48ec89
xor esi, esi
mov dword [esp + 0x24], edi
jmp 0x48ec45
lea edx, [ecx + 1]
mov edi, ebx
mov ebx, dword [esp + 0x28]
mov dword [ebx], edx
mov ebx, edi
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x32
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], ebx
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
mov edx, dword [esp]
inc esi
movzx eax, word [edi + 0x32]
cmp esi, eax
jae 0x48ec89
mov eax, dword [edi + 4]
movzx eax, word [eax + esi*2]
test ax, ax
js 0x48ec62
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*2]
test byte [ecx + eax*4 + 4], 0xf
jne 0x48ec3c
mov eax, dword [esp + 0x14]
add eax, esi
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x48ec00
mov ecx, edx
mov edx, 0x32
push 0
push ebx
push eax
call fcn.004747e0
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x48ec3c
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x30]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x48ecd8
mov dword [esp + 0x40], ecx
inc ecx
mov esi, dword [esp + 0x28]
mov dword [esi], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov esi, edx
mov edx, dword [esp + 0x40]
lea edx, [edx + edx*4]
mov dword [ecx + edx*4], 0x26
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], 0
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x48ecf2
mov ecx, edx
mov esi, edx
mov edx, 0x26
push 0
push 0
push eax
call fcn.004747e0
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
mov ecx, esi
jle 0x48ed33
lea edx, [eax + 1]
mov esi, dword [esp + 0x28]
mov dword [esi], edx
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov dword [edx + eax*4], 8
mov dword [edx + eax*4 + 4], 0
mov dword [edx + eax*4 + 8], ebx
mov dword [edx + eax*4 + 0xc], 0
mov dword [edx + eax*4 + 0x10], 0
jmp 0x48ed49
mov edx, 8
push 0
push ebx
push 0
call fcn.004747e0
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov edx, dword [ecx]
mov eax, dword [ecx + 0x6c]
mov esi, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48ed71
lea edx, [eax - 1]
mov esi, dword [esp + 0x40]
test esi, esi
cmovns edx, esi
lea esi, [edx + edx*4]
shl esi, 2
mov edx, dword [esp + 4]
add esi, dword [edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x30]
movzx edx, word [edi + 0x32]
mov dword [esp + 0x68], edx
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jle 0x48edc5
mov dword [esp + 0x40], edx
inc edx
mov esi, dword [esp + 0x28]
mov dword [esi], edx
mov edx, dword [esp + 4]
mov esi, dword [edx]
mov ecx, dword [esp + 0x40]
lea edx, [ecx + ecx*4]
mov dword [esi + edx*4], 0x28
mov dword [esi + edx*4 + 4], eax
mov dword [esi + edx*4 + 8], ebx
mov eax, dword [esp + 0x14]
mov dword [esi + edx*4 + 0xc], eax
mov dword [esi + edx*4 + 0x10], 0
jmp 0x48eddc
mov edx, 0x28
push dword [esp + 0x14]
push ebx
push eax
call fcn.004747e0
add esp, 0xc
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp]
mov ecx, dword [eax]
cmp byte [ecx + 0x57], 0
mov ecx, eax
jne 0x48ee07
mov eax, dword [esp + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*4]
mov byte [edx + eax*4 + 1], 0xfd
mov ebx, dword [esp + 0x68]
mov dword [edx + eax*4 + 0x10], ebx
mov edx, 0x75
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
call fcn.00493a50
mov edx, dword [esp + 0x14]
add esp, 0x14
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
mov ebx, dword [esp + 0x28]
jle 0x48ee64
lea ecx, [eax + 1]
mov dword [ebx], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 8
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x48ee7c
mov ecx, edx
mov edx, 8
push 0
push esi
push 0
call fcn.004747e0
mov edx, dword [esp + 0xc]
add esp, 0xc
mov ecx, dword [edx + 0xc]
mov esi, dword [esp + 0x2c]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x48ee97
mov eax, dword [ebx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x48eea7
mov edx, dword [esp]
push esi
call fcn.0049d4a0
mov edx, dword [esp + 4]
add esp, 4
mov eax, edx
mov edx, dword [edx]
mov eax, dword [eax + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48eed1
lea ecx, [eax - 1]
mov edx, dword [esp + 0x44]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x48e915
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
not eax
mov esi, dword [ecx + 0x38]
add esi, dword [ecx + 0x3c]
js 0x48e90c
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x48e915
mov esi, ecx
mov edx, 0x26
mov edi, dword [esp + 0x54]
push edi
push dword [esp + 0x40]
call fcn.00474720
add esp, 8
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48ef42
test edi, edi
cmovle edi, eax
lea ecx, [edi + edi*4]
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [ecx + 8], eax
mov ecx, esi
mov edx, 0x75
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
call fcn.00493a50
add esp, 0x14
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
test edi, edi
je 0x48e323
xor ecx, ecx
jmp 0x48ef87
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x14]
inc ecx
mov edi, dword [edi + 0x14]
test edi, edi
je 0x48e323
cmp dword [esp + 0x34], edi
je 0x48ef7b
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
add eax, ecx
mov ecx, dword [esp]
mov ebx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], ebx
jle 0x48efdb
mov esi, ecx
lea edx, [ebx + 1]
mov ecx, dword [esp + 0x28]
mov dword [ecx], edx
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
lea ecx, [ebx + ebx*4]
mov dword [edx + ecx*4], 0x62
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 3
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48efef
mov esi, ecx
mov edx, 0x62
push 0
push 3
push eax
call fcn.004747e0
add esp, 0xc
mov eax, dword [esp + 0x14]
add eax, 8
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jle 0x48f039
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x28]
mov dword [ebx], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x20], edx
lea edx, [edx + edx*4]
mov dword [ecx + edx*4], 0x35
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], 0
mov dword [ecx + edx*4 + 0xc], 3
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x48f055
mov ecx, esi
mov edx, 0x35
push 3
push 0
push eax
call fcn.004747e0
add esp, 0xc
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx]
test eax, eax
jle 0x48f06b
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov esi, dword [esp]
mov ecx, esi
mov edx, 0x75
push 0
push dword [edi]
push 0
push 4
push 0
call fcn.00493a50
add esp, 0x14
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x48f0b4
lea edx, [eax + 1]
mov dword [ebx], edx
mov edx, dword [esp + 4]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov dword [edx + eax*4], 0x6f
movdqa xmm0, xmmword [0x5280f0]
movdqu xmmword [edx + eax*4 + 4], xmm0
jmp 0x48f0cd
mov ecx, esi
mov edx, 0x6f
push 3
push 2
push 4
call fcn.004747e0
mov esi, dword [esp + 0xc]
add esp, 0xc
mov ecx, esi
call fcn.004d7610
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48ef74
lea ecx, [eax - 1]
mov edx, dword [esp + 0x20]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx]
jmp 0x48ef74
mov ecx, dword [esp]
mov edx, 7
push 0x5336ab
call fcn.004348a0
add esp, 4
test eax, eax
je 0x48f143
mov ecx, 1
sub ecx, dword [esp + 0x84]
mov dword [eax + 8], ecx
mov byte [eax + 0x29], 0xff
mov dword [eax + 0x38], 0x5336c7
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov esi, dword [esp]
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
add eax, 0xfffffffe
mov ecx, 0x53e0e4
cmp byte [edx + 0x57], 0
jne 0x48f15c
mov ecx, dword [esi + 0x68]
mov dword [ecx + 0xc], eax
jmp 0x48d3be
xor eax, eax
jmp 0x48f17c
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f22e
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF_16le]
cmp cl, dl
jne 0x48f168
test ecx, ecx
jne 0x48f17b
mov esi, 0x5336dc
jmp 0x48f4a4
xor eax, eax
mov edx, dword [esp]
mov edi, dword [esp + 8]
mov dword [edi + 0x2c], 3
mov ecx, edx
mov esi, edx
mov edx, 3
push 1
push eax
push ebx
call fcn.00474780
add esp, 0xc
mov ecx, esi
mov edx, 0x54
push 3
jmp 0x48f623
movzx ecx, byte [ecx + str.persist]
movzx ebx, byte [ecx + 0x52a853]
xor edx, edx
movzx ecx, bl
cmp edx, ecx
jne 0x48f1f5
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edi, 1
jmp 0x48f589
xor ecx, ecx
mov edi, dword [esp + 0x10]
movzx edx, byte [edi + ecx]
test edx, edx
je 0x48f34a
movzx edx, byte [edx + 0x52a853]
movzx esi, byte [ecx + 0x52cfe3]
movzx ebx, byte [esi + 0x52a853]
cmp dl, bl
jne 0x48f35a
inc ecx
cmp eax, ecx
jne 0x48f1fb
jmp 0x48f361
xor eax, eax
jmp 0x48f246
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f319
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF_16be]
cmp cl, dl
jne 0x48f232
test ecx, ecx
jne 0x48f245
mov esi, 0x5336e4
jmp 0x48f4a4
mov edx, 0xffff8000
mov ecx, dword [esp + 8]
mov dword [ecx + 0x2c], 8
call fcn.0049bc70
mov dword [esp + 8], 0
jmp 0x48f291
inc dword [esp + 8]
mov edi, dword [edi + 4]
test edi, edi
je 0x48d3be
cmp dword [edi + 0x14], 0
jle 0x48f282
xor esi, esi
jmp 0x48f2d8
mov edx, dword [esp + 4]
mov edx, dword [edx + 4]
mov ebx, dword [edi + esi*8 + 0x24]
lea ebx, [ebx + ebx*2]
push str.NONE
push eax
push ecx
push dword [edi + esi*8 + 0x28]
push dword [edx + ebx*4]
push dword [edi + 8]
push esi
push dword [esp + 0x24]
push str.iissssss
push 1
push dword [esp + 0x28]
call fcn.004d7350
add esp, 0x2c
inc esi
cmp esi, dword [edi + 0x14]
jge 0x48f282
movzx edx, byte [edi + 0x1a]
add dl, 0xf9
mov eax, str.NO_ACTION
mov ecx, str.NO_ACTION
cmp dl, 3
ja 0x48f2f8
movsx ecx, dl
mov ecx, dword [ecx*4 + 0x537aa4]
movzx edx, byte [edi + 0x19]
add dl, 0xf9
cmp dl, 3
ja 0x48f29b
movsx eax, dl
mov eax, dword [eax*4 + 0x537aa4]
jmp 0x48f29b
mov ebx, dword [esp + 0xc]
jmp 0x48ca10
xor eax, eax
jmp 0x48f32d
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f3ab
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF16le]
cmp cl, dl
jne 0x48f31d
test ecx, ecx
jne 0x48f32c
mov esi, 0x5336ec
jmp 0x48f4a4
movzx ecx, byte [ecx + 0x52cfe3]
movzx ebx, byte [ecx + 0x52a853]
xor edx, edx
movzx ecx, bl
cmp edx, ecx
jne 0x48f37d
mov ebx, dword [esp + 0xc]
test byte [ebx + 0x23], 0x10
jne 0x48f569
mov ecx, dword [esp + 4]
mov edi, 2
jmp 0x48f589
xor ecx, ecx
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + ecx]
test edx, edx
je 0x48f3e0
movzx edx, byte [edx + 0x52a853]
movzx esi, byte [ecx + str.truncate]
movzx ebx, byte [esi + 0x52a853]
cmp dl, bl
jne 0x48f3f0
inc ecx
cmp eax, ecx
jne 0x48f37f
jmp 0x48f3f7
xor eax, eax
jmp 0x48f3c3
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f442
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF16be]
cmp cl, dl
jne 0x48f3af
test ecx, ecx
jne 0x48f3c2
mov esi, 0x5336f4
jmp 0x48f4a4
movzx ecx, byte [ecx + str.truncate]
movzx ebx, byte [ecx + 0x52a853]
xor edx, edx
movzx ecx, bl
cmp edx, ecx
jne 0x48f409
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edi, 3
jmp 0x48f589
xor ecx, ecx
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + ecx]
test edx, edx
je 0x48f4eb
movzx edx, byte [edx + 0x52a853]
movzx esi, byte [ecx + str.memory]
movzx ebx, byte [esi + 0x52a853]
cmp dl, bl
jne 0x48f4fb
inc ecx
cmp eax, ecx
jne 0x48f40b
jmp 0x48f502
xor eax, eax
jmp 0x48f456
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f474
inc eax
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16]
cmp cl, dl
jne 0x48f446
test ecx, ecx
jne 0x48f455
mov esi, 0x5336fc
jmp 0x48f4a4
xor eax, eax
jmp 0x48f488
movzx ecx, byte [ecx + 0x52a853]
cmp cl, byte [edx + 0x52a853]
jne 0x48f4d1
inc eax
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16]
cmp cl, dl
jne 0x48f478
test ecx, ecx
jne 0x48f487
mov esi, 0x533704
mov ebx, dword [esp + 0xc]
mov ecx, dword [esi + 4]
test cl, cl
mov eax, 2
cmovne eax, ecx
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 0xc]
mov byte [ecx + 0x4d], al
movzx edx, al
mov ecx, ebx
call fcn.004706a0
cmp dword [esi], 0
jne 0x48d3be
push dword [esp + 0x10]
push str.unsupported_encoding:__s
push dword [esp + 0x10]
call fcn.00434540
add esp, 0xc
jmp 0x48d3be
movzx ecx, byte [ecx + str.memory]
movzx ebx, byte [ecx + 0x52a853]
xor edx, edx
movzx ecx, bl
cmp edx, ecx
jne 0x48f511
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edi, 4
jmp 0x48f589
xor ecx, ecx
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + ecx]
test edx, edx
je 0x48f543
movzx edx, byte [edx + 0x52a853]
movzx esi, byte [ecx + 0x52cff7]
movzx ebx, byte [esi + 0x52a853]
cmp dl, bl
jne 0x48f553
inc ecx
cmp eax, ecx
jne 0x48f513
mov ebx, dword [esp + 0xc]
jmp 0x48f55e
movzx eax, byte [ecx + 0x52cff7]
movzx ebx, byte [eax + 0x52a853]
xor edx, edx
movzx eax, bl
cmp edx, eax
mov ebx, dword [esp + 0xc]
jne 0x48f569
mov ecx, dword [esp + 4]
mov edi, 5
jmp 0x48f589
mov edi, 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x48f57d
mov ecx, dword [esp + 4]
jmp 0x48f589
mov eax, dword [ebp + 8]
mov dword [eax + 4], 1
xor ecx, ecx
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jle 0x48f619
lea esi, [ebx + 1]
shl ebx, 4
add ebx, 0xfffffff4
neg ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
jmp 0x48f5c7
mov edx, 4
push edi
push 1
push eax
call fcn.00474780
add esp, 0xc
mov ecx, dword [esp + 4]
dec esi
add ebx, 0xfffffff0
cmp esi, 1
jbe 0x48f619
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebx], 0
je 0x48f5be
lea eax, [ecx + esi]
cmp eax, 2
je 0x48f5e5
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x48f5be
lea eax, [esi - 2]
mov edx, 1
mov ecx, eax
shl edx, cl
mov ecx, dword [esp]
or dword [ecx + 0x98], edx
cmp esi, 3
je 0x48f5a9
mov edi, dword [ecx]
mov edi, dword [edi + 0x10]
mov edi, dword [edi + ebx]
cmp byte [edi + 9], 0
mov edi, dword [esp + 8]
je 0x48f5a9
or dword [ecx + 0x9c], edx
jmp 0x48f5a9
mov ecx, dword [esp]
mov edx, 0x54
push 1
push 1
call fcn.00474720
add esp, 8
jmp 0x48d3be