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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
push esi
mov esi, dword [ebx + 8]
push edi
mov dword [esp + 0x10], eax
test esi, esi
je 0x4fd952
mov dword [esp + 0x18], esi
jmp 0x4fd96d
cmp dword [ebx + 0x74], 0
jne 0x4fd962
test byte [eax + 0x44], 8
jne 0x4fd962
mov byte [ebx + 0x17], 1
call fcn.004cbf10
mov dword [esp + 0x18], eax
mov esi, eax
test esi, esi
je 0x4ffc66
or dword [esi + 0x94], 0x40
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
lea ecx, [esp + 0x58]
mov dword [ebx + 0x2c], 2
call fcn.004ec540
mov dword [esp + 0x14], eax
test eax, eax
jl 0x4ffc66
mov edi, dword [esp + 0x10]
mov ebx, dword [edi + 0x10]
mov ecx, eax
shl eax, 4
add ebx, eax
mov dword [esp + 0x5c], eax
cmp ecx, 1
jne 0x4fd9c5
mov eax, dword [ebp + 8]
call fcn.004f1160
test eax, eax
jne 0x4ffc66
mov ecx, dword [esp + 0x58]
push edi
call fcn.004ec390
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x4ffc66
cmp dword [ebp + 0x18], 0
je 0x4fd9f7
mov eax, dword [ebp + 0x14]
push eax
push 0x601188
call fcn.004ad7b0
add esp, 8
jmp 0x4fda03
mov ecx, dword [ebp + 0x14]
push edi
call fcn.004ec390
add esp, 4
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 4], 0
mov dword [esp + 0x1c], eax
jbe 0x4fda18
mov edi, dword [ebx]
mov dword [esp + 0x24], edi
jmp 0x4fda24
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
push edi
push edx
push eax
mov eax, dword [ebp + 8]
push 0x13
call fcn.004eb3a0
add esp, 0x10
test eax, eax
jne 0x4ffc4c
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov dword [eax + 0x18c], ecx
lea ecx, [esp + 0x78]
push ecx
push 0xe
push edi
push eax
call fcn.00528840
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4fdac4
push 1
mov ebx, esi
call fcn.004ce040
mov edx, dword [esp + 0x7c]
add esp, 4
push 0xffffffffffffffff
push edx
push edi
push edi
mov ecx, esi
call fcn.004ce100
mov eax, dword [esp + 0x88]
mov ecx, esi
call fcn.004fd750
mov eax, dword [esp + 0x88]
push eax
call fcn.004ab490
add esp, 0x14
jmp 0x4ffc4c
cmp edi, 0xc
je 0x4fdb0a
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4fdafc
mov esi, dword [ebp + 8]
push eax
push 0x5f7c60
call fcn.004ae670
mov ecx, dword [esp + 0x80]
push ecx
call fcn.004ab490
mov eax, esi
add esp, 0xc
inc dword [eax + 0x24]
mov dword [eax + 0xc], edi
jmp 0x4ffc4c
mov eax, dword [ebp + 8]
inc dword [eax + 0x24]
mov dword [eax + 0xc], edi
jmp 0x4ffc4c
mov edx, dword [esp + 0x34]
push edx
call fcn.004fd870
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
je 0x4ffc4c
test byte [edi + 5], 1
je 0x4fdb3f
mov eax, dword [ebp + 8]
push eax
call fcn.00500d40
add esp, 4
test eax, eax
jne 0x4ffc4c
mov al, byte [edi + 5]
mov edi, dword [esp + 0x1c]
test al, 2
jne 0x4fdb5d
test al, 4
je 0x4fdb52
test edi, edi
jne 0x4fdb5d
mov eax, dword [esp + 0x28]
mov ecx, esi
call fcn.004fd610
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx + 4]
cmp eax, 0x27
ja case.0x4fdb6e.3
jmp dword [eax*4 + 0x4ffc70]
mov ecx, dword [esp + 0x14]
mov eax, esi
call fcn.004cd410
test edi, edi
jne 0x4fdbb2
mov eax, dword [ebp + 8]
add dword [eax + 0x2c], 2
push 9
mov eax, 0x5e51dc
mov ecx, esi
call fcn.004cc9c0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x4ffc4c
mov ecx, edi
call fcn.004af1c0
call fcn.004af8e0
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 8]
push 0
mov edi, eax
call fcn.004f12a0
mov ecx, dword [esp + 0x18]
add esp, 4
push edi
push 3
push ecx
push 0x6b
push esi
call fcn.004cc1f0
mov edx, dword [ebx + 0xc]
mov dword [edx + 0x50], edi
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x50]
mov eax, dword [ebx + 4]
add esp, 0x14
push ecx
call fcn.004c0e10
add esp, 4
jmp 0x4ffc4c
mov ebx, dword [ebx + 4]
test edi, edi
jne 0x4fdc1e
test ebx, ebx
je 0x4fdc17
mov edx, dword [ebx + 4]
mov eax, dword [edx + 0x20]
jmp 0x4ffc41
xor eax, eax
jmp 0x4ffc41
mov ecx, edi
call fcn.004af1c0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x54], eax
push 0
push 0xffffffffffffffff
mov ecx, ebx
call fcn.004c0f50
add esp, 8
cmp eax, 7
jne 0x4ffc4c
mov eax, dword [esp + 0x10]
call fcn.004abc60
jmp 0x4ffc4c
mov edx, dword [ebx + 4]
or ebx, 0xffffffff
mov dword [esp + 0x5c], edx
test edi, edi
je 0x4fdc82
push str.fast
push edi
call fcn.004ae7c0
add esp, 8
test eax, eax
jne 0x4fdc76
lea ebx, [eax + 2]
jmp 0x4fdc82
xor al, al
mov ecx, edi
call fcn.004fd450
movzx ebx, al
mov eax, dword [ebp + 0x10]
xor edi, edi
cmp dword [eax + 4], edi
jne 0x4fdcc0
cmp ebx, edi
jl 0x4fdcc0
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x14], edi
jle 0x4fdcc0
mov dword [esp + 0x40], edi
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + eax + 4]
call fcn.004c10c0
mov edx, dword [esp + 0x10]
add dword [esp + 0x40], 0x10
inc edi
cmp edi, dword [edx + 0x14]
jl 0x4fdc9d
mov eax, dword [esp + 0x5c]
call fcn.004c10c0
jmp 0x4ffc41
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edx, ebx
call fcn.004f1200
inc dword [ebx + 0x2c]
mov eax, dword [esp + 0x34]
movzx ecx, byte [eax]
cmp byte [ecx + 0x5e3e00], 0x70
mov ebx, dword [ebx + 0x2c]
jne 0x4fdd01
mov edx, dword [esp + 0x14]
push 0
push ebx
push edx
push 0xa7
jmp 0x4fdd19
mov ecx, edi
call fcn.004af1c0
call fcn.004af8e0
push eax
mov eax, dword [esp + 0x18]
push ebx
push eax
push 0xa8
push esi
call fcn.004cc1f0
add esp, 0x14
push 0
push 1
push ebx
push 0x51
push esi
call fcn.004cc1f0
add esp, 0x14
jmp 0x4ffc4c
mov esi, edi
mov dword [esp + 0x5c], str.normal
call fcn.004fd470
mov ecx, dword [ebp + 0x10]
mov edx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4fdda1
cmp edx, 0xffffffff
jne 0x4fdd61
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x4b]
jmp 0x4fddae
test eax, eax
jne 0x4fdda1
mov eax, dword [esp + 0x10]
mov esi, 2
cmp dword [eax + 0x14], esi
jle 0x4fdd9a
mov edi, 0x20
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.004bb1d0
mov ecx, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [ecx + 0x14]
jl 0x4fdd78
mov eax, dword [esp + 0x10]
mov byte [eax + 0x4b], dl
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.004bb1d0
cmp eax, 1
mov eax, str.exclusive
je 0x4fddbc
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
call fcn.004fd750
jmp 0x4ffc4c
test edi, edi
jne 0x4fddd8
mov dword [esp + 0x28], 0xffffffff
jmp 0x4fde14
mov eax, edi
call fcn.004ae490
mov dword [esp + 0x5c], eax
xor ebx, ebx
cmp ebx, 6
je 0x4fddce
mov eax, dword [ebx*4 + 0x5e51c0]
test eax, eax
je 0x4fddce
mov ecx, dword [esp + 0x5c]
push ecx
push eax
push edi
call fcn.004ae830
add esp, 0xc
test eax, eax
je 0x4fde0b
inc ebx
jmp 0x4fdde5
mov dword [esp + 0x28], ebx
cmp ebx, 0xffffffff
jne 0x4fde2e
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x4fde2e
mov eax, edx
mov dword [esp + 0x14], 0
mov dword [eax + 4], 1
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x14]
sub edi, 1
js 0x4fde81
mov ebx, edi
shl ebx, 4
nop
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
cmp dword [ebx + eax + 4], 0
je 0x4fde79
cmp edi, dword [esp + 0x14]
je 0x4fde5d
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 4], 0
jne 0x4fde79
mov ecx, edi
mov eax, esi
call fcn.004cd410
mov edx, dword [esp + 0x28]
push edx
push 1
push edi
push 7
push esi
call fcn.004cc1f0
add esp, 0x14
dec edi
sub ebx, 0x10
test edi, edi
jge 0x4fde40
push 0
push 1
push 1
push 0x51
push esi
call fcn.004cc1f0
add esp, 0x14
jmp 0x4ffc4c
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
mov ebx, dword [ecx]
or ecx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
test edi, edi
je 0x4fdee3
mov edi, dword [esp + 0x1c]
lea edx, [esp + 0x68]
push edx
call fcn.004aef60
mov ecx, dword [esp + 0x70]
add esp, 4
cmp ecx, 0xffffffff
jg 0x4fdedf
jl 0x4fded8
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jae 0x4fdee3
or eax, 0xffffffff
or ecx, eax
jmp 0x4fdee3
mov eax, dword [esp + 0x68]
push ecx
push eax
mov ecx, ebx
call fcn.004bb350
push edx
push eax
call fcn.004fd6b0
add esp, 0x10
jmp 0x4ffc4c
mov eax, dword [ebx + 4]
mov dword [esp + 0x5c], eax
test edi, edi
jne 0x4fdf10
call fcn.004c11b0
jmp 0x4ffc41
mov esi, edi
call fcn.004fd4a0
mov ebx, eax
mov eax, dword [esp + 0x10]
mov byte [eax + 0x4c], bl
mov eax, dword [esp + 0x5c]
push ebx
call fcn.004c1130
add esp, 4
test eax, eax
jne 0x4ffc4c
cmp ebx, 1
je 0x4fdf43
cmp ebx, 2
jne 0x4ffc4c
mov esi, dword [esp + 0x18]
mov edi, dword [esi + 0x88]
push 5
mov eax, 0x5e5204
mov ecx, esi
call fcn.004cc9c0
mov ecx, dword [esp + 0x18]
add edi, 4
dec ebx
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x30], edi
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], ebx
add esp, 4
mov eax, esi
call fcn.004cd410
jmp 0x4ffc4c
test edi, edi
je 0x4fdf9f
lea ecx, [esp + 0x5c]
push ecx
push edi
call fcn.004af050
add esp, 8
test eax, eax
je 0x4fdf9f
mov ebx, dword [esp + 0x5c]
test ebx, ebx
jg 0x4fdfa4
mov ebx, Ordinal_1
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 8]
push 0
mov ecx, edi
call fcn.004f12a0
add esp, 4
push 0
push 1
push ebx
push 0x46
push esi
call fcn.004cc1f0
add esp, 0x14
push 0
push 0
push edi
push 0x3b
push esi
call fcn.004cc1f0
add esp, 0x14
push 0
push 0
push 1
push 0x51
push esi
mov edi, eax
call fcn.004cc1f0
add esp, 0x14
push 0
push 0xffffffffffffffff
push 1
push 0x53
push esi
call fcn.004cc1f0
add esp, 0x14
push 0
push edi
push 1
push 0x2f
push esi
call fcn.004cc1f0
add esp, 0x14
mov eax, edi
mov edx, esi
call fcn.004ccb60
jmp 0x4ffc4c
test edi, edi
jne 0x4fe028
mov edx, dword [ebx + 0xc]
mov eax, dword [edx + 0x50]
jmp 0x4ffc41
mov ecx, edi
call fcn.004af1c0
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [edx + 0x50]
push eax
mov eax, dword [ebx + 4]
call fcn.004c0e10
add esp, 4
jmp 0x4ffc4c
test edi, edi
jne 0x4fe06f
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1c], 0x20
je 0x4fdc17
mov eax, dword [ebx + 4]
push edi
call fcn.004c0e60
add esp, 4
jmp 0x4ffc41
lea edx, [esp + 0x50]
push edx
push edi
mov dword [esp + 0x58], 1
call fcn.004af050
mov esi, dword [esp + 0x58]
add esp, 8
test eax, eax
je 0x4fe099
mov eax, dword [ebx + 4]
push esi
call fcn.004c0e60
add esp, 4
test esi, esi
setne al
mov ecx, edi
call fcn.004fd450
test al, al
mov eax, dword [esp + 0x10]
je 0x4fe0bf
or dword [eax + 0x1c], 0x20
push eax
call fcn.004fd790
add esp, 4
jmp 0x4ffc4c
and dword [eax + 0x1c], 0xffffffdf
push eax
call fcn.004fd790
add esp, 4
jmp 0x4ffc4c
test edi, edi
je 0x4fe168
lea eax, [esp + 0x68]
push eax
call fcn.004aef60
mov ecx, dword [esp + 0x70]
add esp, 4
test ecx, ecx
jg 0x4fe10b
jl 0x4fe0f7
cmp dword [esp + 0x68], 0
jae 0x4fe10b
mov ecx, dword [0x6319e0]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x6319e4]
mov dword [esp + 0x6c], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
mov eax, dword [esp + 0x10]
jne 0x4fe122
mov edx, dword [esp + 0x68]
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x4fe168
mov ebx, edi
shl ebx, 4
nop
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx + edx + 4]
test eax, eax
je 0x4fe160
cmp edi, dword [esp + 0x14]
je 0x4fe14e
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x4fe160
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.004c0eb0
mov ecx, dword [esp + 0x74]
add esp, 8
dec edi
sub ebx, 0x10
test edi, edi
jge 0x4fe130
mov ecx, dword [esp + 0x10]
or eax, 0xffffffff
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
push 0x12
push eax
push ecx
call fcn.00528840
add esp, 0x10
test eax, eax
jne 0x4fe19d
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
jmp 0x4ffc42
cmp eax, 0xc
je 0x4ffc4c
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x4ffc4c
test edi, edi
jne 0x4fe1c5
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x48]
jmp 0x4ffc41
mov eax, edi
mov edi, dword [ebp + 8]
call fcn.004fd5a0
jmp 0x4ffc4c
test edi, edi
jne 0x4fe1e9
mov eax, dword [0x6408c8]
mov ecx, esi
call fcn.004fd750
jmp 0x4ffc4c
cmp byte [edi], 0
je 0x4fe224
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x5c]
push ecx
push 1
push edi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x4fe20f
cmp dword [esp + 0x5c], eax
jne 0x4fe224
mov esi, dword [ebp + 8]
push str.not_a_writable_directory
call fcn.004ae670
add esp, 4
jmp 0x4ffc4c
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x48], 1
ja 0x4fe236
mov eax, dword [ebp + 8]
call fcn.004fd550
mov ecx, dword [0x6408c8]
push ecx
call fcn.004ab490
add esp, 4
cmp byte [edi], 0
je 0x4fe25f
push edi
push 0x5f7c60
call fcn.004ad880
mov dword [0x6408c8], eax
jmp 0x4ffc49
mov dword [0x6408c8], 0
jmp 0x4ffc4c
test edi, edi
jne 0x4fe283
mov eax, dword [0x6408cc]
mov ecx, esi
call fcn.004fd750
jmp 0x4ffc4c
cmp byte [edi], 0
je 0x4fe2b1
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x5c]
push ecx
push 1
push edi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x4fe20f
cmp dword [esp + 0x5c], eax
je 0x4fe20f
mov eax, dword [0x6408cc]
push eax
call fcn.004ab490
add esp, 4
cmp byte [edi], 0
je 0x4fe2d9
push edi
push 0x5f7c60
call fcn.004ad880
mov dword [0x6408cc], eax
jmp 0x4ffc49
mov dword [0x6408cc], 0
jmp 0x4ffc4c
test edi, edi
jne 0x4fe2f6
movzx eax, byte [ebx + 8]
dec eax
jmp 0x4ffc41
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x47], 0
jne 0x4fe315
mov esi, dword [ebp + 8]
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.004ae670
add esp, 4
jmp 0x4ffc4c
cmp dword [esp + 0x14], 1
je 0x4ffc4c
mov edx, dword [esp + 0x1c]
push 1
push 0
push edx
call fcn.004fd3a0
add esp, 0xc
inc eax
and eax, 7
jne 0x4fe33c
mov eax, 1
mov byte [ebx + 8], al
mov eax, dword [esp + 0x10]
push eax
mov byte [ebx + 9], 1
call fcn.004fd790
add esp, 4
jmp 0x4ffc4c
test edi, edi
jne 0x4fe37b
mov edi, dword [esp + 0x28]
mov eax, edi
mov ecx, esi
call fcn.004fd610
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x10]
and eax, dword [ecx + 0x1c]
neg eax
sbb eax, eax
neg eax
jmp 0x4ffc41
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 0x47], 0
mov edx, dword [ecx + 8]
mov dword [esp + 0x30], edx
jne 0x4fe394
and dword [esp + 0x30], 0xffffbfff
xor al, al
mov ecx, edi
call fcn.004fd450
test al, al
mov eax, dword [esp + 0x30]
je 0x4fe3aa
or dword [ebx + 0x1c], eax
jmp 0x4fe3c6
mov ecx, eax
not ecx
and dword [ebx + 0x1c], ecx
cmp eax, 0x80000
jne 0x4fe3c6
xor eax, eax
mov dword [ebx + 0x1d0], eax
mov dword [ebx + 0x1d4], eax
push 0
push 0
push 0
push 0x9f
push esi
call fcn.004cc1f0
add esp, 0x14
push ebx
call fcn.004fd790
add esp, 4
jmp 0x4ffc4c
test edi, edi
je 0x4ffc4c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
push edx
push eax
push 2
push ecx
call fcn.004eba70
add esp, 0x10
mov dword [esp + 0x38], eax
test eax, eax
je 0x4ffc4c
mov dword [esp + 0x40], 0
mov ebx, eax
call fcn.004ec5f0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edx, edi
mov dword [esp + 0x50], eax
mov dword [edi + 0x2c], 6
call fcn.004f1200
push ebx
mov eax, edi
call fcn.004ee620
mov eax, dword [esp + 0x3c]
movsx ecx, word [eax + 0x2a]
mov edi, dword [eax + 4]
xor ebx, ebx
add esp, 4
mov dword [esp + 0x3c], ebx
test ecx, ecx
jle 0x4ffc4c
mov al, byte [edi + 0xf]
test al, 2
je 0x4fe46d
inc dword [esp + 0x40]
jmp 0x4fe4eb
test al, 1
jne 0x4fe475
xor eax, eax
jmp 0x4fe4a5
cmp dword [esp + 0x50], 0
mov eax, 1
je 0x4fe4a5
cmp ecx, eax
jl 0x4fe4a5
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 4]
lea esp, [esp]
movsx ebx, word [edx]
cmp ebx, dword [esp + 0x3c]
je 0x4fe4a1
inc eax
add edx, 2
cmp eax, ecx
jle 0x4fe490
mov ebx, dword [esp + 0x3c]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4fe4b1
mov ecx, dword [ecx + 8]
jmp 0x4fe4b3
xor ecx, ecx
push eax
xor eax, eax
cmp byte [edi + 0xc], al
push ecx
setne al
push eax
push 0x5e1790
mov eax, edi
call fcn.004ae4b0
mov ecx, dword [edi]
add esp, 4
push eax
push ecx
mov edx, ebx
sub edx, dword [esp + 0x54]
push edx
push str.issisi
push 1
call fcn.004cc330
mov esi, dword [esp + 0x38]
add esp, 0x20
mov eax, dword [esp + 0x38]
movsx ecx, word [eax + 0x2a]
inc ebx
add edi, 0x10
cmp ebx, ecx
mov dword [esp + 0x3c], ebx
jl 0x4fe460
jmp 0x4ffc4c
test edi, edi
je 0x4ffc4c
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
call fcn.004ebbf0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4ffc4c
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 8], 0
je 0x4fe54f
movzx edx, word [ebx + 0x34]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], 6
jmp 0x4fe561
movzx eax, word [ebx + 0x32]
mov edx, dword [ebp + 8]
mov dword [esp + 0x40], eax
mov dword [edx + 0x2c], 3
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x14]
call fcn.004f1200
xor edi, edi
cmp dword [esp + 0x40], edi
jle 0x4ffc4c
jmp 0x4fe584
mov esi, dword [esp + 0x18]
mov edx, dword [ebx + 4]
movzx eax, word [edx + edi*2]
test ax, ax
jge 0x4fe594
xor ecx, ecx
jmp 0x4fe5a4
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + 4]
movsx ecx, ax
shl ecx, 4
mov ecx, dword [ecx + edx]
push ecx
cwde
push eax
push edi
push str.iisX
push 1
call fcn.004cc330
mov ecx, dword [esp + 0x3c]
add esp, 0x14
cmp dword [ecx + 8], 0
je 0x4fe5ef
movzx edx, word [ebx + 0x32]
mov ecx, dword [ebx + 0x20]
mov esi, dword [esp + 0x18]
xor eax, eax
cmp edi, edx
mov edx, dword [ecx + edi*4]
setl al
push eax
mov eax, dword [ebx + 0x1c]
movzx ecx, byte [eax + edi]
push edx
push ecx
push str.isiX
push 4
call fcn.004cc330
add esp, 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
mov ecx, dword [esp + 0x18]
push 0
push eax
push 1
push 0x51
push ecx
call fcn.004cc1f0
inc edi
add esp, 0x14
cmp edi, dword [esp + 0x40]
jl 0x4fe580
jmp 0x4ffc4c
test edi, edi
je 0x4ffc4c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x24]
call fcn.004eb9a0
mov edi, eax
add esp, 8
test edi, edi
je 0x4ffc4c
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x2c], 5
call fcn.004f1200
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x4ffc4c
mov dword [esp + 0x68], 0x601200
mov dword [esp + 0x6c], 0x601204
mov dword [esp + 0x70], 0x5fd98c
jmp 0x4fe684
mov esi, dword [esp + 0x18]
mov edx, dword [edi + 0x38]
xor ecx, ecx
cmp dword [edi + 0x24], ecx
setne cl
and edx, 3
mov eax, dword [esp + edx*4 + 0x68]
mov edx, dword [edi]
push ecx
xor ecx, ecx
cmp byte [edi + 0x36], cl
push eax
setne cl
push ecx
push edx
push ebx
push str.isisi
push 1
call fcn.004cc330
mov edi, dword [edi + 0x14]
add esp, 0x1c
inc ebx
test edi, edi
jne 0x4fe680
jmp 0x4ffc4c
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
xor edi, edi
mov dword [eax + 0x2c], 3
cmp dword [ecx + 0x14], edi
jle 0x4ffc4c
xor ebx, ebx
lea esp, [esp]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + ebx + 4]
add edx, ebx
test eax, eax
je 0x4fe70e
call fcn.004c8ea0
push eax
mov eax, dword [edx]
push eax
push edi
push 0x601210
push 1
call fcn.004cc330
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
add esp, 0x14
inc edi
add ebx, 0x10
cmp edi, dword [ecx + 0x14]
jl 0x4fe6e0
jmp 0x4ffc4c
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x2c], 2
mov edi, dword [edx + 0x17c]
xor ebx, ebx
test edi, edi
je 0x4ffc4c
jmp 0x4fe744
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 8]
mov ecx, dword [eax]
push ecx
push ebx
push 0x601214
push 1
call fcn.004cc330
mov edi, dword [edi]
add esp, 0x10
inc ebx
test edi, edi
jne 0x4fe740
jmp 0x4ffc4c
test edi, edi
je 0x4ffc4c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x24]
call fcn.004eb9a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4ffc4c
mov edi, dword [eax + 0x10]
test edi, edi
je 0x4ffc4c
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], 0
mov dword [edx + 0x2c], 8
call fcn.004f1200
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x4fe827
lea ecx, [edi + 0x24]
mov dword [esp + 0x40], ecx
jmp 0x4fe7d0
mov al, byte [edi + 0x19]
push str.NONE
call fcn.004fd820
push eax
mov al, byte [edi + 0x1a]
call fcn.004fd820
mov ecx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + edx]
mov edx, dword [esp + 0x4c]
push eax
push ecx
push ebx
push edx
push str.iissssss
push 1
call fcn.004cc330
add dword [esp + 0x68], 8
mov esi, dword [esp + 0x40]
inc ebx
add esp, 0x28
cmp ebx, dword [edi + 0x14]
jl 0x4fe7d0
mov edi, dword [edi + 4]
inc dword [esp + 0x3c]
test edi, edi
jne 0x4fe7b6
jmp 0x4ffc4c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x50], eax
inc eax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov dword [edx + 0x2c], eax
call fcn.004f1200
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + eax + 0xc]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x4ffc4c
mov ebx, dword [esp + 0x1c]
jmp 0x4fe884
mov eax, dword [esp + 0x4c]
test ebx, ebx
je 0x4fe8ac
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 8]
push eax
push ebx
push 0
push ecx
call fcn.004eba70
mov edi, eax
add esp, 0x10
mov dword [esp + 0x30], edi
mov dword [esp + 0x4c], 0
jmp 0x4fe8bb
mov edx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], eax
mov edi, edx
test edi, edi
je 0x4fec23
cmp dword [edi + 0x10], 0
je 0x4fec23
mov ecx, dword [edi]
mov edx, dword [edi + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
push ecx
push 0
push edx
call fcn.004eb470
movsx eax, word [edi + 0x2a]
mov ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [ebp + 8]
add esp, 0xc
cmp eax, dword [ecx + 0x2c]
jle 0x4fe8fa
mov dword [ecx + 0x2c], eax
mov edi, dword [esp + 0x30]
push 0x6d
mov edx, ebx
push edx
push 0
mov eax, edi
call fcn.004f8bc0
mov ebx, dword [edi]
mov eax, dword [esp + 0x54]
add esp, 0xc
call fcn.004cc2d0
mov edi, dword [edi + 0x10]
mov dword [esp + 0x20], 1
test edi, edi
je 0x4fe9df
lea ecx, [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [edi + 8]
push ecx
call fcn.004eb9a0
mov esi, eax
add esp, 8
test esi, esi
je 0x4fe9d0
mov edx, dword [esi]
mov eax, dword [esi + 0x1c]
mov ebx, dword [esp + 0x14]
push edx
push 0
push eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x38], 0
call fcn.004eb470
mov edx, dword [ebp + 8]
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
push edi
push esi
push edx
xor eax, eax
call fcn.004f6820
add esp, 0x10
test eax, eax
jne 0x4ffc4c
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
test ebx, ebx
jne 0x4fe9af
mov eax, dword [esp + 0x14]
push 0x6d
push eax
push ecx
mov ecx, dword [ebp + 8]
mov eax, esi
call fcn.004f8bc0
add esp, 0xc
jmp 0x4fe9d0
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push 0x6d
push edx
call fcn.004cc1f0
mov eax, dword [ebp + 8]
add esp, 0x14
call fcn.004cd030
mov edi, dword [edi + 4]
inc dword [esp + 0x20]
test edi, edi
jne 0x4fe930
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
cmp dword [ecx + 0x28], eax
jge 0x4fe9ee
mov dword [ecx + 0x28], eax
mov ebx, dword [esp + 0x18]
push 0
push 0
push 0
push 0x24
push ebx
call fcn.004cc1f0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
add esp, 0x14
mov dword [esp + 0x20], 1
mov dword [esp + 0x28], eax
test eax, eax
je 0x4febfb
mov eax, dword [esp + 0x48]
lea ecx, [eax + 1]
add eax, 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
push edx
push eax
mov eax, dword [esi + 8]
call fcn.004eb9a0
xor edi, edi
add esp, 8
mov dword [esp + 0x5c], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], edi
cmp eax, edi
je 0x4fea76
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x2c]
push ecx
push esi
push eax
push edx
lea eax, [esp + 0x50]
call fcn.004f6820
add esp, 0x10
mov eax, ebx
call fcn.004cc760
cmp dword [esi + 0x14], edi
mov dword [esp + 0x3c], eax
jle 0x4feae3
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
add eax, 0x24
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4feaa2
mov eax, dword [eax + edi*4]
jmp 0x4feaa8
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
push esi
push 0
push ebx
mov ebx, dword [esp + 0x3c]
call fcn.004e41b0
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
add esp, 0xc
push 0
push edx
push esi
push 0x32
push eax
call fcn.004cc1f0
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x58], 8
mov ebx, dword [esp + 0x2c]
inc edi
add esp, 0x14
inc esi
cmp edi, dword [ecx + 0x14]
jl 0x4fea95
cmp dword [esp + 0x2c], 0
je 0x4feb37
mov edi, dword [esp + 0x28]
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
push edx
push ecx
call fcn.004f8ce0
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x40]
add esp, 4
push eax
mov eax, dword [esp + 0x58]
push 0x66
mov edi, ebx
call fcn.004cc460
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
add esp, 0xc
push 0
push 0x1d
mov esi, ebx
call fcn.004cc700
add esp, 8
jmp 0x4feb71
cmp dword [esp + 0x5c], 0
je 0x4feb71
mov eax, dword [esp + 0x38]
mov ecx, dword [ebx + 0x88]
mov edx, dword [esp + 0x20]
push eax
add ecx, 2
push ecx
push edx
push 0x1e
push ebx
call fcn.004cc1f0
mov eax, dword [esp + 0x50]
add esp, 0x14
push 0
push eax
push 0
push 0xb
push ebx
call fcn.004cc1f0
add esp, 0x14
mov ecx, dword [esp + 0x30]
test byte [ecx + 0x24], 0x20
push 0
jne 0x4feb8b
mov edx, dword [esp + 0x58]
push edx
push 0
push 0x81
jmp 0x4feb94
mov eax, dword [esp + 0x58]
push eax
push 0
push 0x49
push ebx
call fcn.004cc1f0
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x6c]
add esp, 0x14
dec ecx
push ecx
push edx
push 0x60122c
push eax
mov esi, ebx
call fcn.004cc330
mov ecx, dword [esp + 0x58]
push 0
push 4
push ecx
push 0x51
push ebx
call fcn.004cc1f0
mov edx, dword [esp + 0x60]
add esp, 0x24
mov ecx, ebx
call fcn.004cc7b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
call fcn.004ab580
mov eax, dword [edi + 4]
inc dword [esp + 0x20]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4fea34
mov esi, dword [esp + 0x60]
push 0
lea edx, [esi + 1]
push edx
push 0
push 5
push ebx
call fcn.004cc1f0
add esp, 0x14
mov eax, esi
mov edx, ebx
call fcn.004ccb60
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x4c], 0
jne 0x4fe880
jmp 0x4ffc4c
test edi, edi
je 0x4ffc4c
mov ecx, dword [esp + 0x1c]
xor al, al
call fcn.004fd450
mov esi, dword [esp + 0x10]
movzx ebx, al
call fcn.004f6690
jmp 0x4ffc4c
mov eax, dword [esp + 0x34]
movzx ecx, byte [eax]
mov eax, dword [ebp + 0x10]
xor edx, edx
cmp byte [ecx + 0x5e3e00], 0x71
sete dl
cmp dword [eax], 0
mov dword [esp + 0x48], edx
jne 0x4fec7e
mov dword [esp + 0x14], 0xffffffff
mov ecx, dword [ebp + 8]
mov ebx, 0x64
mov dword [ecx + 0x2c], 6
mov dword [esp + 0x24], ebx
test edi, edi
je 0x4fecae
lea edx, [esp + 0x24]
push edx
push edi
call fcn.004af050
add esp, 8
cmp dword [esp + 0x24], 0
jg 0x4fecae
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x24]
push 0
push 1
dec eax
push eax
push 0x46
push esi
call fcn.004cc1f0
mov ecx, dword [esp + 0x24]
xor edi, edi
add esp, 0x14
cmp dword [ecx + 0x14], edi
mov dword [esp + 0x38], edi
jle 0x4ff689
jmp 0x4fece0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
test eax, eax
jl 0x4fecf8
cmp edi, eax
jne 0x4ff677
mov edx, dword [ebp + 8]
mov ecx, edi
call fcn.004f1200
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov ecx, edi
shl ecx, 4
mov ebx, dword [ecx + eax + 0xc]
mov eax, dword [ebx + 0x10]
add ebx, 8
xor edi, edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], ebx
test eax, eax
je 0x4fed59
mov ecx, dword [eax + 8]
test byte [ecx + 0x24], 0x20
jne 0x4fed30
inc edi
mov ecx, dword [ecx + 8]
xor edx, edx
test ecx, ecx
je 0x4fed49
lea esp, [esp]
mov ecx, dword [ecx + 0x14]
inc edi
inc edx
test ecx, ecx
jne 0x4fed40
cmp edx, dword [esp + 0x4c]
jle 0x4fed53
mov dword [esp + 0x4c], edx
mov eax, dword [eax]
test eax, eax
jne 0x4fed26
mov eax, dword [esp + 0x10]
lea ecx, [edi*4 + 4]
push 0
push ecx
call fcn.004ab890
add esp, 8
test eax, eax
je 0x4ff689
mov edi, dword [ebx + 8]
xor ecx, ecx
test edi, edi
je 0x4fedab
mov edx, dword [edi + 8]
test byte [edx + 0x24], 0x20
jne 0x4fed90
mov ebx, dword [edx + 0x1c]
inc ecx
mov dword [eax + ecx*4], ebx
mov edx, dword [edx + 8]
test edx, edx
je 0x4feda5
mov ebx, dword [edx + 0x2c]
inc ecx
mov dword [eax + ecx*4], ebx
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x4fed97
mov edi, dword [edi]
test edi, edi
jne 0x4fed80
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x4c]
mov dword [eax], ecx
mov edi, dword [edx + 0x2c]
add ebx, 8
cmp edi, ebx
jg 0x4fedc0
mov edi, ebx
push 0xfffffffffffffff1
push eax
mov dword [edx + 0x2c], edi
mov eax, 1
mov byte [edx + 0x13], 0
mov dword [edx + 0x1c], 0
push 0x94
lea edx, [eax + 1]
mov edi, esi
call fcn.004cc460
movzx dx, byte [esp + 0x44]
add esp, 0xc
mov ecx, esi
call fcn.004ccb40
push 0
push 0
push 2
push 0x32
push esi
call fcn.004cc1f0
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + edx]
add esp, 0x14
push ecx
push str._in_database__s__n
call fcn.004ad7b0
push 0
push 3
push 0
push 0x6a
push esi
mov edi, eax
call fcn.004cc1f0
mov ecx, dword [esi]
add esp, 0x1c
cmp byte [ecx + 0x49], 0
je 0x4fee4a
mov eax, edi
mov edx, 0xfffffff9
call fcn.004cccf0
jmp 0x4fee83
test eax, eax
jge 0x4fee55
mov eax, dword [esi + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea eax, [eax + edx*4]
je 0x4fee78
push edi
push eax
mov eax, 0xfffffff9
mov ecx, esi
call fcn.004cce90
add esp, 8
jmp 0x4fee83
test edi, edi
je 0x4fee83
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
push 3
push 3
push 2
push 0x65
push esi
call fcn.004cc1f0
add esp, 0x14
call fcn.004fd8e0
mov edx, dword [esp + 0x18]
mov eax, ebx
call fcn.004ccb60
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 8]
mov dword [esp + 0x50], eax
test eax, eax
je 0x4ff66f
mov edx, dword [esp + 0x50]
mov ebx, dword [edx + 8]
cmp dword [ebx + 0x1c], 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x58], 0
mov dword [esp + 0x30], 0xffffffff
jl 0x4ff65d
test byte [ebx + 0x24], 0x20
jne 0x4feeec
mov dword [esp + 0x44], 0
jmp 0x4feef7
mov eax, ebx
call fcn.004ec5f0
mov dword [esp + 0x44], eax
mov edi, dword [ebp + 8]
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0
push 1
push 0
push 0x6d
push ebx
call fcn.004fbc70
mov esi, dword [esp + 0x34]
add esp, 0x1c
push 0
push 7
push 0
push 0x46
push esi
call fcn.004cc1f0
mov edi, dword [ebx + 8]
add esp, 0x14
test edi, edi
je 0x4fef5f
mov dword [esp + 0x4c], 8
lea esp, [esp]
mov edx, dword [esp + 0x4c]
push 0
push edx
push 0
push 0x46
push esi
call fcn.004cc1f0
mov edi, dword [edi + 0x14]
inc dword [esp + 0x60]
add esp, 0x14
test edi, edi
jne 0x4fef40
mov edi, dword [esp + 0x28]
push 0
push 0
push edi
push 0x24
push esi
call fcn.004cc1f0
add esp, 0x14
push 0
push 1
push 7
push 0x53
push esi
call fcn.004cc1f0
add esp, 0x14
cmp dword [esp + 0x48], 0
mov dword [esp + 0x68], eax
jne 0x4fefaf
movsx eax, word [ebx + 0x2a]
push 3
dec eax
push eax
push edi
push 0x5a
push esi
call fcn.004cc1f0
add esp, 0x14
mov edx, 0x80
mov ecx, esi
call fcn.004ccb40
xor eax, eax
xor ecx, ecx
cmp cx, word [ebx + 0x2a]
mov dword [esp + 0x54], eax
jge 0x4ff0d2
xor edi, edi
mov dword [esp + 0x4c], edi
jmp 0x4fefd0
movsx edx, word [ebx + 0x28]
cmp eax, edx
je 0x4ff0ba
mov ecx, dword [ebx + 4]
cmp byte [edi + ecx + 0xc], 0
je 0x4ff0ba
mov edx, dword [esp + 0x28]
push 3
push edx
push esi
call fcn.004e41b0
add esp, 0xc
mov edx, 0x80
mov ecx, esi
call fcn.004ccb40
push 0
push 0
push 3
push 0x33
push esi
call fcn.004cc1f0
mov edx, dword [ebx]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 4]
mov ecx, dword [edi + eax]
mov edi, dword [esp + 0x24]
add esp, 0x14
push ecx
push edx
push str.NULL_value_in__s._s
call fcn.004ad7b0
add esp, 0xc
push 0
push 3
push 0
push 0x6a
push esi
mov edi, eax
call fcn.004cc1f0
mov ecx, dword [esi]
add esp, 0x14
cmp byte [ecx + 0x49], 0
je 0x4ff05f
mov eax, edi
mov edx, 0xfffffff9
call fcn.004cccf0
jmp 0x4ff098
test eax, eax
jge 0x4ff06a
mov eax, dword [esi + 0x88]
dec eax
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea eax, [ecx + eax*4]
je 0x4ff08d
push edi
push eax
mov eax, 0xfffffff9
mov ecx, esi
call fcn.004cce90
add esp, 8
jmp 0x4ff098
test edi, edi
je 0x4ff098
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
call fcn.004fd8e0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
call fcn.004ccb60
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
movsx edx, word [ebx + 0x2a]
inc eax
add edi, 0x10
cmp eax, edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edi
jl 0x4fefd0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4ff232
mov edi, dword [esp + 0x10]
test dword [edi + 0x1c], 0x200
jne 0x4ff232
push 0
push eax
push edi
call fcn.004e1000
add esp, 0xc
cmp byte [edi + 0x49], 0
mov dword [esp + 0x40], eax
jne 0x4ff224
mov eax, esi
call fcn.004cc760
mov dword [esp + 0x54], eax
mov eax, esi
call fcn.004cc760
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [ecx + 0x38], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x4ff165
lea eax, [edi + edi*2]
mov ecx, edx
lea edx, [ecx + eax*8 + 4]
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
push 0
push eax
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.004e5b70
sub dword [esp + 0x5c], 0x18
dec edi
add esp, 0x10
test edi, edi
jg 0x4ff141
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
mov edi, dword [ebp + 8]
push 0x10
push ecx
push eax
push edi
call fcn.004e57e0
mov edx, dword [esp + 0x64]
mov ecx, esi
call fcn.004cc7b0
mov dword [edi + 0x38], 0
mov ecx, dword [ebx]
mov edi, dword [esp + 0x20]
push ecx
push str.CHECK_constraint_failed_in__s
call fcn.004ad7b0
push 0
push 3
push 0
push 0x6a
push esi
mov edi, eax
call fcn.004cc1f0
mov ecx, dword [esi]
add esp, 0x2c
cmp byte [ecx + 0x49], 0
je 0x4ff1c9
mov eax, edi
mov edx, 0xfffffff9
call fcn.004cccf0
jmp 0x4ff202
test eax, eax
jge 0x4ff1d4
mov eax, dword [esi + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea eax, [eax + edx*4]
je 0x4ff1f7
push edi
push eax
mov eax, 0xfffffff9
mov ecx, esi
call fcn.004cce90
add esp, 8
jmp 0x4ff202
test edi, edi
je 0x4ff202
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
call fcn.004fd8e0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
call fcn.004cc7b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4ff232
push eax
push edi
call fcn.004e1850
add esp, 8
cmp dword [esp + 0x48], 0
jne 0x4ff528
mov ebx, dword [ebx + 8]
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x4ff528
mov eax, dword [esp + 0x5c]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], ecx
jmp 0x4ff265
mov ebx, dword [esp + 0x20]
mov eax, esi
call fcn.004cc760
mov dword [esp + 0x54], eax
cmp dword [esp + 0x44], ebx
je 0x4ff515
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x28]
mov edi, dword [ebp + 8]
push ecx
push edx
push 0
push 0
push eax
push ebx
lea eax, [esp + 0x7c]
call fcn.004f3580
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x44]
push 0
push 1
add ecx, edi
push ecx
push 0x53
push esi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x84], ebx
call fcn.004cc1f0
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x80]
movzx ebx, word [ebx + 0x34]
add esp, 0x2c
push edx
push eax
push edi
push 0x1d
push esi
call fcn.004cc1f0
mov ecx, dword [esi]
add esp, 0x14
cmp byte [ecx + 0x49], 0
mov edi, eax
jne 0x4ff2f6
mov eax, dword [esi + 0x58]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ebx
mov ebx, str.row
mov eax, 3
call fcn.004cc2d0
mov esi, dword [esp + 0x18]
push 3
push 3
push 7
push 0x65
push esi
call fcn.004cc1f0
add esp, 0x14
mov ebx, str._missing_from_index
mov eax, 4
call fcn.004cc2d0
push 3
push 3
push 4
push 0x65
push esi
call fcn.004cc1f0
mov ecx, dword [esp + 0x34]
mov ebx, dword [ecx]
add esp, 0x14
mov eax, 4
call fcn.004cc2d0
push 3
push 3
push 4
push 0x65
push esi
mov dword [esp + 0x68], eax
call fcn.004cc1f0
add esp, 0x14
call fcn.004fd8e0
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x88]
test edi, edi
jge 0x4ff375
lea edi, [eax - 1]
mov edx, dword [esi]
cmp byte [edx + 0x49], 0
je 0x4ff384
mov ecx, 0x6403fc
jmp 0x4ff38d
mov edx, dword [esi + 0x58]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x36], 0
je 0x4ff4b8
mov eax, esi
call fcn.004cc760
mov edx, dword [esp + 0x20]
xor ecx, ecx
xor ebx, ebx
mov edi, eax
cmp cx, word [edx + 0x32]
jae 0x4ff3f6
mov ecx, edx
mov eax, dword [ecx + 4]
movsx eax, word [eax + ebx*2]
test eax, eax
jl 0x4ff3d3
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + 4]
shl eax, 4
cmp byte [eax + edx + 0xc], 0
jne 0x4ff3ed
mov eax, dword [esp + 0x30]
push 0
push edi
lea ecx, [ebx + eax]
push ecx
push 0x32
push esi
call fcn.004cc1f0
mov ecx, dword [esp + 0x34]
add esp, 0x14
movzx edx, word [ecx + 0x32]
inc ebx
cmp ebx, edx
jl 0x4ff3b7
mov eax, dword [esp + 0x2c]
push 0
push 0
push eax
push 5
push esi
call fcn.004cc1f0
add esp, 0x14
push 0
push edi
push 0
push 0xb
push esi
mov ebx, eax
call fcn.004cc1f0
mov eax, dword [esi + 0x88]
add esp, 0x14
test ebx, ebx
jge 0x4ff429
lea ebx, [eax - 1]
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x4ff438
mov ecx, 0x6403fc
jmp 0x4ff441
mov ecx, dword [esi + 0x58]
lea edx, [ebx + ebx*4]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx ebx, word [edx + 0x32]
push eax
push edi
push ecx
push 0x26
push esi
call fcn.004cc1f0
mov edx, dword [esi]
add esp, 0x14
cmp byte [edx + 0x49], 0
jne 0x4ff47a
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ebx
mov ebx, str.non_unique_entry_in_index
mov eax, 3
call fcn.004cc2d0
mov edx, dword [esp + 0x54]
push 0
push edx
push 0
push 0xb
push esi
call fcn.004cc1f0
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x40]
add esp, 0x14
test eax, eax
je 0x4ff4b8
mov edx, dword [esi + 0x88]
lea ecx, [edi*4 + 4]
sub eax, ecx
mov dword [eax], edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esi + 0x88]
test eax, eax
jge 0x4ff4c9
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x49], 0
je 0x4ff4d8
mov eax, 0x6403fc
jmp 0x4ff4e1
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
mov dword [eax + 8], ecx
test edx, edx
je 0x4ff50d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x4ff50d
mov ecx, dword [ecx + 0x88]
lea edx, [edx*4 + 4]
sub eax, edx
mov dword [eax], ecx
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x2c]
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x4ff261
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x28]
push 0
push edi
push edx
push 5
push esi
call fcn.004cc1f0
mov ecx, dword [esi + 0x88]
lea eax, [edi - 1]
add esp, 0x14
test eax, eax
jge 0x4ff54f
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x49], 0
je 0x4ff55e
mov eax, 0x6403fc
jmp 0x4ff567
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
cmp dword [esp + 0x48], 0
mov dword [eax + 8], ecx
jne 0x4ff65d
mov ebx, str.wrong__of_entries_in_index
mov eax, 2
call fcn.004cc2d0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4ff65d
mov dword [esp + 0x4c], 8
nop
cmp dword [esp + 0x44], eax
je 0x4ff64a
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
push 0
push 3
lea edx, [ecx + edi - 8]
push edx
push 0x68
push esi
call fcn.004cc1f0
add esp, 0x14
push 3
push 0
push edi
push 0x35
push esi
call fcn.004cc1f0
mov edi, eax
mov eax, dword [esi + 0x88]
add esp, 0x14
test eax, eax
jle 0x4ff5f6
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
mov edx, 0x90
mov word [ecx + eax*4 - 0x12], dx
mov eax, dword [esp + 0x20]
mov ebx, dword [eax]
mov eax, 4
call fcn.004cc2d0
push 3
push 2
push 4
push 0x65
push esi
call fcn.004cc1f0
add esp, 0x14
call fcn.004fd8e0
mov ecx, dword [esi + 0x88]
mov eax, edi
test edi, edi
jge 0x4ff62b
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x49], 0
je 0x4ff63a
mov eax, 0x6403fc
jmp 0x4ff643
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
inc dword [esp + 0x4c]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4ff5a0
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x4feeb7
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc edi
cmp edi, dword [ecx + 0x14]
mov dword [esp + 0x38], edi
jl 0x4fece0
push 7
mov eax, 0x5e521c
mov ecx, esi
call fcn.004cc9c0
add esp, 4
test eax, eax
je 0x4ff6cd
mov edx, 1
sub edx, dword [esp + 0x24]
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], edx
mov dword [eax + 0x38], 0x6012d8
mov byte [eax + 0x65], 0xff
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, str.unknown_error
test edx, edx
je 0x4ff6ca
mov ecx, edx
mov dword [eax + 0x74], ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
mov eax, dword [esi + 0x88]
je 0x4ff6eb
mov esi, 0x6403fc
add eax, 0xfffffffe
mov dword [esi + 0xc], eax
jmp 0x4ffc4c
mov esi, dword [esi + 0x58]
add eax, 0xfffffffe
mov dword [esi + 0xc], eax
jmp 0x4ffc4c
test edi, edi
jne 0x4ff72d
mov edx, dword [ebp + 8]
push edx
call fcn.00500d40
add esp, 4
test eax, eax
jne 0x4ffc4c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movzx edx, byte [ecx + 0x46]
mov eax, dword [edx*8 + 0x5e5238]
mov ecx, esi
call fcn.004fd750
jmp 0x4ffc4c
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x10]
mov ecx, dword [ebx + 0xc]
movzx eax, word [ecx + 0x4e]
test al, 1
je 0x4ff74b
test al, 4
je 0x4ffc4c
mov edi, dword [esp + 0x1c]
mov eax, dword [str.UTF8]
mov esi, 0x5e5238
test eax, eax
je 0x4ff7b1
lea esp, [esp]
mov ecx, edi
call fcn.004ae7e0
test eax, eax
je 0x4ff788
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
jne 0x4ff760
mov esi, dword [ebp + 8]
push edi
push str.unsupported_encoding:__s
call fcn.004ae670
jmp 0x4ffc49
mov al, byte [esi + 4]
test al, al
movzx eax, al
jne 0x4ff797
mov eax, 2
mov edx, dword [esp + 0x10]
mov byte [edx + 0x46], al
mov ecx, dword [ebx + 0xc]
mov byte [ecx + 0x4d], al
cmp dword [esi], 0
jne 0x4ffc4c
mov edi, dword [esp + 0x1c]
mov esi, dword [ebp + 8]
push edi
push str.unsupported_encoding:__s
call fcn.004ae670
jmp 0x4ffc49
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov ecx, ebx
mov eax, esi
call fcn.004cd410
test edi, edi
je 0x4ff819
mov ecx, dword [esp + 0x28]
test byte [ecx + 5], 8
jne 0x4ff819
push 2
mov eax, 0x5e5280
mov ecx, esi
call fcn.004cc9c0
mov edx, dword [esp + 0x60]
mov esi, eax
add esp, 4
mov ecx, edi
mov dword [esi + 4], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edx
call fcn.004af1c0
mov dword [esi + 0x20], eax
jmp 0x4ffc4c
push 3
mov eax, 0x5e5288
mov ecx, esi
call fcn.004cc9c0
mov ecx, dword [esp + 0x60]
add esp, 4
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x20], ecx
and dword [esi + 0x94], 0xffffffbf
jmp 0x4ffc4c
mov edx, dword [ebp + 8]
xor edi, edi
push edi
mov dword [edx + 0x2c], 1
call fcn.00528e10
add esp, 4
test eax, eax
je 0x4ff893
lea esp, [esp]
mov ebx, eax
mov eax, 1
inc edi
call fcn.004cc2d0
mov eax, dword [esp + 0x18]
push 0
push 1
push 1
push 0x51
push eax
call fcn.004cc1f0
add esp, 0x14
push edi
call fcn.00528e10
mov esi, dword [esp + 0x1c]
add esp, 4
test eax, eax
jne 0x4ff860
and dword [esi + 0x94], 0xffffffbf
jmp 0x4ffc4c
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
je 0x4ff8b1
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
jmp 0x4ff8b9
mov dword [esp + 0x5c], 0xa
xor ebx, ebx
test edi, edi
je 0x4ff8fe
mov eax, str.full
mov ecx, edi
call fcn.004ae7e0
test eax, eax
jne 0x4ff8d4
lea ebx, [eax + 1]
jmp 0x4ff8fe
mov eax, str.restart
mov ecx, edi
call fcn.004ae7e0
test eax, eax
jne 0x4ff8e9
lea ebx, [eax + 2]
jmp 0x4ff8fe
mov eax, str.truncate
mov ecx, edi
call fcn.004ae7e0
test eax, eax
jne 0x4ff8fe
mov ebx, 3
mov ecx, dword [esp + 0x5c]
mov eax, dword [ebp + 8]
push 1
push ebx
push ecx
push 6
push esi
mov dword [eax + 0x2c], 3
call fcn.004cc1f0
add esp, 0x14
push 0
push 3
push 1
push 0x51
push esi
call fcn.004cc1f0
add esp, 0x14
jmp 0x4ffc4c
test edi, edi
je 0x4ff94c
mov ecx, edi
call fcn.004af1c0
mov edi, dword [esp + 0x10]
push eax
push edi
call fcn.00526e60
add esp, 8
jmp 0x4ff950
mov edi, dword [esp + 0x10]
cmp dword [edi + 0xe8], 0x526e20
jne 0x4fdc17
mov eax, dword [edi + 0xec]
jmp 0x4ffc41
mov edx, dword [esp + 0x10]
push edx
call fcn.00525470
add esp, 4
jmp 0x4ffc4c
test edi, edi
je 0x4ff996
mov ecx, edi
call fcn.004af1c0
mov dword [esp + 0x50], eax
test al, 2
je 0x4ffc4c
jmp 0x4ff99e
mov dword [esp + 0x50], 0xfffe
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x58], eax
inc eax
cmp dword [esp + 0x24], 0
mov dword [ecx + 0x28], eax
je 0x4ff9bd
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
jmp 0x4ff9d3
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
dec eax
cmp dword [esp + 0x14], eax
mov dword [esp + 0x54], eax
jg 0x4ffb7d
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], edx
jmp 0x4ff9e0
cmp dword [esp + 0x14], 1
je 0x4ffb65
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 8]
call fcn.004f1200
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x40]
mov eax, dword [ecx + edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4ffb65
jmp 0x4ffa20
mov ecx, dword [esp + 0x4c]
mov edi, dword [ecx + 8]
test dword [edi + 0x24], 0x100
je 0x4ffb53
mov dx, word [edi + 0x2c]
mov eax, dword [edi + 8]
add dx, 0x2e
movzx ebx, dx
test eax, eax
je 0x4ffa53
test byte [eax + 0x38], 0x80
je 0x4ffa97
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4ffa46
test bx, bx
je 0x4ffa97
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
push 0x6d
push eax
push ecx
mov ecx, dword [ebp + 8]
mov eax, edi
call fcn.004f8bc0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi + 0x88]
add esp, 0xc
movsx edx, bx
push edx
and eax, 1
lea edx, [eax + ecx + 2]
mov eax, dword [esp + 0x5c]
push edx
push eax
push 0x21
push esi
call fcn.004cc1f0
add esp, 0x14
mov ecx, dword [edi]
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [edx + eax]
push ecx
push str.ANALYZE___w_.__w_
call fcn.004ad7b0
add esp, 0xc
test byte [esp + 0x50], 1
mov edi, eax
je 0x4ffaf0
mov eax, dword [ebp + 8]
call fcn.004e6a30
push 0xfffffffffffffff9
mov ebx, eax
push edi
push 0x6a
xor eax, eax
mov ecx, ebx
xor edx, edx
mov edi, esi
call fcn.004cc460
add esp, 0xc
push 0
push 1
push ebx
push 0x51
push esi
call fcn.004cc1f0
add esp, 0x14
jmp 0x4ffb53
push 0
push 0
push 0
push 0x8e
push esi
call fcn.004cc1f0
mov ecx, dword [esi]
add esp, 0x14
cmp byte [ecx + 0x49], 0
je 0x4ffb1a
mov eax, edi
mov edx, 0xfffffff9
call fcn.004cccf0
jmp 0x4ffb53
test eax, eax
jge 0x4ffb25
mov eax, dword [esi + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea eax, [eax + edx*4]
je 0x4ffb48
push edi
push eax
mov eax, 0xfffffff9
mov ecx, esi
call fcn.004cce90
add esp, 8
jmp 0x4ffb53
test edi, edi
je 0x4ffb53
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4ffa20
mov eax, dword [esp + 0x14]
add dword [esp + 0x40], 0x10
inc eax
cmp eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
jle 0x4ff9e0
push 0
push 0
push 0
push 0x9f
push esi
call fcn.004cc1f0
add esp, 0x14
jmp 0x4ffc4c
test edi, edi
je 0x4ffbbd
lea edx, [esp + 0x68]
push edx
call fcn.004aef60
add esp, 4
test eax, eax
jne 0x4ffbbd
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call fcn.004aaf90
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004aaf90
push edx
push eax
call fcn.004fd6b0
add esp, 0x10
jmp 0x4ffc4c
test edi, edi
je 0x4ffc12
lea edx, [esp + 0x68]
push edx
call fcn.004aef60
add esp, 4
test eax, eax
jne 0x4ffc12
cmp dword [esp + 0x6c], eax
jl 0x4ffc12
mov eax, dword [esp + 0x68]
jg 0x4ffbf7
test eax, eax
jb 0x4ffc12
and eax, 0x7fffffff
jl 0x4ffc12
cmp eax, 8
jle 0x4ffc08
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x90], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x90]
jmp 0x4ffc41
test edi, edi
je 0x4ffc37
mov ecx, edi
call fcn.004af1c0
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.005265e0
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1b8]
cdq
push edx
push eax
call fcn.004fd6b0
add esp, 8
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov ecx, esi
call fcn.004ab580
mov eax, dword [esp + 0x1c]
mov ecx, esi
call fcn.004ab580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret