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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
mov dword [esp + 0x20], edi
mov eax, dword [edi]
mov dword [esp + 0x10], eax
call fcn.0047b830
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x476dd9
or dword [esi + 0x58], 0x10
lea eax, [edi + 0x48]
mov edi, dword [ebp + 8]
mov edx, ebx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [eax], 2
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.0045c4b0
mov edx, eax
add esp, 8
mov dword [esp + 0x1c], edx
test edx, edx
js 0x476dd9
mov ecx, dword [esp + 0x10]
shl eax, 4
mov dword [esp + 0x28], eax
mov ebx, dword [ecx + 0x10]
add ebx, eax
mov dword [esp + 0x2c], ebx
cmp edx, 1
jne 0x471cc0
mov ecx, dword [esp + 0x20]
call fcn.00462560
test eax, eax
jne 0x476dd9
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x476dd9
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
jne 0x471cde
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x471d18
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], eax
lea edx, [eax + 1]
call fcn.0041f7a0
mov dword [esp + 0x18], eax
test eax, eax
je 0x471d18
push dword [esp + 0x58]
push dword [esp + 0x70]
push eax
call fcn.004a5830
mov eax, dword [esp + 0x64]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 0
mov eax, ecx
mov ecx, eax
call fcn.00422130
cmp dword [esp + 0x18], 0
je 0x476dd9
cmp dword [ebp + 0x10], 0
je 0x471d4a
push dword [ebp + 0xc]
push 0x4d4938
push dword [esp + 0x18]
call fcn.00421400
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x471db5
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x471dad
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
test ecx, ecx
jne 0x471d6a
xor eax, eax
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.00422130
jmp 0x471db5
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], eax
lea edx, [eax + 1]
call fcn.0041f7a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x471da4
push dword [esp + 0x58]
push dword [esp + 0x70]
push eax
call fcn.004a5830
mov eax, dword [esp + 0x64]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov byte [ecx + eax], 0
mov eax, ecx
mov ecx, eax
call fcn.00422130
jmp 0x471db5
mov dword [esp + 0x14], 0
cmp dword [edi + 4], 0
jbe 0x471dbf
mov ebx, dword [ebx]
jmp 0x471dc1
xor ebx, ebx
mov edi, dword [esp + 0x14]
mov edx, 0x13
mov ecx, dword [esp + 0x20]
push ebx
push edi
push dword [esp + 0x20]
mov dword [esp + 0x3c], ebx
call fcn.0045b170
add esp, 0xc
test eax, eax
jne 0x4732fc
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x18]
push ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], 0
push eax
mov dword [eax + 0x1c4], 0
call fcn.0049db40
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x471e80
push dword [esp + 0x80]
mov edx, str.result
mov ecx, esi
call fcn.00471af0
add esp, 4
push dword [esp + 0x80]
call fcn.0041f4b0
add esp, 4
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
cmp dword [eax + 0x208], 0
je 0x476d4d
mov edx, ebx
mov ecx, eax
call fcn.0041f520
jmp 0x476d80
cmp edi, 0xc
je 0x471ebd
mov eax, dword [esp + 0x80]
test eax, eax
je 0x471eb1
push eax
push 0x4c79e0
push dword [esp + 0x28]
call fcn.00422040
add esp, 0xc
push dword [esp + 0x80]
call fcn.0041f4b0
add esp, 4
mov eax, dword [esp + 0x20]
inc dword [eax + 0x40]
mov dword [eax + 0xc], edi
jmp 0x471e59
xor ebx, ebx
mov esi, 0x3a
lea eax, [esi + ebx]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
lea ecx, [edi + edi*2]
push dword [ecx*4 + 0x4cc930]
push dword [esp + 0x1c]
call fcn.004221d0
add esp, 8
test eax, eax
je 0x471efa
lea ecx, [edi - 1]
cmovns ecx, esi
mov esi, ecx
lea ecx, [edi + 1]
cmovns ebx, ecx
cmp ebx, esi
jle 0x471ec4
cmp ebx, esi
mov esi, dword [esp + 0x34]
jg 0x471e59
mov ebx, dword [esp + 0x20]
lea edi, [edi + edi*2]
test byte [edi*4 + 0x4cc935], 1
mov dword [esp + 0x5c], edi
je 0x471f3d
mov ecx, dword [ebx]
cmp byte [ecx + 0x91], 0
jne 0x471f3d
lea edx, [ebx + 4]
call fcn.00477680
test eax, eax
je 0x471f3d
inc dword [ebx + 0x40]
mov dword [ebx + 0xc], eax
jmp 0x471e59
movzx eax, byte [edi*4 + 0x4cc934]
cmp eax, 0x23
ja case.0x471f4e.3
jmp dword [eax*4 + 0x476de0]
mov eax, dword [esi + 0x60]
mov ebx, dword [esp + 0x1c]
bts eax, ebx
mov edi, dword [esp + 0x28]
mov dword [esi + 0x60], eax
cmp ebx, 1
je 0x471f83
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
cmp byte [eax + 9], 0
je 0x471f83
mov eax, dword [esi + 0x64]
bts eax, ebx
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x47205a
lea edx, [eax + 1]
mov ecx, esi
call fcn.0043eb80
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x471fb7
mov ecx, dword [esi + 0x10]
mov edx, str.cache_size
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
mov eax, dword [esp + 0x24]
mov edx, 9
push ecx
push 0x4cb57c
mov ecx, esi
add dword [eax], 2
call fcn.0043d870
mov edx, eax
add esp, 8
mov ecx, edx
test edx, edx
jns 0x471fdf
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x471fee
mov eax, 0x4dda18
jmp 0x471ff7
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
lea ecx, [edx + 1]
mov dword [eax + 4], ebx
test ecx, ecx
jns 0x472005
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472014
mov eax, 0x4dda18
jmp 0x47201d
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
lea ecx, [edx + 6]
mov dword [eax + 4], ebx
test ecx, ecx
jns 0x47202b
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472044
mov eax, 0x4dda18
mov dword [eax + 4], 0x7d0
jmp 0x471e59
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 4], 0x7d0
lea eax, [eax + ecx*4]
jmp 0x471e59
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 0
mov ecx, eax
call fcn.00422ca0
mov ebx, dword [esp + 0x58]
test ebx, ebx
jns 0x472086
cmp ebx, 0x80000000
jne 0x472084
mov ebx, 0x7fffffff
jmp 0x472086
neg ebx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x198]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x20], ecx
mov edx, dword [ecx + 0x14c]
mov ecx, dword [esp + 0x1c]
shl eax, cl
test edx, eax
jne 0x4720dd
bts edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov dword [ecx + 0x14c], edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ecx + edi*4 + 0x150], eax
cmp edi, 1
jne 0x4720e5
call fcn.00462560
jmp 0x4720e1
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x148]
bts eax, edi
mov dword [ecx + 0x148], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x47210f
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x472142
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x472158
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47218c
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0x34
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.004318d0
jmp 0x471e59
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov edi, dword [edi + 4]
test eax, eax
jne 0x4721dd
test edi, edi
je 0x4721c4
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x20]
jmp 0x4721c6
xor eax, eax
cdq
mov ecx, esi
push edx
push eax
mov edx, str.page_size
call fcn.00471a50
add esp, 8
jmp 0x471e59
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 0
mov ecx, eax
call fcn.00422ca0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x58]
mov dword [eax + 0x48], ebx
cmp byte [edi + 9], 0
mov esi, dword [edi + 4]
je 0x472214
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x472214
mov ecx, edi
call fcn.0042f8f0
test byte [esi + 0x16], 2
je 0x47223a
cmp byte [edi + 9], 0
je 0x471e59
add dword [edi + 0xc], 0xffffffff
jne 0x471e59
mov ecx, edi
call fcn.0042f8d0
jmp 0x471e59
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x20]
sub eax, dword [esi + 0x24]
mov dword [esp + 0x6c], eax
lea eax, [ebx - 0x200]
cmp eax, 0xfe00
ja 0x472279
lea eax, [ebx - 1]
test ebx, eax
jne 0x472279
mov eax, dword [esi + 0x50]
mov dword [ecx], ebx
test eax, eax
je 0x472279
lea ecx, [eax - 4]
mov dword [esi + 0x50], ecx
call fcn.00427430
mov dword [esi + 0x50], 0
lea ecx, [esi + 0x20]
mov ebx, dword [esp + 0x6c]
mov edx, ecx
mov ecx, dword [esi]
push ebx
call fcn.0042a410
mov edx, dword [esi + 0x20]
add esp, 4
movzx ecx, bx
sub edx, ecx
mov dword [esp + 0x6c], eax
mov dword [esi + 0x24], edx
cmp byte [edi + 9], 0
je 0x4722b0
add dword [edi + 0xc], 0xffffffff
jne 0x4722b0
mov ecx, edi
call fcn.0042f8d0
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x14]
cmp eax, 7
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jne 0x471e65
mov byte [eax + 0x41], 1
jmp 0x471e65
mov edi, dword [esp + 0x2c]
or ecx, 0xffffffff
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov ebx, dword [edi + 4]
mov dword [esp + 0x6c], ebx
test eax, eax
je 0x472302
lea edx, [ecx + 2]
mov ecx, eax
push 0
call fcn.004719b0
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x44], ecx
mov eax, dword [ebp + 8]
mov edi, 0xfffb
cmp dword [eax + 4], 0
jne 0x4723be
test ecx, ecx
js 0x4723be
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x4c], ecx
cmp dword [eax + 0x14], ecx
jle 0x4723be
mov esi, dword [esp + 0x44]
xor edx, edx
mov dword [esp + 0x48], edx
mov ebx, eax
nop dword [eax + eax]
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + edx + 4]
test edi, edi
je 0x4723a0
cmp byte [edi + 9], 0
je 0x472369
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x472369
mov ecx, edi
call fcn.0042f8f0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [edi + 4]
mov ebx, 0xfffb
and word [eax + 0x16], bx
mov ebx, dword [esp + 0x10]
test esi, esi
je 0x472385
mov eax, dword [edi + 4]
or word [eax + 0x16], 4
cmp byte [edi + 9], 0
je 0x4723a0
add dword [edi + 0xc], 0xffffffff
jne 0x4723a0
mov ecx, edi
call fcn.0042f8d0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
inc ecx
add edx, 0x10
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], edx
cmp ecx, dword [ebx + 0x14]
jl 0x472340
mov esi, dword [esp + 0x34]
mov edi, 0xfffb
mov ebx, dword [esp + 0x6c]
test ebx, ebx
jne 0x4723c6
xor edi, edi
jmp 0x472417
cmp byte [ebx + 9], 0
je 0x4723dc
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x4723dc
mov ecx, ebx
call fcn.0042f8f0
mov ecx, dword [esp + 0x44]
test ecx, ecx
js 0x4723f7
mov eax, dword [ebx + 4]
and word [eax + 0x16], di
test ecx, ecx
je 0x4723f7
mov eax, dword [ebx + 4]
or word [eax + 0x16], 4
mov eax, dword [ebx + 4]
movzx edi, word [eax + 0x16]
shr edi, 2
and edi, 1
cmp byte [ebx + 9], 0
je 0x472417
add dword [ebx + 0xc], 0xffffffff
jne 0x472417
mov ecx, ebx
call fcn.0042f8d0
push 0
push edi
mov edx, str.secure_delete
mov ecx, esi
call fcn.00471a50
add esp, 8
jmp 0x471e59
mov eax, dword [ebx + 0x198]
test eax, eax
mov ecx, dword [esp + 0x1c]
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x14c]
test edx, eax
jne 0x472479
mov eax, dword [ebx]
bts edx, ecx
mov edi, dword [esp + 0x28]
mov dword [ebx + 0x14c], edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x472479
mov ecx, ebx
call fcn.00462560
mov eax, dword [esp + 0x24]
inc dword [eax]
mov ebx, dword [eax]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], ebx
movzx eax, byte [eax]
cmp byte [eax + 0x4ca7f0], 0x70
jne 0x4724ec
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4724b4
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x472572
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x9c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x472572
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x58], edi
test eax, eax
je 0x47251e
lea edx, [esp + 0x58]
mov ecx, eax
call fcn.00422ca0
mov edi, dword [esp + 0x58]
test edi, edi
jns 0x47251e
cmp edi, 0x80000000
jne 0x47251c
mov edi, 0x7fffffff
jmp 0x47251e
neg edi
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x472539
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47256e
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x54]
mov word [eax + ecx*4], 0x9d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x472572
mov ebx, dword [esp + 0x54]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x472588
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4725b8
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, 1
mov ecx, esi
call fcn.0043eb80
mov eax, dword [esi]
mov ebx, dword [esp + 0x18]
cmp byte [eax + 0x41], 0
jne 0x4725e3
mov ecx, dword [esi + 0x10]
mov edx, ebx
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
mov eax, dword [esp + 0x10]
jmp 0x471e61
mov edi, dword [esp + 0x14]
test edi, edi
je 0x47269a
mov bl, byte [edi]
mov edx, str.exclusive
mov bh, bl
test bl, bl
je 0x472635
mov al, bl
sub edi, edx
nop dword [eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x472631
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x472610
mov edi, dword [esp + 0x14]
movzx eax, bh
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
jne 0x472654
mov ecx, 1
jmp 0x47269d
mov edx, str.normal
test bl, bl
je 0x472682
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x472682
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x472661
movzx eax, bl
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
je 0x47269d
or ecx, 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x4726fe
cmp ecx, 0xffffffff
jne 0x4726b4
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x42]
jmp 0x47272c
mov ebx, dword [esp + 0x10]
mov edx, 2
cmp dword [ebx + 0x14], edx
jle 0x4726fb
lea edi, [edx + 0x1e]
test ecx, ecx
js 0x4726f2
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4726f2
mov ebx, dword [eax + 0xd0]
test ebx, ebx
je 0x4726eb
cmp byte [ebx + 0x2b], 2
je 0x4726ee
mov byte [eax + 4], cl
mov ebx, dword [esp + 0x10]
inc edx
add edi, 0x10
cmp edx, dword [ebx + 0x14]
jl 0x4726c5
mov byte [ebx + 0x42], cl
mov edi, dword [esp + 0x2c]
mov dl, cl
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x472729
cmp byte [eax + 0xc], 0
jne 0x472729
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x472726
cmp byte [ecx + 0x2b], 2
je 0x472729
mov byte [eax + 4], dl
mov cl, byte [eax + 4]
cmp cl, 1
mov edx, str.exclusive
mov eax, str.normal
mov ecx, esi
cmove eax, edx
mov edx, str.locking_mode
push eax
call fcn.00471af0
jmp 0x471e56
mov edx, 1
mov ecx, esi
call fcn.0043eb80
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x472778
mov ecx, dword [esi + 0x10]
mov edx, str.journal_mode
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
mov edx, dword [esp + 0x14]
test edx, edx
je 0x47286b
mov edi, edx
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x472790
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x47286b
mov eax, dword [ebx*4 + 0x4c9e5c]
test eax, eax
je 0x47286b
push edi
push eax
push edx
call fcn.00422240
add esp, 0xc
test eax, eax
je 0x4727cf
mov edx, dword [esp + 0x14]
inc ebx
jmp 0x4727a1
cmp ebx, 0xffffffff
je 0x47286e
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x4728d5
mov edx, edi
shl edx, 4
mov dword [esp + 0x4c], edx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + edx + 4], 0
je 0x4728be
cmp edi, dword [esp + 0x1c]
je 0x47281e
cmp dword [ecx + 4], 0
jne 0x4728be
mov eax, dword [esi + 0x60]
bts eax, edi
mov dword [esi + 0x60], eax
cmp edi, 1
je 0x472844
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x472844
mov eax, dword [esi + 0x64]
bts eax, edi
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x6c], ecx
cmp dword [eax + 0x54], ecx
jg 0x47288f
mov ecx, esi
call fcn.0043d1e0
mov edx, dword [esp + 0x4c]
test eax, eax
jne 0x4728be
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x6c]
jmp 0x472891
or ebx, 0xffffffff
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 0
jne 0x4727db
mov dword [esp + 0x1c], 0
mov dword [ecx + 4], 1
jmp 0x4727db
mov eax, ecx
inc eax
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xa
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp + 8]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], edx
jns 0x472800
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x4728ef
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x471e59
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 4], 1
mov byte [eax + ecx*4 + 3], 0
mov word [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x471e59
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x70], 0xfffffffe
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x472992
lea edx, [esp + 0x70]
mov ecx, eax
call fcn.00422b80
mov ecx, dword [esp + 0x74]
cmp ecx, 0xffffffff
jg 0x472972
jl 0x47296b
mov eax, dword [esp + 0x70]
cmp eax, 0xffffffff
jae 0x472976
or eax, 0xffffffff
or ecx, eax
jmp 0x472976
mov eax, dword [esp + 0x70]
mov edx, dword [edi + 0xd0]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], ecx
test edx, edx
je 0x472992
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xa4]
mov edx, str.journal_size_limit
mov ecx, esi
push dword [edi + 0xa0]
call fcn.00471a50
add esp, 8
jmp 0x471e59
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x472a13
mov al, byte [edi + 9]
test al, al
je 0x4729da
inc dword [edi + 0xc]
cmp byte [edi + 0xa], cl
jne 0x4729da
mov ecx, edi
call fcn.0042f8f0
mov al, byte [edi + 9]
mov ecx, dword [edi + 4]
xor ebx, ebx
cmp byte [ecx + 0x11], bl
je 0x4729eb
cmp byte [ecx + 0x12], bl
setne bl
inc ebx
test al, al
je 0x4729fc
add dword [edi + 0xc], 0xffffffff
jne 0x4729fc
mov ecx, edi
call fcn.0042f8d0
push 0
push ebx
mov edx, str.auto_vacuum
mov ecx, esi
call fcn.00471a50
add esp, 8
jmp 0x471e59
mov bl, byte [ecx]
mov edx, str.none
mov bh, bl
test bl, bl
je 0x472a55
sub ecx, edx
mov al, bl
mov dword [esp + 0x6c], ecx
mov esi, ecx
nop word [eax + eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x472a51
mov al, byte [esi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x472a30
mov esi, dword [esp + 0x34]
movzx eax, bh
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
jne 0x472a74
xor ebx, ebx
jmp 0x472b56
mov edx, str.full
mov bh, bl
test bl, bl
je 0x472ab5
mov ecx, dword [esp + 0x14]
mov al, bl
sub ecx, edx
mov dword [esp + 0x6c], ecx
mov esi, ecx
nop dword [eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x472ab1
mov al, byte [esi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x472a90
mov esi, dword [esp + 0x34]
movzx eax, bh
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
jne 0x472ad5
lea ebx, [ecx + 1]
jmp 0x472b56
mov edx, str.incremental
test bl, bl
je 0x472b15
mov ecx, dword [esp + 0x14]
mov al, bl
sub ecx, edx
mov dword [esp + 0x6c], ecx
mov esi, ecx
nop dword [eax]
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x472b11
mov al, byte [esi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x472af0
mov esi, dword [esp + 0x34]
movzx eax, bl
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
jne 0x472b32
lea ebx, [ecx + 2]
jmp 0x472b56
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 0
call fcn.00422ca0
xor ecx, ecx
cmp dword [esp + 0x58], 2
cmovbe ecx, dword [esp + 0x58]
movzx ebx, cl
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x43], bl
call fcn.00431b30
test eax, eax
jne 0x471e59
cmp ebx, 1
je 0x472b7c
cmp ebx, 2
jne 0x471e59
push ecx
push 0x4cc3e0
mov edx, 6
mov ecx, esi
call fcn.0043d870
mov edx, eax
add esp, 8
mov ecx, edx
test edx, edx
jns 0x472b9d
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472bac
mov eax, 0x4dda18
jmp 0x472bb5
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x1c]
lea ecx, [edx + 1]
mov dword [eax + 4], edi
test ecx, ecx
jns 0x472bc7
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472bd6
mov eax, 0x4dda18
jmp 0x472bdf
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
lea ecx, [edx + 2]
mov dword [eax + 4], edi
test ecx, ecx
jns 0x472bed
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472bfc
mov eax, 0x4dda18
jmp 0x472c05
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
lea ecx, [edx + 4]
mov dword [eax + 8], ecx
test ecx, ecx
jns 0x472c13
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472c22
mov ecx, 0x4dda18
jmp 0x472c2b
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
lea eax, [ebx - 1]
mov dword [ecx + 4], eax
lea ecx, [edx + 5]
test ecx, ecx
jns 0x472c3c
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x472c4b
mov eax, 0x4dda18
jmp 0x472c54
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edi
mov eax, dword [esi + 0x60]
bts eax, edi
mov dword [esi + 0x60], eax
cmp edi, 1
je 0x471e59
mov eax, dword [esi]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
mov edi, dword [esp + 0x14]
cmp byte [eax + 9], 0
je 0x472c91
mov eax, dword [esi + 0x64]
mov edx, dword [esp + 0x1c]
bts eax, edx
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x10]
jmp 0x471e65
mov eax, dword [esp + 0x14]
test eax, eax
je 0x472cb9
lea edx, [esp + 0x6c]
mov ecx, eax
call fcn.00422ca0
test eax, eax
je 0x472cb9
mov ebx, dword [esp + 0x6c]
test ebx, ebx
jg 0x472cbe
mov ebx, 0x7fffffff
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x198]
test eax, eax
cmovne edi, eax
mov eax, 1
shl eax, cl
mov dword [esp + 0x20], edi
mov edx, dword [edi + 0x14c]
test edx, eax
jne 0x472d19
mov eax, dword [edi]
bts edx, ecx
mov dword [edi + 0x14c], edx
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov edi, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [edi + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x472d19
mov ecx, edi
call fcn.00462560
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x148]
bts eax, ecx
mov dword [edi + 0x148], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x472d43
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x472d76
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x472d98
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x472d95
mov edi, 1
jmp 0x472dcf
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x92
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x472dea
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x472e21
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x472e3c
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x472e73
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x472e8e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x472ec1
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x8a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x472ee3
mov eax, 0x4dda18
mov dword [eax + 8], edx
jmp 0x471e59
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x471e59
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x472f50
mov ecx, dword [ebx]
cmp byte [ecx + 0x91], 0
jne 0x472f2f
lea edx, [ebx + 4]
call fcn.00477680
test eax, eax
je 0x472f2f
inc dword [ebx + 0x40]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov edi, dword [esp + 0x2c]
mov ecx, esi
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
mov edx, str.cache_size
call fcn.00471a50
add esp, 8
jmp 0x471e59
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 0
mov ecx, edi
call fcn.00422ca0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x58]
mov ecx, dword [edi + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.004318d0
mov ecx, dword [ebx]
cmp byte [ecx + 0x91], 0
jne 0x471e59
lea edx, [ebx + 4]
call fcn.00477680
mov edi, dword [esp + 0x14]
test eax, eax
je 0x4732fc
inc dword [ebx + 0x40]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov edi, dword [esp + 0x14]
test edi, edi
je 0x473102
lea edx, [esp + 0x70]
mov ecx, edi
call fcn.00422b80
cmp dword [esp + 0x74], 0
jg 0x472fee
jl 0x472fdc
cmp dword [esp + 0x70], 0
jae 0x472fee
mov eax, dword [0x4dab98]
mov dword [esp + 0x70], eax
mov eax, dword [0x4dab9c]
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x473009
mov eax, dword [esp + 0x70]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x2c], eax
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x473102
mov esi, ebx
shl esi, 4
nop word [eax + eax]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + esi + 4]
test edi, edi
je 0x4730ee
cmp ebx, dword [esp + 0x1c]
je 0x47303f
cmp dword [ecx + 4], 0
jne 0x4730ee
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov eax, dword [edi + 4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x6c], eax
je 0x473078
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x473078
mov ecx, edi
call fcn.0042f8f0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
mov dword [eax + 0x80], ecx
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x84], edx
mov ecx, dword [ecx]
test ecx, ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x58]
je 0x4730d4
mov edx, dword [esp + 0x6c]
cmp dword [edx], 3
mov edx, dword [esp + 0x54]
jl 0x4730d4
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
test edx, edx
jl 0x4730ba
jg 0x4730b6
test ecx, ecx
je 0x4730ba
mov cl, 1
jmp 0x4730bc
xor cl, cl
mov byte [eax + 0x16], cl
lea edx, [esp + 0x60]
mov ecx, dword [eax + 0x3c]
push edx
push 0x12
push ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
add esp, 0xc
cmp byte [edi + 9], 0
je 0x4730e7
add dword [edi + 0xc], 0xffffffff
jne 0x4730e7
mov ecx, edi
call fcn.0042f8d0
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x10]
sub esi, 0x10
sub ebx, 1
jns 0x473020
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0xffffffff
push eax
push 0x12
push dword [esp + 0x38]
mov dword [esp + 0x80], 0xffffffff
push dword [esp + 0x1c]
call fcn.0049db40
add esp, 0x10
test eax, eax
jne 0x473142
push dword [esp + 0x74]
mov edx, str.mmap_size
push dword [esp + 0x74]
jmp 0x476aba
mov ebx, dword [esp + 0x18]
cmp eax, 0xc
je 0x472c91
mov ecx, dword [esp + 0x20]
inc dword [ecx + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x10]
jmp 0x471e65
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x47317e
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x40]
cdq
push edx
mov edx, str.temp_store
jmp 0x476ab9
mov bl, byte [edi]
mov al, bl
sub al, 0x30
cmp al, 2
ja 0x473193
movsx ebx, bl
sub ebx, 0x30
jmp 0x473235
mov edx, str.file
mov bh, bl
test bl, bl
je 0x4731c5
mov esi, edi
mov al, bl
sub esi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x4731c5
mov al, byte [esi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x4731a4
movzx eax, bh
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
jne 0x4731e2
lea ebx, [ecx + 1]
jmp 0x473235
mov edx, str.memory
test bl, bl
je 0x473212
mov esi, edi
mov al, bl
sub esi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x473212
mov al, byte [esi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x4731f1
movzx eax, bl
mov ebx, 0
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ca7f0]
sub ecx, eax
mov eax, 2
cmove ebx, eax
mov edx, dword [esp + 0x20]
mov esi, dword [edx]
movzx eax, byte [esi + 0x40]
cmp eax, ebx
je 0x4732fc
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x473273
cmp byte [esi + 0x3f], 0
je 0x473283
cmp byte [ecx + 8], 0
jne 0x473283
call fcn.00431760
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0045bed0
mov eax, dword [esp + 0x10]
mov byte [esi + 0x40], bl
mov ebx, dword [esp + 0x18]
jmp 0x471e65
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.00422040
mov eax, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x4732c8
push dword [0x4dc66c]
mov edx, str.temp_store_directory
mov ecx, esi
call fcn.00471af0
mov eax, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x18]
jmp 0x471e65
cmp byte [edi], 0
je 0x473309
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x6c]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4732ee
cmp dword [esp + 0x6c], eax
jne 0x473309
push str.not_a_writable_directory
push ebx
call fcn.00422040
add esp, 8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x40], 1
ja 0x473351
mov esi, dword [ebx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x473351
cmp byte [esi + 0x3f], 0
je 0x473343
cmp byte [ecx + 8], 0
jne 0x473343
call fcn.00431760
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.0045bed0
jmp 0x473351
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push ebx
call fcn.00422040
add esp, 8
push dword [0x4dc66c]
call fcn.0041f4b0
add esp, 4
cmp byte [edi], 0
je 0x473384
push edi
push 0x4c79e0
call fcn.004214d0
mov ebx, dword [esp + 0x20]
add esp, 8
mov dword [0x4dc66c], eax
mov eax, dword [esp + 0x10]
jmp 0x471e65
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [0x4dc66c], 0
jmp 0x471e65
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x4733c5
push dword [0x4dc668]
mov edx, str.data_store_directory
mov ecx, esi
call fcn.00471af0
mov eax, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x18]
jmp 0x471e65
cmp byte [edi], 0
je 0x473406
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x6c]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4733eb
cmp dword [esp + 0x6c], eax
jne 0x473406
push str.not_a_writable_directory
push ebx
call fcn.00422040
mov eax, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x18]
jmp 0x471e65
push dword [0x4dc668]
call fcn.0041f4b0
add esp, 4
cmp byte [edi], 0
je 0x473439
push edi
push 0x4c79e0
call fcn.004214d0
mov ebx, dword [esp + 0x20]
add esp, 8
mov dword [0x4dc668], eax
mov eax, dword [esp + 0x10]
jmp 0x471e65
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [0x4dc668], 0
jmp 0x471e65
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x47347d
mov edi, dword [esp + 0x2c]
mov ecx, esi
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
mov edx, str.synchronous
call fcn.00471a50
add esp, 8
jmp 0x471e59
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3f], 0
jne 0x4734a2
push str.Safety_level_may_not_be_changed_inside_a_transaction
push ebx
call fcn.00422040
mov eax, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x18]
jmp 0x471e65
push 1
xor edx, edx
mov ecx, edi
call fcn.004719b0
mov edi, dword [esp + 0x30]
inc eax
add esp, 4
mov ecx, 1
and eax, 3
cmove eax, ecx
mov ecx, dword [esp + 0x10]
mov byte [edi + 8], al
call fcn.00471be0
jmp 0x471e59
mov ebx, dword [esp + 0x14]
push 0
test ebx, ebx
jne 0x473506
mov eax, dword [esp + 0x14]
mov ecx, esi
mov edx, dword [edi*4 + 0x4cc930]
mov eax, dword [eax + 0x18]
and eax, dword [edi*4 + 0x4cc938]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00471a50
add esp, 8
jmp 0x471e59
mov eax, dword [edi*4 + 0x4cc938]
mov edx, 1
mov ecx, dword [esp + 0x14]
mov edi, eax
and edi, 0xfff7ffff
cmp byte [ecx + 0x3f], 0
mov ecx, ebx
cmovne edi, eax
call fcn.004719b0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0x18]
test al, al
je 0x473541
or ecx, edi
mov dword [edx + 0x18], ecx
jmp 0x473566
mov eax, edi
not eax
and eax, ecx
mov dword [edx + 0x18], eax
cmp edi, 0x1000000
jne 0x473566
mov dword [edx + 0x200], 0
mov dword [edx + 0x204], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x47357c
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4735b0
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x93
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
call fcn.00471be0
jmp 0x471e59
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4732fc
push dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0045b950
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x4732fc
mov ebx, dword [eax + 8]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x473614
nop dword [eax + eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x473610
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x473600
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x24]
mov dword [ecx], 6
mov ecx, dword [esp + 0x20]
mov edx, ecx
mov eax, dword [ecx + 0x198]
test eax, eax
mov ecx, dword [esp + 0x1c]
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x14c]
test edi, eax
jne 0x47366f
mov eax, dword [edx]
bts edi, ecx
mov dword [edx + 0x14c], edi
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax]
mov dword [edx + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x47366f
mov ecx, edx
call fcn.00462560
mov edx, 6
mov ecx, esi
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4c9e98
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x47369f
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, 0x4c9eb0
jl 0x473682
mov ebx, dword [esp + 0x54]
mov edx, ebx
mov ecx, dword [esp + 0x20]
call fcn.0045eca0
movzx eax, word [ebx + 0x22]
xor edx, edx
mov ecx, dword [ebx + 4]
xor edi, edi
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x3c], ecx
cmp dx, ax
jge 0x471e59
mov dword [esp + 0x58], eax
nop dword [eax]
mov al, byte [ecx + 0x17]
test al, 2
je 0x4736f0
inc dword [esp + 0x4c]
jmp 0x4737b5
test al, 1
jne 0x4736f8
xor edx, edx
jmp 0x473727
mov edx, 1
test ebx, ebx
je 0x473727
mov eax, dword [esp + 0x58]
cwde
cmp eax, edx
jl 0x473727
mov ecx, dword [ebx + 4]
mov esi, eax
nop
movsx eax, word [ecx]
cmp eax, edi
je 0x47371f
inc edx
add ecx, 2
cmp edx, esi
jle 0x473710
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xc]
mov ecx, 0x4c7b7c
push edx
mov edx, dword [esp + 0x40]
test eax, eax
cmovne ecx, eax
xor eax, eax
push dword [edx + 8]
cmp byte [edx + 0x14], al
setne al
push eax
push ecx
push dword [edx]
mov eax, edi
sub eax, dword [esp + 0x60]
push eax
push str.issisi
push 1
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x24
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x6c], ecx
cmp dword [eax + 0x54], ecx
jg 0x47377d
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4737b1
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 6
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
inc edi
add ecx, 0x18
mov dword [esp + 0x3c], ecx
movzx eax, word [eax + 0x22]
mov edx, eax
cwde
mov dword [esp + 0x58], edx
cmp edi, eax
jl 0x4736e0
jmp 0x471e59
mov ecx, ebx
call fcn.0047b830
mov ecx, dword [esp + 0x24]
mov edx, 1
mov esi, eax
mov dword [ecx], 4
mov ecx, dword [ebx + 0x198]
test ecx, ecx
cmovne ebx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, cl
mov eax, dword [ebx + 0x14c]
test eax, edx
jne 0x473837
mov edi, dword [esp + 0x28]
bts eax, ecx
mov dword [ebx + 0x14c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x473837
mov ecx, ebx
call fcn.00462560
mov edx, 4
mov ecx, esi
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4c96fc
nop word [eax + eax]
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x47386d
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, 0x4c970c
jl 0x473850
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x58], eax
test eax, eax
je 0x471e59
mov edi, dword [eax + 8]
mov cx, word [edi + 0x26]
call fcn.00423480
push eax
push ecx
mov cx, word [edi + 0x28]
call fcn.00423480
add esp, 4
push eax
push 0
push dword [edi]
push str.ssii
push 1
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x1c
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x4738d6
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47390a
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [edi + 8]
test edi, edi
je 0x473992
mov eax, dword [edi + 8]
mov cx, word [eax]
call fcn.00423480
push eax
push ecx
mov cx, word [edi + 0x30]
call fcn.00423480
add esp, 4
push eax
push dword [edi]
push 0x4d49e4
push 2
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x18
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x473957
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47398b
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x473915
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x473891
jmp 0x471e59
mov eax, dword [esp + 0x14]
test eax, eax
je 0x471e59
push dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.0045baf0
mov ebx, eax
add esp, 4
mov dword [esp + 0x6c], ebx
test ebx, ebx
je 0x471e59
mov ecx, dword [edi*4 + 0x4cc938]
test ecx, ecx
je 0x4739e6
movzx eax, word [ebx + 0x34]
jmp 0x4739ea
movzx eax, word [ebx + 0x32]
mov edi, dword [esp + 0x20]
test ecx, ecx
mov ecx, dword [esp + 0x24]
mov edx, 3
mov dword [esp + 0x4c], eax
mov eax, 6
cmove eax, edx
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0x198]
test eax, eax
cmovne edi, eax
mov eax, 1
shl eax, cl
mov dword [esp + 0x20], edi
mov edx, dword [edi + 0x14c]
test edx, eax
jne 0x473a63
mov eax, dword [edi]
bts edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x14c], edx
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax]
mov dword [ecx + edx*4 + 0x150], eax
cmp edx, 1
jne 0x473a63
call fcn.00462560
mov eax, dword [esp + 0x24]
mov ecx, esi
mov eax, dword [eax]
mov edx, eax
mov dword [esp + 0x58], eax
call fcn.0043eb80
xor edi, edi
cmp dword [esp + 0x58], edi
jle 0x473ab0
xor ebx, ebx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x473aa2
mov ecx, dword [esi + 0x10]
mov edx, dword [edi*4 + 0x4cc358]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
inc edi
add ebx, 0x28
cmp edi, dword [esp + 0x58]
jl 0x473a80
mov ebx, dword [esp + 0x6c]
xor edi, edi
cmp word [esp + 0x4c], di
je 0x471e59
nop dword [eax]
mov eax, dword [ebx + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x473ad3
xor eax, eax
jmp 0x473ae0
mov eax, dword [esp + 0x60]
lea ecx, [edx + edx*2]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push 0x4d4a04
push 1
push esi
call fcn.0043d260
mov eax, dword [esp + 0x74]
add esp, 0x18
cmp dword [eax*4 + 0x4cc938], 0
je 0x473b2b
movzx eax, word [ebx + 0x32]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebx + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + edi]
push eax
push 0x4d4a08
push 4
push esi
call fcn.0043d260
add esp, 0x18
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ecx
jg 0x473b53
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x473b87
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x58]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x4c]
inc edi
movzx eax, cx
cmp edi, eax
jl 0x473ac0
jmp 0x471e59
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4732fc
push dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0045b950
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
je 0x4732fc
mov ecx, ebx
call fcn.0047b830
mov ecx, dword [ebx + 0x198]
mov esi, eax
mov eax, dword [esp + 0x24]
test ecx, ecx
mov edx, 1
cmovne ebx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, cl
mov dword [eax], 5
mov eax, dword [ebx + 0x14c]
test eax, edx
jne 0x473c24
mov edi, dword [esp + 0x28]
bts eax, ecx
mov dword [ebx + 0x14c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x473c24
mov ecx, ebx
call fcn.00462560
mov edx, 5
mov ecx, esi
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4cc38c
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x473c54
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, 0x4cc3a0
jl 0x473c37
mov edi, dword [esp + 0x6c]
xor ecx, ecx
mov dword [esp + 0x58], ecx
mov edi, dword [edi + 8]
test edi, edi
je 0x471e59
mov dword [esp + 0x70], 0x4d4a28
mov dword [esp + 0x74], 0x4d4a2c
mov dword [esp + 0x78], 0x4d49c0
nop
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x74]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ecx
push str.isisi
push 1
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x20
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x473cd5
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x473d09
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 5
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x58]
mov edi, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x58], ecx
test edi, edi
jne 0x473c90
jmp 0x471e59
mov eax, dword [esp + 0x24]
mov edx, 3
mov ecx, esi
mov dword [eax], 3
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4ccc94
nop
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x473d5d
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, str.LiuJ
jl 0x473d40
mov eax, dword [esp + 0x10]
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x471e5d
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 4]
test eax, eax
je 0x473e0a
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x473da1
mov eax, 0x4c7b7c
jmp 0x473da7
mov eax, dword [eax + 0xa8]
push eax
push dword [edx + ecx]
push edi
push 0x4d4a38
push 1
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x18
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x473dd2
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x473e06
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
inc edi
add ecx, 0x10
mov dword [esp + 0x4c], ecx
cmp edi, dword [eax + 0x14]
jl 0x473d80
jmp 0x471e5d
mov eax, dword [esp + 0x24]
mov edx, 2
mov ecx, esi
mov dword [esp + 0x58], 0
mov dword [eax], 2
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4c9d20
nop dword [eax]
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x473e6d
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, 0x4c9d28
jl 0x473e50
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1b4]
test edi, edi
je 0x471e59
nop dword [eax]
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x58]
push dword [eax]
push ebx
push 0x4d4a3c
push 1
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
inc ebx
mov dword [esp + 0x6c], ebx
add esp, 0x14
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x473ec5
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x473ef9
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [edi]
test edi, edi
jne 0x473e90
jmp 0x471e59
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4732fc
push dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0045b950
mov ebx, eax
add esp, 4
mov dword [esp + 0x60], ebx
test ebx, ebx
je 0x4732fc
mov ecx, dword [esp + 0x20]
call fcn.0047b830
mov edi, dword [ebx + 0x10]
mov esi, eax
mov dword [esp + 0x6c], edi
test edi, edi
je 0x471e59
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], 0
mov ecx, dword [ebx + 0x198]
test ecx, ecx
mov dword [eax], 8
mov eax, 1
cmovne ebx, ecx
mov ecx, dword [esp + 0x1c]
shl eax, cl
mov edx, dword [ebx + 0x14c]
test edx, eax
jne 0x473faf
mov eax, dword [ebx]
bts edx, ecx
mov ecx, dword [esp + 0x28]
mov dword [ebx + 0x14c], edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x473faf
mov ecx, ebx
call fcn.00462560
mov edx, 8
mov ecx, esi
call fcn.0043eb80
xor edi, edi
mov ebx, 0x4c9e3c
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x473fdf
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx]
add ecx, edi
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add ebx, 4
add edi, 0x28
cmp ebx, 0x4c9e5c
jl 0x473fc2
mov edi, dword [esp + 0x6c]
xor eax, eax
xor edx, edx
mov dword [esp + 0x58], edx
cmp dword [edi + 0x14], edx
jle 0x474114
lea ebx, [edi + 0x24]
mov dword [esp + 0x54], ebx
nop dword [eax]
movzx eax, byte [edi + 0x19]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x47401c
jmp dword [eax*4 + 0x476e70]
mov ecx, str.SET_NULL
jmp 0x474044
mov ecx, str.SET_DEFAULT
jmp 0x474044
mov ecx, str.CASCADE
jmp 0x474044
mov ecx, str.RESTRICT
jmp 0x474044
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x474050
jmp dword [eax*4 + 0x476e80]
mov eax, str.SET_NULL
jmp 0x474078
mov eax, str.SET_DEFAULT
jmp 0x474078
mov eax, str.CASCADE
jmp 0x474078
mov eax, str.RESTRICT
jmp 0x474078
mov eax, str.NO_ACTION
push str.NONE
push ecx
push eax
mov eax, dword [ebx]
push dword [ebx + 4]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push edx
push dword [esp + 0x68]
push str.iissssss
push 1
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x2c
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x4740bf
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4740f3
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 8
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
inc edx
add ebx, 8
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ebx
cmp edx, dword [edi + 0x14]
jl 0x474010
mov eax, dword [esp + 0x4c]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x4c], eax
test edi, edi
jne 0x473ff3
jmp 0x471e59
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x2c], eax
inc eax
mov dword [esp + 0x44], ecx
mov ecx, ebx
mov dword [edx], eax
call fcn.0047b830
mov esi, eax
mov edx, 4
mov ecx, esi
mov dword [esp + 0x60], esi
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4ca130
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x47417d
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, 0x4ca140
jl 0x474160
mov ecx, dword [esp + 0x20]
mov edx, ecx
mov eax, dword [ecx + 0x198]
test eax, eax
mov ecx, dword [esp + 0x1c]
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x14c]
test edi, eax
jne 0x4741de
mov eax, dword [edx]
bts edi, ecx
mov dword [edx + 0x14c], edi
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax]
mov dword [edx + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x4741e2
mov ecx, edx
call fcn.00462560
jmp 0x4741e2
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x471e59
nop dword [eax + eax]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
test ecx, ecx
je 0x474223
push dword [esp + 0x30]
xor edx, edx
push ecx
mov ecx, edi
call fcn.0045b9f0
add esp, 8
mov ebx, eax
xor eax, eax
jmp 0x474228
mov ebx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], ebx
test ebx, ebx
je 0x474ada
cmp dword [ebx + 0x10], 0
je 0x474ada
push dword [ebx]
mov edx, dword [esp + 0x20]
mov ecx, edi
push 0
push dword [ebx + 0x1c]
call fcn.0045b200
mov ecx, dword [esp + 0x38]
add esp, 0xc
movsx eax, word [ebx + 0x22]
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx]
jle 0x47426c
mov dword [ecx], eax
push 0x36
push ebx
push dword [esp + 0x24]
xor edx, edx
mov ecx, edi
call fcn.0046b8b0
mov eax, dword [esi + 0x18]
add esp, 0xc
mov edi, dword [esi + 0x20]
mov ebx, dword [ebx]
cmp dword [eax + 0x54], edi
jg 0x47429e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x47429e
mov edi, 1
jmp 0x4742d2
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov edi, dword [esp + 0x40]
add esp, 8
mov eax, 1
mov dword [esp + 0x40], eax
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x47444f
nop dword [eax]
push dword [esp + 0x30]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.0045b950
mov edi, eax
add esp, 4
test edi, edi
je 0x474437
push dword [edi]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push 0
push dword [edi + 0x1c]
mov dword [esp + 0x40], 0
call fcn.0045b200
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x40]
add esp, 0xc
mov edx, edi
push 0
push eax
push ebx
call fcn.00468e70
add esp, 0xc
test eax, eax
jne 0x471e59
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x47437e
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
push 0x36
push edi
push dword [esp + 0x24]
call fcn.0046b8b0
add esp, 0xc
jmp 0x474437
mov eax, dword [eax + 0x2c]
mov edi, dword [esi + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x47439b
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4743cf
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0x36
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov ecx, eax
mov edx, dword [esp + 0x34]
mov edi, dword [eax + 8]
call fcn.00462e40
cmp dword [edi + 4], 0
mov ecx, dword [edi]
mov dword [esp + 0x6c], eax
je 0x474429
cmp byte [ecx + 0x41], 0
jne 0x474429
mov edx, dword [edi + 0x20]
dec edx
lea eax, [edx + edx*4]
mov edx, dword [edi + 4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0043d920
mov eax, dword [esp + 0x70]
add esp, 4
test eax, eax
jne 0x474420
mov dword [edi + 0x10], eax
mov byte [edi + 1], al
jmp 0x474437
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xfa
jmp 0x474437
push eax
mov edx, 0xfffffffa
call fcn.0043d920
add esp, 4
mov eax, dword [esp + 0x40]
mov ebx, dword [ebx + 4]
inc eax
mov dword [esp + 0x40], eax
test ebx, ebx
jne 0x474300
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x44], eax
jge 0x47445b
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x20]
mov ecx, edx
mov dword [esp + 0x48], edx
cmp dword [eax + 0x54], edx
jg 0x474488
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x474481
mov dword [esp + 0x48], 1
jmp 0x4744bf
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x6d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x474a4b
mov edi, dword [esp + 0x10]
nop word [eax + eax]
push dword [esp + 0x30]
mov edx, dword [ebx + 8]
mov ecx, edi
call fcn.0045b950
mov edi, eax
mov dword [esp + 0x38], 0
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x50], 0
test edi, edi
je 0x474524
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x38]
mov edx, edi
push eax
push ebx
call fcn.00468e70
add esp, 0xc
mov ecx, esi
call fcn.0043d630
mov dword [esp + 0x28], eax
test edi, edi
je 0x47489c
cmp dword [esp + 0x34], 0
jne 0x47489c
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 0x18]
mov ebx, dword [ebx + 0x24]
mov edi, dword [esi + 0x20]
movsx eax, word [eax + 0x20]
mov ecx, dword [ecx + 0x54]
cmp ebx, eax
mov eax, edi
je 0x47466a
cmp ecx, edi
jg 0x474572
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4745a4
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [edi + edi*4]
inc eax
inc edx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x2f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
mov ecx, esi
mov edx, dword [esp + 0x38]
inc eax
push eax
push ebx
call fcn.00485530
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4745d4
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47460e
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x28]
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
inc edx
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x474612
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x474631
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4746b6
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x26
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [edi + 3]
mov dword [ecx + 8], eax
jmp 0x4746b6
cmp ecx, edi
jg 0x47467c
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4746b2
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [edi + edi*4]
inc eax
inc edx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x68
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4746d1
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474709
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
inc edx
mov word [eax + ecx*4], 0x49
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x474724
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474757
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
add edx, 0xfffffffe
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edi, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x474778
mov eax, 0x4dda18
jmp 0x474789
test edx, edx
lea eax, [edi - 1]
cmovns eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edi
mov ebx, dword [esp + 0x3c]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4747ab
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4747e3
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x68
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x44]
inc eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
lea eax, [ebx - 1]
mov ebx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x48]
add eax, 2
push dword [ebx + 8]
push 0x4d4a9c
push eax
push esi
call fcn.0043d260
mov eax, dword [esi + 0x18]
add esp, 0x14
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x47481a
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47484e
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x18]
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x47486a
mov eax, dword [esp + 0x28]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x50]
dec eax
mov edi, dword [esp + 0x10]
mov dword [edx + 0x58], eax
test ecx, ecx
je 0x474a38
cmp dword [edi + 0x208], 0
je 0x474a09
mov edx, ecx
mov ecx, edi
call fcn.0041f520
jmp 0x474a38
mov ebx, dword [ebx + 0x14]
xor edi, edi
test ebx, ebx
jle 0x474955
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
add eax, 0x24
mov dword [esp + 0x58], eax
nop
mov edx, dword [esp + 0x50]
test edx, edx
je 0x4748cb
lea eax, [edx + edi*4]
mov eax, dword [eax]
mov edx, dword [esp + 0x38]
push ecx
push eax
push 0
mov ecx, esi
call fcn.00453810
mov eax, dword [esi + 0x18]
add esp, 0xc
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x4748fa
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474931
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x40]
inc edi
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
add eax, 8
inc ecx
mov dword [esp + 0x58], eax
mov ebx, dword [edx + 0x14]
mov dword [esp + 0x4c], ecx
cmp edi, ebx
jl 0x4748c0
cmp dword [esp + 0x6c], 0
je 0x47478c
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
call fcn.0046ba00
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x6c], eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x47499e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x47499b
mov edi, 1
jmp 0x4749d8
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
lea ecx, [edi + edi*4]
inc eax
inc edx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x60]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x2c]
mov word [eax + ecx*4], 0x31
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push dword [esp + 0x60]
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov ebx, dword [esp + 0x44]
mov edx, 0x46
push 0
push dword [esp + 0x38]
mov ecx, esi
push dword [esp + 0x38]
push ebx
call fcn.0043d580
add esp, 0x18
jmp 0x474790
cmp ecx, dword [edi + 0x114]
jb 0x474a2f
cmp ecx, dword [edi + 0x118]
jae 0x474a2f
mov eax, dword [edi + 0x110]
mov dword [ecx], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], ecx
jmp 0x474a38
push ecx
call fcn.0041f4b0
add esp, 4
mov ebx, dword [ebx + 4]
inc dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x4744e0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x474a66
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474aa2
mov ecx, dword [esi + 0x20]
mov ebx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 8
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
lea ecx, [eax + ecx*4]
lea eax, [ebx + 1]
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
jmp 0x474aa6
mov ebx, dword [esp + 0x48]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x474ac2
mov eax, 0x4dda18
jmp 0x474ad3
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x474200
jmp 0x471e59
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4732fc
push 0
mov edx, 1
mov ecx, edi
call fcn.004719b0
mov edi, dword [esp + 0x14]
add esp, 4
xor ebx, ebx
mov ecx, 0x4ccd74
test al, al
mov esi, 0x4ca154
mov edx, str.like
push 0
push 0
setne bl
test al, al
push 0
cmove esi, ecx
mov ecx, edi
push 0x466e90
push esi
push 1
push 2
call fcn.0049b770
add esp, 0x1c
mov edx, str.like
mov ecx, edi
push 0
push 0
push 0
push 0x466e90
push esi
push 1
push 3
call fcn.0049b770
add esp, 0x1c
mov edx, str.glob
mov ecx, edi
push 0
push 0
push 0
push 0x466e90
push 0x4ca1a4
push 1
push 2
call fcn.0049b770
add esp, 0x1c
mov edx, str.glob
mov ecx, edi
push 0
push 1
push 2
push 4
call fcn.00463710
add esp, 0x10
test eax, eax
je 0x474b9f
or word [eax + 2], 0xc
push 0
push 1
push 2
push 4
mov edx, str.like
mov ecx, edi
call fcn.00463710
add esp, 0x10
test eax, eax
je 0x474bcc
xor ecx, ecx
test ebx, ebx
setne cl
lea ecx, [ecx*8 + 4]
or word [eax + 2], cx
mov eax, edi
jmp 0x471e5d
mov eax, dword [esp + 0x18]
or ecx, 0xffffffff
movzx eax, byte [eax]
lea edx, [ecx + 2]
mov al, byte [eax + 0x4ca7f0]
mov byte [esp + 0xf], al
mov eax, dword [ebp + 8]
cmp dword [eax], 0
mov eax, dword [esp + 0x1c]
cmove eax, ecx
mov ecx, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
mov dword [eax], 6
call fcn.0043eb80
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x474c2a
mov ecx, dword [esi + 0x10]
mov edx, str.integrity_check
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ebx, 0x64
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x58], ebx
test eax, eax
je 0x474c5c
lea edx, [esp + 0x58]
mov ecx, eax
call fcn.00422ca0
mov ebx, dword [esp + 0x58]
mov eax, 0x64
test ebx, ebx
cmovle ebx, eax
mov dword [esp + 0x6c], ebx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x474c77
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474caa
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x28], ecx
cmp dword [eax + 0x14], ecx
jle 0x4763fc
mov edx, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x48], ebx
test edx, edx
js 0x474cd3
cmp ecx, edx
jne 0x4763ee
mov ecx, dword [esp + 0x20]
mov edi, ecx
mov eax, dword [ecx + 0x198]
test eax, eax
mov ecx, dword [esp + 0x28]
cmovne edi, eax
mov eax, 1
shl eax, cl
mov edx, dword [edi + 0x14c]
test edx, eax
jne 0x474d24
mov eax, dword [edi]
bts edx, ecx
mov dword [edi + 0x14c], edx
mov edx, ecx
add edx, edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx*8 + 0xc]
mov eax, dword [eax]
mov dword [edi + ecx*4 + 0x150], eax
cmp ecx, 1
jne 0x474d24
mov ecx, edi
call fcn.00462560
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x474d46
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x474d43
mov edi, 1
jmp 0x474d70
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x8a
mov byte [eax + ecx*4 + 3], bl
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], ebx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x60], ecx
cmp dword [eax + 0x54], ecx
jg 0x474d93
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474db9
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x60]
lea eax, [edx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], bl
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], ebx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], bl
je 0x474dd4
mov eax, 0x4dda18
jmp 0x474de5
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x10]
shl ecx, 4
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x58], eax
test eax, eax
je 0x474efc
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
test byte [eax + 0x2a], 0x20
jne 0x474e7f
mov eax, dword [eax + 0x1c]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x474e40
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474e76
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [ebx + 2]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x5c]
inc ebx
mov dword [esp + 0x48], ebx
mov edi, dword [eax + 8]
test edi, edi
je 0x474eea
mov eax, dword [edi + 0x2c]
mov ebx, dword [esi + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ebx
jg 0x474ea3
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474eda
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov ebx, dword [esp + 0x48]
mov word [eax + ecx*4], 0x17
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x60]
mov byte [ecx + 3], 0
mov dword [ecx + 4], eax
lea eax, [ebx + 2]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x474ede
mov ebx, dword [esp + 0x48]
mov edi, dword [edi + 0x14]
inc ebx
mov dword [esp + 0x48], ebx
test edi, edi
jne 0x474e86
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x474e11
mov edx, dword [esp + 0x24]
lea ecx, [ebx + 8]
mov eax, dword [edx]
cmp eax, ecx
cmovle eax, ecx
mov dword [edx], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x474f27
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x474f5a
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x80
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi]
shl ecx, 2
cmp byte [eax + 0x41], 0
je 0x474f72
mov eax, 0x4dda1b
jmp 0x474f7a
mov eax, dword [esi + 4]
add eax, 0xffffffef
add eax, ecx
mov ecx, dword [esp + 0x28]
mov byte [eax], cl
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x474fa2
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x474f9f
mov ebx, 1
jmp 0x474fd9
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.00421400
mov ecx, dword [esi + 0x18]
add esp, 0xc
mov edi, dword [esi + 0x20]
mov dword [esp + 0x60], eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x47501b
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475018
mov edi, 1
jmp 0x475050
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xffffffffffffffff
push dword [esp + 0x64]
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x47507d
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4750b4
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4750cf
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475106
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 2
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475121
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475158
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x475174
mov eax, 0x4dda18
jmp 0x475185
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x60], eax
test eax, eax
je 0x4763e2
mov cl, byte [esp + 0xf]
nop
cmp cl, 0x71
je 0x4763e2
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x40], 0xffffffff
mov edx, dword [eax + 8]
test edx, edx
je 0x4763d0
test byte [eax + 0x2a], 0x20
jne 0x4751e0
mov dword [esp + 0x30], 0
jmp 0x4751f4
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
je 0x4751f0
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x4751e0
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475216
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475213
mov edi, 1
jmp 0x47524d
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x8a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x475268
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47529f
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x4752bb
mov eax, 0x4dda18
jmp 0x4752cc
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], edx
call fcn.00453ab0
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x48]
mov edx, ebx
push eax
push 0
push 1
push 0x36
call fcn.0046f790
mov eax, dword [esi + 0x18]
add esp, 0x14
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475311
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475348
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 8]
xor edx, edx
mov dword [esp + 0x50], edx
test ebx, ebx
je 0x4753b6
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475374
mov ecx, esi
call fcn.0043d1e0
mov edx, dword [esp + 0x50]
test eax, eax
jne 0x4753aa
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
lea ecx, [eax + ecx*4]
lea eax, [edx + 8]
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
mov ebx, dword [ebx + 0x14]
inc edx
mov dword [esp + 0x50], edx
test ebx, ebx
jne 0x475355
lea ecx, [edx + 8]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
cmp eax, ecx
cmovle eax, ecx
mov dword [edx], eax
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4753e1
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475418
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x6d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov dword [esp + 0x58], edi
cmp dword [eax + 0x54], edi
jg 0x475441
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x47543e
mov dword [esp + 0x58], 1
jmp 0x475478
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x38]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x48], ecx
cmp ax, word [ebx + 0x22]
jge 0x4757a4
xor edx, edx
mov dword [esp + 0x50], edx
movsx eax, word [ebx + 0x20]
cmp ecx, eax
je 0x47578c
mov eax, dword [ebx + 4]
cmp byte [eax + edx + 0x14], 0
je 0x47578c
push 3
push ecx
push dword [esp + 0x4c]
mov edx, ebx
mov ecx, esi
call fcn.00453810
mov eax, dword [esi + 0x20]
add esp, 0xc
lea ecx, [eax + eax*4]
mov eax, dword [esi]
shl ecx, 2
cmp byte [eax + 0x41], 0
je 0x4754d9
mov eax, 0x4dda1b
jmp 0x4754e1
mov eax, dword [esi + 4]
add eax, 0xffffffef
add eax, ecx
mov byte [eax], 0x80
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
mov dword [esp + 0x54], ebx
cmp dword [eax + 0x54], ebx
jg 0x47550d
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x47550a
mov dword [esp + 0x54], 1
jmp 0x475544
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x4d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x47555f
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475596
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov eax, dword [edx + 4]
push dword [eax + ecx]
push dword [edx]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.00421400
mov ecx, dword [esi + 0x18]
add esp, 0x10
mov edi, dword [esi + 0x20]
mov ebx, eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x4755db
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x4755d8
mov edi, 1
jmp 0x475610
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xffffffffffffffff
push ebx
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x47563a
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475671
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475693
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475690
mov edi, 1
jmp 0x4756ca
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x8a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x4756e5
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47571c
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x475738
mov eax, 0x4dda18
jmp 0x47574d
mov ecx, dword [esp + 0x54]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x47576c
mov eax, 0x4dda18
jmp 0x47577d
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x50]
movsx eax, word [ebx + 0x22]
inc ecx
add edx, 0x18
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], edx
cmp ecx, eax
jl 0x475494
mov edi, dword [ebx + 8]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], edi
test edi, edi
je 0x475fbc
nop dword [eax + eax]
mov ecx, esi
call fcn.0043d630
mov ebx, eax
cmp dword [esp + 0x30], edi
je 0x475fa5
push dword [esp + 0x40]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x74]
push dword [esp + 0x60]
mov edx, edi
push eax
push 0
push 0
push dword [esp + 0x58]
call fcn.00465500
mov ecx, dword [esi + 0x18]
add esp, 0x18
mov dword [esp + 0x5c], edi
mov edi, dword [esi + 0x20]
mov dword [esp + 0x40], eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x475819
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475851
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 1
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x3c]
add eax, 8
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov eax, dword [esp + 0x2c]
mov edx, 0x46
mov ecx, dword [esp + 0x4c]
add ecx, dword [esp + 0x3c]
movzx eax, word [eax + 0x34]
push eax
push dword [esp + 0x44]
push ebx
push ecx
mov ecx, esi
call fcn.0043d580
mov ecx, dword [esi + 0x18]
add esp, 0x10
mov edi, dword [esi + 0x20]
mov ebx, eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x475894
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4758c9
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4758eb
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x4758e8
mov edi, 1
jmp 0x475922
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.row
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475950
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475987
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4759a9
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x4759a6
mov edi, 1
jmp 0x4759e0
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._missing_from_index
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475a0e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475a45
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [esi + 0x20]
mov ecx, edx
mov dword [esp + 0x48], edx
mov edi, dword [eax]
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edx
jg 0x475a79
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475a72
mov edx, 1
mov dword [esp + 0x48], edx
jmp 0x475ab0
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475ad8
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475b0f
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475b2a
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475b61
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x20]
mov ecx, edx
mov dword [esp + 0x54], edx
cmp dword [eax + 0x54], edx
jg 0x475b8e
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475b87
mov dword [esp + 0x54], 1
jmp 0x475bc5
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x8a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475be0
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475c17
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
mov edx, dword [esi + 0x20]
test ebx, ebx
jns 0x475c2b
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x475c3a
mov eax, 0x4dda18
jmp 0x475c43
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x2c]
mov dword [eax + 8], edx
cmp byte [edi + 0x36], 0
je 0x475f38
mov ecx, esi
call fcn.0043d630
mov dword [esp + 0x50], eax
xor ecx, ecx
mov eax, dword [esp + 0x2c]
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x475cf8
jmp 0x475c77
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
movsx eax, word [eax + edi*2]
test eax, eax
js 0x475c93
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0x14], 0
jne 0x475ce7
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x475cae
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475ce7
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
add eax, edi
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x2c]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
jl 0x475c73
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x475d1a
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475d17
mov ebx, 1
jmp 0x475d59
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
add edx, dword [esp + 0x4c]
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x34]
mov word [eax + ecx*4], 8
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475d74
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475dab
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x475dc7
mov eax, 0x4dda18
jmp 0x475dd8
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x50]
mov ecx, esi
mov dword [eax + 8], edx
mov edx, 0x73
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x32]
push eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x54]
push ebx
push eax
call fcn.0043d580
mov eax, dword [esi + 0x18]
add esp, 0x10
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475e20
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475e57
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475e79
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x475e76
mov edi, 1
jmp 0x475eb0
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.non_unique_entry_in_index
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475ede
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x475f15
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x18]
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x475f2d
lea eax, [ebx*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov edi, dword [esp + 0x2c]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x475f54
mov eax, 0x4dda18
jmp 0x475f69
mov ecx, dword [esp + 0x54]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x475fa5
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx + 8]
mov edi, dword [edx + 0x18]
mov ecx, dword [edi + 0x70]
test ecx, ecx
je 0x475f93
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edx + 0x20]
mov dword [ecx], eax
mov eax, dword [edx + 0x20]
mov ecx, ebx
dec eax
mov dword [edi + 0x58], eax
call fcn.004537c0
mov edi, dword [esp + 0x2c]
mov edi, dword [edi + 0x14]
inc dword [esp + 0x3c]
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x4757c0
mov ebx, dword [esp + 0x38]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x475fd7
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x476010
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x58]
mov word [eax + ecx*4], 8
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x476014
mov edi, dword [esp + 0x58]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
lea ecx, [edi - 1]
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x476033
mov eax, 0x4dda20
jmp 0x476046
test ecx, ecx
mov eax, edx
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [eax], edx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x47606a
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x476067
mov edi, 1
jmp 0x4760a1
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.wrong__of_entries_in_index
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [ebx + 8]
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x4763cc
mov edx, dword [esp + 0x30]
mov ecx, 8
mov dword [esp + 0x40], ecx
cmp edx, eax
je 0x4763b8
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x4760f3
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x476129
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x8a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
lea ecx, [eax + ecx*4]
lea eax, [ebx + 2]
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x476144
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47617b
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x476196
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4761d4
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x32
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 3
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
add eax, 0xfffffff8
mov dword [ecx + 0xc], 0
add eax, dword [esp + 0x4c]
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4761ef
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x476225
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x4f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 3
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [ebx + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esi]
shl ecx, 2
cmp byte [eax + 0x41], 0
je 0x47623d
mov eax, 0x4dda1b
jmp 0x476245
mov eax, dword [esi + 4]
add eax, 0xffffffef
add eax, ecx
mov byte [eax], 0x90
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x476263
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47629a
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [esp + 0x48]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebx, dword [ebx]
cmp dword [eax + 0x54], edi
jg 0x4762c2
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x4762bf
mov edi, 1
jmp 0x4762f9
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x476323
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x47635a
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 7
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x476375
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x4763ac
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x14]
inc ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], ecx
test eax, eax
jne 0x4760d0
mov cl, byte [esp + 0xf]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x4751a0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, dword [eax + 0x14]
jl 0x474cc1
push ecx
push 0x4c9e20
mov edx, 4
mov ecx, esi
call fcn.0043d870
mov edi, dword [esp + 0x74]
mov edx, eax
add esp, 8
neg edi
mov ecx, edx
test edx, edx
jns 0x476423
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x476432
mov eax, 0x4dda18
jmp 0x47643b
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edi
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
lea ecx, [edx + 1]
mov eax, dword [esi]
mov edi, dword [esi + 0x20]
cmp byte [eax + 0x41], 0
je 0x47645d
mov eax, 0x4dda18
jmp 0x47646e
test ecx, ecx
lea eax, [edi - 1]
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edi
lea eax, [edx + 2]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x4764ae
cmp byte [ecx + 0x41], 0
jne 0x4764ae
test eax, eax
jns 0x47648b
mov eax, dword [esi + 0x20]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx edx, byte [esi + 1]
call fcn.0043d920
mov dword [esi + 0x10], 0x4d4b28
mov byte [esi + 1], 0xfe
jmp 0x471e56
push 0x4d4b28
mov edx, 0xfffffffe
call fcn.0043d920
jmp 0x471e56
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x47651d
mov ecx, dword [ebx]
cmp byte [ecx + 0x91], 0
jne 0x4764f4
lea edx, [ebx + 4]
call fcn.00477680
test eax, eax
je 0x4764f4
inc dword [ebx + 0x40]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov eax, dword [ebx]
mov edx, str.encoding
mov ecx, esi
movzx eax, byte [eax + 0x3e]
push dword [eax*8 + 0x4ccd20]
call fcn.00471af0
mov eax, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x471e59
mov eax, dword [str.UTF8]
mov esi, 0x4ccd20
test eax, eax
je 0x476585
push eax
push dword [esp + 0x18]
call fcn.004221d0
add esp, 8
test eax, eax
je 0x47655f
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
jne 0x476542
jmp 0x476585
mov cl, byte [esi + 4]
mov edx, 2
test cl, cl
movzx eax, cl
cmovne edx, eax
mov eax, dword [esp + 0x10]
mov byte [eax + 0x3e], dl
mov eax, dword [edi + 0xc]
mov byte [eax + 0x4d], dl
cmp dword [esi], 0
jne 0x471e59
mov edi, dword [esp + 0x14]
push edi
push str.unsupported_encoding:__s
push ebx
call fcn.00422040
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov eax, dword [esi + 0x60]
mov edx, dword [esp + 0x1c]
bts eax, edx
mov ebx, dword [edi*4 + 0x4cc938]
mov dword [esi + 0x60], eax
cmp edx, 1
je 0x4765da
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x4765da
mov eax, dword [esi + 0x64]
bts eax, edx
mov dword [esi + 0x64], eax
cmp dword [esp + 0x14], 0
je 0x4766cd
test byte [edi*4 + 0x4cc935], 2
jne 0x4766cd
push ecx
push 0x4c9fec
mov edx, 3
mov ecx, esi
call fcn.0043d870
mov edi, eax
add esp, 8
mov ecx, edi
test edi, edi
jns 0x476614
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x476623
mov eax, 0x4dda18
jmp 0x47662c
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
call fcn.00422ca0
lea ecx, [edi + 1]
test ecx, ecx
jns 0x476653
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x476662
mov ecx, 0x4dda18
jmp 0x47666b
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x6c]
lea edx, [edi + 2]
mov dword [ecx + 4], eax
mov ecx, edx
test ecx, ecx
jns 0x47667f
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x47668e
mov eax, 0x4dda18
jmp 0x476697
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
test edx, edx
jns 0x4766a6
mov edx, dword [esi + 0x20]
dec edx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x4766bb
mov eax, 0x4dda18
mov dword [eax + 8], ebx
jmp 0x471e59
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 8], ebx
lea eax, [eax + ecx*4]
jmp 0x471e59
push ecx
push 0x4ca104
mov edx, 3
mov ecx, esi
call fcn.0043d870
mov edx, eax
add esp, 8
mov ecx, edx
test edx, edx
jns 0x4766ee
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x4766fd
mov eax, 0x4dda18
jmp 0x476706
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x1c]
add edx, 1
mov dword [eax + 4], edi
mov ecx, edx
jns 0x476718
mov ecx, dword [esi + 0x20]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x476727
mov eax, 0x4dda18
jmp 0x476730
mov eax, dword [esi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edi
test edx, edx
jns 0x47673b
mov edx, dword [esi + 0x20]
dec edx
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x476750
mov eax, 0x4dda18
mov dword [eax + 0xc], ebx
jmp 0x4725b8
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 0xc], ebx
lea eax, [eax + ecx*4]
jmp 0x4725b8
mov eax, dword [esp + 0x24]
xor ebx, ebx
mov ecx, esi
lea edx, [ebx + 1]
mov dword [eax], 1
call fcn.0043eb80
mov eax, dword [esi]
cmp byte [eax + 0x41], bl
jne 0x476794
mov ecx, dword [esi + 0x10]
mov edx, str.compile_option
push ebx
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
cmp ebx, 1
ja 0x4767a2
mov eax, dword [ebx*4 + 0x4cc2ac]
jmp 0x4767a4
xor eax, eax
inc ebx
mov dword [esp + 0x6c], eax
test eax, eax
je 0x471e59
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4767d3
mov ecx, esi
call fcn.0043d1e0
test eax, eax
je 0x4767d0
mov edi, 1
jmp 0x47680a
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x70]
mov edx, edi
mov ecx, esi
call fcn.0043db40
mov eax, dword [esi + 0x18]
add esp, 8
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x476836
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x476794
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x476794
mov eax, dword [ebp + 8]
mov ecx, 0xa
mov edi, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
cmp dword [eax], 0
cmovne ecx, dword [esp + 0x1c]
mov dword [esp + 0x70], ecx
test edi, edi
je 0x4768ed
mov bl, byte [edi]
mov edx, str.full
mov bh, bl
test bl, bl
je 0x4768c9
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x4768c5
mov al, byte [edx + edi + 1]
inc edx
mov bh, al
test al, al
jne 0x4768a4
mov edi, dword [esp + 0x14]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, bh
movzx eax, byte [eax + 0x4ca7f0]
sub eax, ecx
jne 0x4769b7
mov dword [esp + 0x4c], 1
mov edx, 3
mov ecx, esi
call fcn.0043eb80
xor ebx, ebx
mov edi, 0x4c96f0
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x47691d
mov ecx, dword [esi + 0x10]
mov edx, dword [edi]
add ecx, ebx
push 0
push 1
push 0xffffffffffffffff
call fcn.0043c720
add esp, 0xc
add edi, 4
add ebx, 0x28
cmp edi, 0x4c96fc
jl 0x476900
mov eax, dword [esp + 0x24]
mov dword [eax], 3
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x476950
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x476987
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4], 9
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x4769a1
mov ecx, esi
call fcn.0043d1e0
test eax, eax
jne 0x471e59
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov dword [eax + ecx*4 + 8], 3
jmp 0x472900
mov edx, str.restart
mov bh, bl
test bl, bl
je 0x4769e7
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x4769e7
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x4769c6
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, bh
movzx eax, byte [eax + 0x4ca7f0]
sub eax, ecx
jne 0x476a0c
mov dword [esp + 0x4c], 2
jmp 0x4768ed
mov edx, str.truncate
test bl, bl
je 0x476a41
mov edi, dword [esp + 0x14]
mov al, bl
sub edi, edx
nop dword [eax]
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ca7f0]
cmp al, byte [ecx + 0x4ca7f0]
jne 0x476a41
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x476a20
movzx eax, byte [edx]
mov edx, 3
movzx ecx, byte [eax + 0x4ca7f0]
movzx eax, bl
movzx eax, byte [eax + 0x4ca7f0]
sub eax, ecx
mov eax, 0
cmove eax, edx
mov dword [esp + 0x4c], eax
jmp 0x4768f2
mov edi, dword [esp + 0x14]
test edi, edi
je 0x476a98
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov ecx, edi
call fcn.00422ca0
push dword [esp + 0x6c]
push dword [esp + 0x14]
call fcn.0049be90
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xd8], 0x49be50
jne 0x476ab0
mov eax, dword [eax + 0xdc]
jmp 0x476ab2
xor eax, eax
cdq
push edx
mov edx, str.wal_autocheckpoint
push eax
mov ecx, esi
call fcn.00471a50
mov eax, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x18]
jmp 0x471e65
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x476ae6
push eax
call dword [0x4dab3c]
add esp, 4
mov ecx, esi
call fcn.0042f990
mov eax, dword [esi + 0x14]
xor edi, edi
test eax, eax
jle 0x476b2d
mov ebx, dword [esp + 0x10]
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi + 4]
test eax, eax
je 0x476b22
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xcc]
push dword [eax + 0x28]
call dword [0x4dab80]
add esp, 4
mov eax, dword [ebx + 0x14]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x476b00
xor esi, esi
test eax, eax
mov eax, dword [esp + 0x10]
jle 0x476b69
xor edi, edi
nop dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + edi + 4]
test ecx, ecx
je 0x476b5c
cmp byte [ecx + 9], 0
je 0x476b5c
add dword [ecx + 0xc], 0xffffffff
jne 0x476b5c
call fcn.0042f8d0
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x476b40
mov eax, dword [eax + 0xc]
test eax, eax
je 0x471e59
push eax
call dword [0x4dab44]
jmp 0x471e56
mov eax, dword [esp + 0x14]
test eax, eax
je 0x476ba7
lea edx, [esp + 0x70]
mov ecx, eax
call fcn.00422b80
test eax, eax
jne 0x476ba7
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0041efc0
add esp, 8
call fcn.0049a0f0
test eax, eax
je 0x476bb7
or edi, 0xffffffff
or eax, edi
jmp 0x476be5
mov eax, dword [0x4ddb3c]
test eax, eax
je 0x476bcf
push eax
call dword [0x4dab3c]
mov eax, dword [0x4ddb3c]
add esp, 4
mov edi, dword [0x4ddb40]
test eax, eax
je 0x476be3
push eax
call dword [0x4dab44]
add esp, 4
xor eax, eax
push eax
push edi
mov edx, str.soft_heap_limit
mov ecx, esi
call fcn.00471a50
add esp, 8
jmp 0x471e59
mov edi, dword [esp + 0x14]
test edi, edi
je 0x476c3b
lea edx, [esp + 0x70]
mov ecx, edi
call fcn.00422b80
test eax, eax
jne 0x476c3b
cmp dword [esp + 0x74], eax
jl 0x476c3b
mov eax, dword [esp + 0x70]
jg 0x476c22
test eax, eax
jb 0x476c3b
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x84], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x84]
cdq
push edx
mov edx, str.threads
jmp 0x476ab9
mov edi, dword [esp + 0x14]
test edi, edi
je 0x476d37
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov ecx, edi
call fcn.00422ca0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x6c]
mov eax, dword [ecx + 0xc]
test edi, edi
jle 0x476ce6
test eax, eax
je 0x476c94
push eax
call dword [0x4dab3c]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1bc], 0x49b590
mov dword [ecx + 0x1c0], ecx
mov dword [ecx + 0x1c4], 0
mov dword [ecx + 0x1ec], 0
test eax, eax
je 0x476cca
push eax
call dword [0x4dab44]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x1ec], edi
mov eax, dword [ecx + 0x1ec]
mov edi, dword [esp + 0x14]
cdq
push edx
mov edx, str.timeout
jmp 0x476ab9
test eax, eax
je 0x476cfb
push eax
call dword [0x4dab3c]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1bc], 0
mov dword [ecx + 0x1c0], 0
mov dword [ecx + 0x1c4], 0
mov dword [ecx + 0x1ec], 0
test eax, eax
je 0x476cd0
push eax
call dword [0x4dab44]
mov ecx, dword [esp + 0x14]
add esp, 4
jmp 0x476cd0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1ec]
cdq
push edx
mov edx, str.timeout
jmp 0x476ab9
cmp ebx, dword [eax + 0x114]
jb 0x476d77
cmp ebx, dword [eax + 0x118]
jae 0x476d77
mov eax, dword [eax + 0x110]
mov dword [ebx], eax
mov eax, dword [esp + 0x10]
dec dword [eax + 0xfc]
mov dword [eax + 0x110], ebx
jmp 0x476d84
push ebx
call fcn.0041f4b0
add esp, 4
mov eax, dword [esp + 0x10]
test edi, edi
je 0x476dd9
cmp dword [eax + 0x208], 0
je 0x476da1
mov edx, edi
mov ecx, eax
call fcn.0041f520
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, dword [eax + 0x114]
jb 0x476dd0
cmp edi, dword [eax + 0x118]
jae 0x476dd0
mov eax, dword [eax + 0x110]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
dec dword [eax + 0xfc]
mov dword [eax + 0x110], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.0041f4b0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret