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

Disassembly:
sub esp, 0x6c
mov eax, dword [esp + 0x70]
push ebp
push esi
mov esi, dword [eax + 8]
mov ebp, dword [eax]
mov dword [esp + 8], ebp
mov dword [esp + 0x24], esi
test esi, esi
jne 0x4ab614
cmp dword [eax + 0x74], esi
jne 0x4ab5f9
test byte [ebp + 0x4c], 8
jne 0x4ab5f9
mov byte [eax + 0x17], 1
push eax
call fcn.004b9430
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0x24], esi
test esi, esi
je 0x4ab8e8
or dword [esi + 0x98], 0x40
lea ecx, [esp + 0x44]
push ebx
mov ebx, dword [esp + 0x84]
push ecx
push ebx
push dword [esp + 0x88]
mov dword [eax + 0x2c], 2
push eax
call fcn.004b52c0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
js 0x4ab8e7
mov ebp, dword [ebp + 0x10]
push edi
mov edi, eax
shl edi, 4
add ebp, edi
mov dword [esp + 0x3c], edi
cmp eax, 1
jne 0x4ab677
push dword [esp + 0x80]
call fcn.004a8230
add esp, 4
test eax, eax
jne 0x4ab8e6
push dword [esp + 0x4c]
push dword [esp + 0x14]
call fcn.004a7c00
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x4ab8e6
cmp dword [esp + 0x90], 0
push dword [esp + 0x8c]
je 0x4ab6b7
push 0x4f1d9c
push dword [esp + 0x18]
call fcn.004a73d0
add esp, 0xc
jmp 0x4ab6c3
push dword [esp + 0x14]
call fcn.004a7c00
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x14], eax
jbe 0x4ab6d2
mov ebx, dword [ebp]
jmp 0x4ab6d4
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x30]
mov dword [esp + 0x28], ebx
push 0x13
push dword [esp + 0x90]
call fcn.00489d80
add esp, 0x14
test eax, eax
jne 0x4ab8c0
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x6c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x84], 0
push eax
mov dword [eax + 0x1ac], 0
call fcn.00445ab0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x4ab772
push 1
push esi
call fcn.004c3400
push 0xffffffffffffffff
push dword [esp + 0x78]
push ebx
push ebx
push esi
call fcn.004c33b0
push dword [esp + 0x88]
push esi
call fcn.00485180
push dword [esp + 0x90]
call fcn.00443690
add esp, 0x28
jmp 0x4ab8c0
cmp ebx, 0xc
je 0x4ab7af
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4ab79d
push eax
push 0x4ef2e0
push dword [esp + 0x88]
call fcn.00493e20
push dword [esp + 0x78]
call fcn.00443690
add esp, 0x10
mov eax, dword [esp + 0x80]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x4ab8c0
push dword [esp + 0x28]
call fcn.00480720
mov ebx, eax
add esp, 4
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x4ab8c0
test byte [ebx + 5], 1
je 0x4ab7e6
push dword [esp + 0x80]
call fcn.004ae130
add esp, 4
test eax, eax
jne 0x4ab8c0
mov al, byte [ebx + 5]
test al, 2
jne 0x4ab803
test al, 4
je 0x4ab7f9
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4ab807
push ebx
push esi
call fcn.00487620
add esp, 8
mov ecx, dword [esp + 0x14]
movzx eax, byte [ebx + 4]
cmp eax, 0x28
ja case.0x4ab814.3
jmp dword [eax*4 + 0x4ad9f0]
mov ebx, dword [esp + 0x18]
push ebx
push esi
call fcn.004c3f70
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x4ab85d
mov eax, dword [esp + 0x80]
push 0
push 0x4e99c4
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.004b8c00
add esp, 0x10
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x4ab8c0
push eax
call fcn.00489ae0
push eax
call fcn.00487d90
push ebx
push 0
push dword [esp + 0x90]
mov edi, eax
call fcn.0048a810
push edi
push 3
push ebx
push 0x5e
push esi
call fcn.004b8a40
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.0048e2c0
add esp, 0x30
jmp 0x4ab8c0
mov edi, dword [ebp + 4]
test ecx, ecx
jne 0x4ab8ee
test edi, edi
je 0x4abd6e
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x20]
cdq
push edx
push eax
push esi
call fcn.004850f0
add esp, 0xc
mov ebp, dword [esp + 0x10]
push dword [esp + 0x28]
push ebp
call fcn.00491cd0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4ab8e6
push eax
push dword [esp + 0x14]
call fcn.00491cd0
add esp, 8
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x6c
ret
push ecx
call fcn.00489ae0
mov ecx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
push eax
push edi
mov dword [ecx + 0x5c], eax
call fcn.0048e3b0
add esp, 0x14
cmp eax, 7
jne 0x4ab8c0
push dword [esp + 0x10]
call fcn.004a7e20
add esp, 4
jmp 0x4ab8c0
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x80], eax
test ecx, ecx
je 0x4ab956
push str.fast
push ecx
call fcn.0044beb0
add esp, 8
test eax, eax
jne 0x4ab944
lea ebp, [eax + 2]
jmp 0x4ab956
mov eax, dword [esp + 0x14]
push 0
push eax
call fcn.004a2a40
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x88]
cmp dword [eax + 4], 0
jne 0x4ab993
test ebp, ebp
js 0x4ab993
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x4ab993
xor edi, edi
mov esi, eax
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.0048e1e0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x4ab976
mov esi, dword [esp + 0x2c]
push ebp
push dword [esp + 0x84]
call fcn.0048e1e0
cdq
push edx
push eax
push esi
call fcn.004850f0
add esp, 0x14
jmp 0x4ab8c0
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x80]
push ebp
push ebx
call fcn.0048fae0
mov eax, dword [esp + 0x30]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x4e9aa0], 0x70
jne 0x4ab9ff
push edi
push ebp
push 0xa8
push esi
call fcn.004b89e0
add esp, 0x10
push 1
push edi
push 0x50
push esi
call fcn.004b89e0
add esp, 0x10
jmp 0x4ab8c0
mov eax, dword [esp + 0x14]
push eax
call fcn.00489ae0
push eax
call fcn.00487d90
push eax
push edi
push ebp
push 0xa9
push esi
call fcn.004b8a40
add esp, 0x1c
push 1
push edi
push 0x50
push esi
call fcn.004b89e0
add esp, 0x10
jmp 0x4ab8c0
push ecx
mov ebx, str.normal
call fcn.004742d0
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x80], ecx
mov eax, dword [eax + 4]
test eax, eax
jne 0x4abab5
cmp ecx, 0xffffffff
jne 0x4aba67
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x53]
jmp 0x4abac6
test eax, eax
jne 0x4abab5
mov eax, dword [esp + 0x10]
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x4abaad
mov edi, 0x20
mov esi, eax
mov eax, dword [esi + 0x10]
push ecx
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.004a9140
mov ecx, dword [esp + 0x88]
lea edi, [edi + 0x10]
inc ebx
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x4aba80
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x53], cl
mov ebx, str.normal
mov eax, dword [ebp + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.004a9140
add esp, 8
cmp eax, 1
jne 0x4abad0
mov ebx, str.exclusive
push ebx
push esi
call fcn.00485180
add esp, 8
jmp 0x4ab8c0
test ecx, ecx
je 0x4abb2b
push ecx
call fcn.004b4820
add esp, 4
mov edi, eax
xor ebx, ebx
cmp ebx, 6
je 0x4abb2b
mov ecx, dword [ebx*4 + 0x4e90b8]
test ecx, ecx
je 0x4abb2b
push edi
push ecx
push dword [esp + 0x1c]
call fcn.0044c080
add esp, 0xc
test eax, eax
je 0x4abb15
inc ebx
jmp 0x4abaf0
cmp ebx, 2
jne 0x4abb4a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4abb4f
or ebx, 0xffffffff
mov ecx, dword [esp + 0x88]
cmp dword [ecx + 4], 0
jne 0x4abb56
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x18], edx
jmp 0x4abb5a
cmp ebx, 0xffffffff
je 0x4abb2e
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
js 0x4abbaf
mov ebp, edi
shl ebp, 4
lea esp, [esp]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x4abb9a
cmp edi, edx
je 0x4abb84
cmp dword [ecx + 4], 0
jne 0x4abb9a
push edi
push esi
call fcn.004c3f70
push ebx
push 1
push edi
push 7
push esi
call fcn.004b8a40
add esp, 0x1c
mov ecx, dword [esp + 0x88]
sub ebp, 0x10
dec edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jns 0x4abb70
push 1
push 1
push 0x50
push esi
call fcn.004b89e0
add esp, 0x10
jmp 0x4ab8c0
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x60], eax
test edx, edx
je 0x4abc10
lea eax, [esp + 0x60]
push eax
push edx
call fcn.004920e0
mov ecx, dword [esp + 0x6c]
add esp, 8
cmp ecx, 0xffffffff
jg 0x4abc0c
jl 0x4abc05
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
jae 0x4abc10
or eax, 0xffffffff
or ecx, eax
jmp 0x4abc10
mov eax, dword [esp + 0x60]
push ecx
push eax
push edi
call fcn.004a90b0
push edx
push eax
push esi
call fcn.004850f0
add esp, 0x18
jmp 0x4ab8c0
mov edi, dword [ebp + 4]
test ecx, ecx
jne 0x4abc46
push edi
call fcn.0048c170
cdq
push edx
push eax
push esi
call fcn.004850f0
add esp, 0x10
jmp 0x4ab8c0
push ecx
call fcn.004740c0
mov ebx, eax
mov eax, dword [esp + 0x14]
push ebx
push edi
mov byte [eax + 0x54], bl
call fcn.0048e250
add esp, 0xc
test eax, eax
jne 0x4ab8c0
cmp ebx, 1
je 0x4abc75
cmp ebx, 2
jne 0x4ab8c0
mov edi, dword [esi + 0x6c]
push 0
push 0x4e9a8c
push 5
push esi
call fcn.004b8c00
mov edx, dword [esp + 0x28]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.004c3f70
add esp, 0x18
jmp 0x4ab8c0
test ecx, ecx
je 0x4abccd
lea eax, [esp + 0x4c]
push eax
push ecx
call fcn.004a2b50
add esp, 8
test eax, eax
je 0x4abccd
mov edi, dword [esp + 0x4c]
test edi, edi
jg 0x4abcd2
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x18]
push ebx
push 0
push dword [esp + 0x88]
call fcn.0048a810
push 1
push edi
push 0x45
push esi
call fcn.004b89e0
push ebx
push 0x3c
push esi
call fcn.004b8980
push 1
push 0x50
push esi
mov edi, eax
call fcn.004b8980
push 0xffffffffffffffff
push 1
push 0x52
push esi
call fcn.004b89e0
add esp, 0x44
push edi
push 1
push 0x30
push esi
call fcn.004b89e0
push edi
push esi
call fcn.004c0950
add esp, 0x18
jmp 0x4ab8c0
test ecx, ecx
jne 0x4abd3d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x4ab8b4
push ecx
call fcn.00489ae0
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.0048e2c0
jmp 0x4ab8bd
test ecx, ecx
jne 0x4abd87
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
jne 0x4abd75
xor eax, eax
jmp 0x4ab8b4
push 0
push dword [ebp + 4]
call fcn.0048e4c0
add esp, 8
jmp 0x4ab8b4
lea eax, [esp + 0x80]
mov dword [esp + 0x80], 1
push eax
push ecx
call fcn.004a2b50
mov esi, dword [esp + 0x88]
add esp, 8
test eax, eax
je 0x4abdba
push esi
push dword [ebp + 4]
call fcn.0048e4c0
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x18]
call fcn.004a2a40
mov ecx, dword [esp + 0x18]
add esp, 8
test al, al
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
je 0x4abdef
or dword [ecx + 0x20], 0x20
push ecx
call fcn.00487400
add esp, 4
jmp 0x4ab8c0
and dword [ecx + 0x20], 0xffffffdf
push ecx
call fcn.00487400
add esp, 4
jmp 0x4ab8c0
test ecx, ecx
je 0x4abeab
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.004920e0
mov ebp, dword [esp + 0x6c]
add esp, 8
test ebp, ebp
jg 0x4abe3f
jl 0x4abe29
mov edx, dword [esp + 0x60]
test edx, edx
jae 0x4abe43
mov edx, dword [0x506280]
mov ebp, dword [0x506284]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ebp
jmp 0x4abe43
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x4abe5a
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], ebp
mov edi, dword [edi + 0x14]
dec edi
js 0x4abeab
mov esi, dword [esp + 0x10]
mov ebx, edi
shl ebx, 4
lea esp, [esp]
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x4abea1
cmp edi, dword [esp + 0x18]
je 0x4abe87
cmp dword [ecx + 4], 0
jne 0x4abea1
push ebp
push edx
push eax
call fcn.0048e350
mov ebp, dword [esp + 0x70]
add esp, 0xc
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x88]
sub ebx, 0x10
dec edi
jns 0x4abe70
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0xffffffff
push eax
push 0x12
push dword [esp + 0x24]
mov dword [esp + 0x70], 0xffffffff
push dword [esp + 0x1c]
call fcn.00445ab0
add esp, 0x10
test eax, eax
jne 0x4abee3
push dword [esp + 0x64]
push dword [esp + 0x64]
jmp 0x4ab8b7
mov ebp, dword [esp + 0x10]
cmp eax, 0xc
je 0x4ab8c4
mov ecx, dword [esp + 0x80]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x4ab8c4
test ecx, ecx
jne 0x4abf13
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x50]
jmp 0x4ab8b4
push ecx
push dword [esp + 0x84]
call fcn.00455b30
add esp, 8
jmp 0x4ab8c0
test ecx, ecx
jne 0x4abf40
push dword [0x50def0]
push esi
call fcn.00485180
add esp, 8
jmp 0x4ab8c0
cmp byte [ecx], 0
je 0x4abf7f
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4abf66
cmp dword [esp + 0x4c], eax
jne 0x4abf7f
push str.not_a_writable_directory
push dword [esp + 0x84]
call fcn.00493e20
add esp, 8
jmp 0x4ab8c0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x50], 1
ja 0x4abf98
push dword [esp + 0x80]
call fcn.004764e0
add esp, 4
push dword [0x50def0]
call fcn.00443690
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x4abfc7
push eax
push 0x4ef2e0
call fcn.00442cc0
add esp, 8
mov dword [0x50def0], eax
jmp 0x4ab8c0
mov dword [0x50def0], 0
jmp 0x4ab8c0
test ecx, ecx
jne 0x4abfee
push dword [0x50def4]
push esi
call fcn.00485180
add esp, 8
jmp 0x4ab8c0
cmp byte [ecx], 0
je 0x4ac01c
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x4abf66
cmp dword [esp + 0x4c], eax
je 0x4abf66
push dword [0x50def4]
call fcn.00443690
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x4ac04b
push eax
push 0x4ef2e0
call fcn.00442cc0
add esp, 8
mov dword [0x50def4], eax
jmp 0x4ab8c0
mov dword [0x50def4], 0
jmp 0x4ab8c0
test ecx, ecx
jne 0x4ac068
movzx eax, byte [ebp + 8]
dec eax
jmp 0x4ab8b4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4f], 0
jne 0x4ac08b
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x84]
call fcn.00493e20
add esp, 8
jmp 0x4ab8c0
cmp dword [esp + 0x18], 1
je 0x4ad9e8
push 1
push 0
push ecx
call fcn.00475150
inc eax
add esp, 0xc
and eax, 7
jne 0x4ac0ae
mov eax, 1
push dword [esp + 0x10]
mov byte [ebp + 8], al
mov byte [ebp + 9], 1
call fcn.00487400
add esp, 4
jmp 0x4ab8c0
test ecx, ecx
jne 0x4ac0f6
push ebx
push esi
call fcn.00487620
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
and ecx, dword [edx + 0x20]
and eax, dword [edx + 0x24]
or ecx, eax
je 0x4abd6e
mov eax, 1
jmp 0x4ab8b4
mov eax, dword [esp + 0x10]
mov ebp, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
cmp byte [eax + 0x4f], 0
jne 0x4ac10c
and ebp, 0xffffbfff
push 0
push ecx
call fcn.004a2a40
add esp, 8
test al, al
je 0x4ac127
mov eax, dword [esp + 0x10]
or dword [eax + 0x20], ebp
or dword [eax + 0x24], edi
jmp 0x4ac151
mov edx, dword [esp + 0x10]
mov ecx, ebp
mov eax, edi
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp ebp, 0x80000
jne 0x4ac151
test edi, edi
jne 0x4ac151
mov dword [edx + 0x1f0], edi
mov dword [edx + 0x1f4], edi
push 0x9e
push esi
call fcn.004b8930
push dword [esp + 0x18]
call fcn.00487400
jmp 0x4ab8bd
test ecx, ecx
je 0x4ab8c0
push dword [esp + 0x1c]
mov ebp, dword [esp + 0x84]
push ecx
push 2
push ebp
call fcn.004a6f30
mov edi, eax
add esp, 0x10
mov dword [esp + 0x48], edi
test edi, edi
je 0x4ab8c0
push dword [edi + 0x48]
push dword [esp + 0x14]
call fcn.004b0720
push edi
mov edx, eax
mov dword [esp + 0x48], 0
call fcn.004ae020
push edx
push ebp
mov dword [esp + 0x54], eax
mov dword [ebp + 0x2c], 7
call fcn.0048fae0
push edi
push ebp
call fcn.004c4050
movsx eax, word [edi + 0x2a]
add esp, 0x1c
mov edx, dword [edi + 4]
xor ebp, ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x34], eax
test eax, eax
jle 0x4ab8c0
jmp 0x4ac1f0
movzx ecx, word [edx + 0x10]
xor edi, edi
test cl, 0x62
je 0x4ac228
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x4ac20c
inc dword [esp + 0x3c]
jmp 0x4ac2e3
mov eax, dword [esp + 0x34]
test cl, 0x20
je 0x4ac21c
mov edi, 2
jmp 0x4ac228
movzx edi, cl
and edi, 0x40
or edi, 0x20
shr edi, 5
test cl, 1
jne 0x4ac231
xor ecx, ecx
jmp 0x4ac26a
cmp dword [esp + 0x40], 0
mov ecx, 1
je 0x4ac26a
cmp eax, ecx
jl 0x4ac26a
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x34]
mov edx, dword [eax + 4]
lea esp, [esp]
movsx eax, word [edx]
cmp eax, ebp
je 0x4ac25f
inc ecx
add edx, 2
cmp ecx, ebx
jle 0x4ac250
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 4]
test eax, eax
je 0x4ac27f
cmp edi, 2
jge 0x4ac27f
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
jmp 0x4ac287
mov dword [esp + 0x38], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x34], str.issisii
jne 0x4ac29f
mov dword [esp + 0x34], str.issisi
push edi
xor eax, eax
cmp byte [edx + 0xc], al
push ecx
push dword [esp + 0x40]
setne al
push eax
push 0x4ede96
push edx
call fcn.0048fd50
add esp, 8
push eax
mov eax, dword [esp + 0x94]
push dword [eax]
mov eax, ebp
sub eax, dword [esp + 0x54]
push eax
push dword [esp + 0x50]
push 1
push esi
call fcn.004c2700
mov edx, dword [esp + 0xa8]
add esp, 0x28
mov eax, dword [esp + 0x48]
inc ebp
add edx, 0x14
mov dword [esp + 0x80], edx
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x34], eax
cmp ebp, eax
jl 0x4ac1f0
jmp 0x4ab8c0
test ecx, ecx
je 0x4ab8c0
mov edi, dword [esp + 0x1c]
push edi
push ecx
push dword [esp + 0x18]
call fcn.00499550
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4ac365
push edi
push dword [esp + 0x18]
mov edi, dword [esp + 0x88]
push 2
push edi
call fcn.004a6f30
add esp, 0x10
test eax, eax
je 0x4ab8c0
test byte [eax + 0x24], 0x80
je 0x4ab8c0
push eax
call fcn.004ae020
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4ab8c0
jmp 0x4ac36c
mov edi, dword [esp + 0x80]
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.004b0720
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edx, eax
je 0x4ac392
movzx eax, word [ebp + 0x34]
mov dword [edi + 0x2c], 6
jmp 0x4ac39d
movzx eax, word [ebp + 0x32]
mov dword [edi + 0x2c], 3
push edx
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [esp + 0x54], eax
call fcn.0048fae0
xor edi, edi
add esp, 8
cmp dword [esp + 0x3c], edi
jle 0x4ab8c0
mov edi, edi
mov eax, dword [ebp + 4]
movzx edx, word [eax + edi*2]
test dx, dx
jns 0x4ac3d0
xor eax, eax
jmp 0x4ac3e0
movsx eax, dx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
push eax
movsx eax, dx
push eax
push edi
push str.iisX
push 1
push esi
call fcn.004c2700
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x4ac428
movzx eax, word [ebp + 0x32]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebp + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.004c2700
add esp, 0x18
mov eax, dword [esp + 0x80]
push dword [eax + 0x2c]
push 1
push 0x50
push esi
call fcn.004b89e0
inc edi
add esp, 0x10
cmp edi, dword [esp + 0x3c]
jl 0x4ac3c0
jmp 0x4ab8c0
test ecx, ecx
je 0x4ab8c0
push dword [esp + 0x1c]
push ecx
push dword [esp + 0x18]
call fcn.004995f0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4ab8c0
push dword [edi + 0x48]
push dword [esp + 0x14]
call fcn.004b0720
mov ecx, dword [esp + 0x88]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.0048fae0
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x4ab8c0
mov dword [esp + 0x60], 0x4f1e1c
mov dword [esp + 0x64], 0x4f1e20
mov dword [esp + 0x68], 0x4edf44
jmp 0x4ac4c0
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 + 0x64]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.004c2700
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x4ac4c0
jmp 0x4ab8c0
mov eax, dword [esp + 0x80]
xor edi, edi
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], edi
jle 0x4ab8c4
xor ebx, ebx
jmp 0x4ac520
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x4ac546
push eax
call fcn.0048c1c0
push eax
push dword [ecx + ebx]
push edi
push 0x4f1e2c
push 1
push esi
call fcn.004c2700
add esp, 0x1c
inc edi
add ebx, 0x10
cmp edi, dword [ebp + 0x14]
jl 0x4ac520
jmp 0x4ab8c4
mov eax, dword [esp + 0x80]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x19c]
test edi, edi
je 0x4ab8c0
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x4f1e30
push 1
push esi
call fcn.004c2700
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x4ac576
jmp 0x4ab8c0
mov eax, dword [esp + 0x10]
mov ebp, 0x50df38
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x80]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov edi, dword [ebp]
test edi, edi
je 0x4ac5d4
nop
push ebx
push 1
push edi
push esi
call fcn.00480690
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x4ac5c0
add ebp, 4
cmp ebp, 0x50df94
jl 0x4ac5b8
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x4ab8c0
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00480690
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4ac5f1
jmp 0x4ab8c0
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x170]
test edi, edi
je 0x4ab8c0
jmp 0x4ac630
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x4f1d90
push 1
push esi
call fcn.004c2700
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4ac630
jmp 0x4ab8c0
mov edi, 0x4e8908
push dword [edi]
push 0x4f1d90
push 1
push esi
call fcn.004c2700
add edi, 0x10
add esp, 0x10
cmp edi, 0x4e8d18
jl 0x4ac656
jmp 0x4ab8c0
test ecx, ecx
je 0x4ab8c0
push dword [esp + 0x1c]
push ecx
push dword [esp + 0x18]
call fcn.004995f0
add esp, 0xc
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4ab8c0
mov edi, dword [eax + 0x10]
test edi, edi
je 0x4ab8c0
push dword [eax + 0x48]
push dword [esp + 0x14]
call fcn.004b0720
mov ecx, dword [esp + 0x88]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x4c], ebp
mov dword [ecx + 0x2c], 8
call fcn.0048fae0
add esp, 0x10
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x4ac739
lea ebp, [edi + 0x24]
lea esp, [esp]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.0044f820
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.0044f820
add esp, 4
push eax
mov eax, dword [ebp]
push dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 4]
push dword [eax + ecx*4]
push dword [edi + 8]
push ebx
push dword [esp + 0x58]
push str.iissssss
push 1
push esi
call fcn.004c2700
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x4ac6e0
mov ebp, dword [esp + 0x3c]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x3c], ebp
test edi, edi
jne 0x4ac6d2
jmp 0x4ab8c0
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
lea ebp, [eax + 6]
mov dword [esp + 0x24], ecx
lea ecx, [eax + 5]
mov dword [edx + 0x2c], ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], ebp
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4ab8c0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4ac7a0
push dword [esp + 0x1c]
push ecx
push 0
push edx
call fcn.004a6f30
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x4ac7a5
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x4acadf
cmp dword [edi + 0x10], 0
je 0x4acadf
push dword [edi + 0x48]
push dword [esp + 0x14]
call fcn.004b0720
mov ebx, eax
push ebx
push dword [esp + 0x8c]
mov dword [esp + 0x4c], ebx
call fcn.0048fae0
push dword [edi]
push 0
push dword [edi + 0x1c]
push ebx
push dword [esp + 0xa0]
call fcn.004b4a90
mov ecx, dword [esp + 0xa4]
add esp, 0x24
movsx eax, word [edi + 0x2a]
add eax, ebp
cmp eax, dword [ecx + 0x2c]
jle 0x4ac80a
mov dword [ecx + 0x2c], eax
push 0x60
push edi
push ebx
push 0
push ecx
call fcn.004a7ef0
push dword [edi]
push dword [esp + 0x3c]
push esi
call fcn.004c0f50
mov ebx, dword [edi + 0x10]
add esp, 0x20
mov ebp, 1
test ebx, ebx
je 0x4ac8e5
push dword [esp + 0x1c]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.004995f0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4ac8d5
push dword [edi]
mov dword [esp + 0x24], 0
push 0
push dword [edi + 0x1c]
push dword [esp + 0x48]
push dword [esp + 0x90]
call fcn.004b4a90
push 0
lea eax, [esp + 0x38]
push eax
push ebx
push edi
push dword [esp + 0xa4]
call fcn.0049ab40
add esp, 0x28
test eax, eax
jne 0x4ab8c0
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4ac8b2
push 0x60
push edi
push dword [esp + 0x44]
push ebp
push dword [esp + 0x90]
call fcn.004a7ef0
add esp, 0x14
jmp 0x4ac8d5
push dword [esp + 0x3c]
push dword [eax + 0x2c]
push ebp
push 0x60
push esi
call fcn.004b8a40
push dword [esp + 0x34]
push dword [esp + 0x98]
call fcn.004c3470
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x4ac835
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x28], ebp
jge 0x4ac8f4
mov dword [eax + 0x28], ebp
push 0
push 0x25
push esi
call fcn.004b8980
mov ebp, dword [edi + 0x10]
add esp, 0xc
mov dword [esp + 0x2c], 1
mov ebx, eax
mov dword [esp + 0x44], ebx
test ebp, ebp
je 0x4acabf
lea ebx, [ebx]
push dword [esp + 0x1c]
push dword [ebp + 8]
push dword [esp + 0x18]
call fcn.004995f0
xor ecx, ecx
mov dword [esp + 0x54], eax
add esp, 0xc
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], ecx
test eax, eax
je 0x4ac968
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x24]
push ecx
push ebp
push eax
push dword [esp + 0x90]
call fcn.0049ab40
mov ecx, dword [esp + 0x44]
add esp, 0x14
mov eax, dword [esp + 0x80]
xor edi, edi
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x3c], ebx
cmp dword [ebp + 0x14], edi
jle 0x4ac9d3
mov ebx, dword [esp + 0x18]
lea eax, [ebp + 0x24]
mov dword [esp + 0x40], eax
jmp 0x4ac990
test ecx, ecx
je 0x4ac999
mov eax, dword [ecx + edi*4]
jmp 0x4ac99b
mov eax, dword [eax]
push ebx
push eax
push 0
push dword [esp + 0x40]
push esi
call fcn.00494ce0
push dword [esp + 0x50]
push ebx
push 0x32
push esi
call fcn.004b89e0
mov eax, dword [esp + 0x64]
inc edi
mov ecx, dword [esp + 0x54]
add eax, 8
add esp, 0x24
mov dword [esp + 0x40], eax
inc ebx
cmp edi, dword [ebp + 0x14]
jl 0x4ac990
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4aca16
push dword [ebp + 0x14]
push eax
push dword [esp + 0x18]
call fcn.004a3eb0
mov edi, dword [esp + 0x58]
add esp, 8
push eax
push edi
push dword [ebp + 0x14]
push dword [esp + 0x28]
push 0x5b
push esi
call fcn.004b8aa0
push 0
push edi
mov edi, dword [esp + 0x50]
push ebx
push edi
push 0x1e
push esi
call fcn.004b8b70
add esp, 0x34
jmp 0x4aca3f
cmp dword [esp + 0x48], 0
mov edi, dword [esp + 0x2c]
je 0x4aca3f
push dword [esp + 0x18]
mov eax, dword [esi + 0x6c]
add eax, 2
push eax
push edi
push 0x1f
push esi
call fcn.004b8a40
push ebx
push esi
call fcn.004c02d0
add esp, 0x1c
mov eax, dword [esp + 0x34]
test byte [eax + 0x24], 0x80
mov eax, dword [esp + 0x24]
jne 0x4aca55
inc eax
push eax
push 0
push 0x7f
jmp 0x4aca5b
inc eax
push eax
push 0
push 0x48
push esi
call fcn.004b89e0
add esp, 0x10
lea eax, [edi - 1]
push eax
push dword [ebp + 8]
mov eax, dword [esp + 0x2c]
push 0x4f1e48
add eax, 2
push eax
push esi
call fcn.004c2700
push 4
push dword [esp + 0x3c]
push 0x50
push esi
call fcn.004b89e0
push ebx
push esi
call fcn.004c30c0
mov eax, dword [esp + 0x5c]
add esp, 0x2c
test eax, eax
je 0x4acaab
push eax
push dword [esp + 0x14]
call fcn.00491cd0
add esp, 8
mov ebp, dword [ebp + 4]
inc edi
mov dword [esp + 0x2c], edi
test ebp, ebp
jne 0x4ac920
mov ebx, dword [esp + 0x44]
lea eax, [ebx + 1]
push eax
push 0
push 5
push esi
call fcn.004b89e0
push ebx
push esi
call fcn.004c0950
mov ebp, dword [esp + 0x30]
add esp, 0x18
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x80]
test eax, eax
jne 0x4ac782
jmp 0x4ab8c0
test ecx, ecx
je 0x4ab8c0
push 0
push ecx
call fcn.004a2a40
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.004ae720
add esp, 0x10
jmp 0x4ab8c0
mov eax, dword [esp + 0x28]
xor ecx, ecx
movzx eax, byte [eax]
cmp byte [eax + 0x4e9aa0], 0x71
mov eax, dword [esp + 0x88]
sete cl
mov dword [esp + 0x38], ecx
cmp dword [eax], 0
jne 0x4acb44
or edi, 0xffffffff
mov dword [esp + 0x18], edi
jmp 0x4acb48
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x80]
mov ebp, 0x64
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [ebx + 0x2c], 6
test eax, eax
je 0x4acb8e
lea ecx, [esp + 0x3c]
push ecx
push eax
call fcn.004a2b50
mov ebp, dword [esp + 0x44]
add esp, 8
mov dword [esp + 0x40], ebp
test ebp, ebp
jg 0x4acb8e
mov ebp, 0x64
mov dword [esp + 0x40], ebp
push 1
lea eax, [ebp - 1]
push eax
push 0x45
push esi
call fcn.004b89e0
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x34], ecx
cmp dword [eax + 0x14], ecx
jle 0x4ad434
xor ebp, ebp
test edi, edi
js 0x4acbc0
cmp ecx, edi
jne 0x4ad422
push ecx
push ebx
call fcn.0048fae0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x34]
xor edx, edx
shl ecx, 4
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 0x10]
mov ebx, dword [ecx + eax + 0xc]
add ebx, 8
mov dword [esp + 0x44], ebx
mov edi, dword [ebx + 8]
test edi, edi
je 0x4acc18
mov eax, dword [edi + 8]
test byte [eax + 0x24], 0x80
jne 0x4acbfa
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x4acc0c
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x4acc03
cmp ecx, ebp
jle 0x4acc12
mov ebp, ecx
mov edi, dword [edi]
test edi, edi
jne 0x4acbf0
lea eax, [edx*4 + 4]
push 0
push eax
push dword [esp + 0x18]
call fcn.00491d60
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4ad430
mov ebx, dword [ebx + 8]
xor edx, edx
test ebx, ebx
je 0x4acc6c
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x80
jne 0x4acc51
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4acc66
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4acc58
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4acc41
mov eax, dword [esp + 0x80]
lea ecx, [ebp + 8]
mov dword [edi], edx
mov eax, dword [eax + 0x2c]
cmp eax, ecx
jg 0x4acc81
mov eax, ecx
mov ebp, dword [esp + 0x80]
push 0xfffffffffffffff1
push edi
push 1
push edx
push 2
push 0x92
push esi
mov dword [ebp + 0x2c], eax
mov byte [ebp + 0x13], 0
mov dword [ebp + 0x1c], 0
call fcn.004b8aa0
mov eax, dword [esp + 0x50]
movzx eax, al
push eax
push esi
call fcn.004b8fb0
push 2
push 0x32
push esi
call fcn.004b8980
mov edx, dword [esp + 0x40]
add esp, 0x30
mov edi, eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [edx + 0x10]
push 0xfffffffffffffff9
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.004a73d0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x73
push esi
call fcn.004b8aa0
push 3
push 3
push 2
push 0x6e
push esi
call fcn.004b8a40
push esi
call fcn.00476360
push edi
push esi
call fcn.004c0950
mov eax, dword [esp + 0x80]
add esp, 0x3c
mov ebx, dword [eax + 8]
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x4ad414
jmp 0x4acd30
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 0xffffffff
cmp dword [ebx + 0x1c], 1
jl 0x4ad3f9
test byte [ebx + 0x24], 0x80
jne 0x4acd61
mov dword [esp + 0x20], 0
jmp 0x4acd6e
push ebx
call fcn.004ae020
add esp, 4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 1
push 0
push 0x60
push ebx
push ebp
call fcn.004a8020
push 7
push 0
push 0x45
push esi
call fcn.004b89e0
mov edi, dword [ebx + 8]
add esp, 0x30
test edi, edi
je 0x4acdbc
mov ebx, 8
push ebx
push 0
push 0x45
push esi
call fcn.004b89e0
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x4acda2
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
push 0
push edi
push 0x25
push esi
call fcn.004b89e0
push 1
push 7
push 0x52
push esi
call fcn.004b89e0
add esp, 0x20
mov dword [esp + 0x60], eax
cmp dword [esp + 0x38], 0
jne 0x4ace04
movsx ecx, word [ebx + 0x2c]
push 3
dec ecx
push ecx
push edi
push 0x59
push esi
call fcn.004b8a40
push pe_nt_image_headers32
push esi
call fcn.004b8fb0
add esp, 0x1c
mov ecx, dword [esp + 0x1c]
xor eax, eax
xor ebx, ebx
cmp ax, word [ecx + 0x2a]
jge 0x4acec9
xor ebp, ebp
jmp 0x4ace20
movsx eax, word [ecx + 0x28]
cmp ebx, eax
je 0x4aceb2
mov eax, dword [ecx + 4]
cmp byte [eax + ebp + 0xc], 0
je 0x4aceb2
push 3
push ebx
push edi
push ecx
push esi
call fcn.00494ce0
push 0xffffffffffffffff
push esi
call fcn.004c02a0
add esp, 0x1c
cmp byte [eax], 0x59
jne 0x4ace63
push pe_nt_image_headers32
push esi
call fcn.004b8fb0
add esp, 8
push 3
push 0x33
push esi
call fcn.004b8980
mov edi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
push dword [ecx + ebp]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x28]
call fcn.004a73d0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x73
push esi
call fcn.004b8aa0
push esi
call fcn.00476360
push edi
push esi
call fcn.004c0950
mov ecx, dword [esp + 0x60]
add esp, 0x44
mov edi, dword [esp + 0x3c]
movsx eax, word [ecx + 0x2a]
inc ebx
add ebp, 0x14
cmp ebx, eax
jl 0x4ace20
mov ebp, dword [esp + 0x80]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4acfc8
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x4acfc8
push eax
push edx
push ebx
call fcn.00498490
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
cmp byte [eax + 0x51], 0
jne 0x4acfb6
mov ebp, dword [ebp + 0x38]
mov ecx, dword [esp + 0x80]
dec ebp
lea eax, [ebp - 1]
mov dword [ecx + 0x38], eax
lea eax, [edi + 1]
mov dword [ecx + 0x34], eax
mov edi, dword [ebx]
dec edi
test edi, edi
jle 0x4acf56
lea eax, [edi + edi*4]
mov esi, ecx
lea ebx, [ebx + eax*4]
add ebx, 4
push 0
push ebp
push dword [ebx]
push esi
call fcn.00497630
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x4acf31
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x80]
push 0x10
lea edi, [ebp - 1]
push edi
push dword [ebx + 4]
push ecx
call fcn.00497a60
push ebp
push esi
call fcn.004c30c0
mov ebp, dword [esp + 0x98]
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x34], 0
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x30]
call fcn.004a73d0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x73
push esi
call fcn.004b8aa0
add esp, 0x40
push esi
call fcn.00476360
push edi
push esi
call fcn.004c30c0
mov eax, dword [esp + 0x1c]
add esp, 0xc
test ebx, ebx
je 0x4acfc4
push ebx
push eax
call fcn.0045f150
add esp, 8
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
test ebx, ebx
jne 0x4ad25e
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x4ad25a
mov ecx, dword [esp + 0x48]
mov eax, 8
sub eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 0x38]
dec edi
mov dword [ebp + 0x38], edi
cmp eax, ebx
je 0x4ad24b
push dword [esp + 0x30]
lea eax, [esp + 0x60]
push dword [esp + 0x48]
push eax
push 0
push 0
push dword [esp + 0x50]
push ebx
push ebp
call fcn.004a2260
mov ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x70]
push 1
push ecx
push 0x52
push esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x74], ebx
call fcn.004b89e0
movzx ecx, word [ebx + 0x34]
push ecx
push dword [esp + 0x64]
push edi
push dword [esp + 0x60]
push 0x1e
push esi
call fcn.004b8b70
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x73
push esi
call fcn.004b8aa0
push 3
push 3
push 7
push 0x6e
push esi
call fcn.004b8a40
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x73
push esi
call fcn.004b8aa0
add esp, 0x4c
push 3
push 3
push 4
push 0x6e
push esi
call fcn.004b8a40
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x73
push esi
call fcn.004b8aa0
push 3
push 3
push 4
push 0x6e
push esi
mov dword [esp + 0x98], eax
call fcn.004b8a40
add esp, 0x44
push esi
call fcn.00476360
mov edx, dword [esi + 0x6c]
add esp, 4
mov dword [esp + 0x58], eax
test edi, edi
jns 0x4ad0e1
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4ad0f0
mov eax, 0x50e22c
jmp 0x4ad0f9
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebx + 0x36], 0
je 0x4ad1f0
dec dword [ebp + 0x38]
xor eax, eax
mov ebp, dword [ebp + 0x38]
xor edi, edi
cmp ax, word [ebx + 0x32]
jae 0x4ad14e
mov eax, dword [ebx + 4]
movsx eax, word [eax + edi*2]
test eax, eax
js 0x4ad132
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*4 + 0xc], 0
jne 0x4ad145
mov eax, dword [esp + 0x30]
push ebp
add eax, edi
push eax
push 0x32
push esi
call fcn.004b89e0
add esp, 0x10
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x4ad116
push dword [esp + 0x24]
push 5
push esi
call fcn.004b8980
push ebp
push esi
mov edi, eax
call fcn.004c02d0
mov edx, dword [esi + 0x6c]
add esp, 0x14
test edi, edi
jns 0x4ad170
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4ad17f
mov eax, 0x50e22c
jmp 0x4ad188
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
movzx eax, word [ebx + 0x32]
push eax
push dword [esp + 0x34]
push ebp
push dword [esp + 0x30]
push 0x27
push esi
call fcn.004b8b70
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x73
push esi
call fcn.004b8aa0
push dword [esp + 0x88]
push esi
call fcn.004c02d0
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4ad1e0
push ebp
push esi
push ecx
call fcn.00483c50
add esp, 0xc
jmp 0x4ad1e9
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x58]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x4ad1fe
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4ad20d
mov eax, 0x50e22c
jmp 0x4ad216
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x4ad247
mov edi, dword [ebp + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4ad23e
push edx
push edi
push ecx
call fcn.00483c50
add esp, 0xc
jmp 0x4ad247
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x24]
test ebx, ebx
jne 0x4acff6
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x60]
push edi
push dword [esp + 0x40]
push 5
push esi
call fcn.004b89e0
mov edx, dword [esi + 0x6c]
lea ecx, [edi - 1]
add esp, 0x10
test ecx, ecx
jns 0x4ad27f
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4ad28e
mov eax, 0x50e22c
jmp 0x4ad297
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test ebx, ebx
jne 0x4ad3f9
push ebx
push str.wrong__of_entries_in_index
push ebx
push 2
push ebx
push 0x73
push esi
call fcn.004b8aa0
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x4ad3f9
mov eax, dword [esp + 0x20]
mov ebp, 8
nop
cmp eax, ebx
je 0x4ad3e6
mov eax, dword [esp + 0x48]
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x5c
push esi
call fcn.004b89e0
mov edi, dword [esi + 0x6c]
add esp, 0x10
cmp dword [esi + 0x70], edi
jg 0x4ad30b
push 3
push 0
push ebp
push 0x35
push esi
call fcn.004752f0
add esp, 0x14
mov edi, eax
jmp 0x4ad33a
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4ad351
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x73
push esi
call fcn.004b8aa0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x4ad381
push 3
push 2
push 4
push 0x6e
push esi
call fcn.004752f0
add esp, 0x14
jmp 0x4ad3b4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6e
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00476360
mov edx, dword [esi + 0x6c]
add esp, 4
test edi, edi
jns 0x4ad3c7
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4ad3d6
mov eax, 0x50e22c
jmp 0x4ad3df
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx + 0x14]
inc ebp
test ebx, ebx
jne 0x4ad2d0
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [ebx]
mov dword [esp + 0x4c], ebx
test ebx, ebx
jne 0x4acd30
mov ebx, dword [esp + 0x80]
jmp 0x4ad416
mov ebx, ebp
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, dword [eax + 0x14]
jl 0x4acbb2
mov ebp, dword [esp + 0x40]
push 0
push 0x4e814c
push 7
push esi
call fcn.004b8c00
add esp, 0x10
test eax, eax
je 0x4ad477
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, 1
sub ecx, ebp
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], ecx
mov ecx, str.unknown_error
mov dword [eax + 0x38], 0x4f1ef4
mov byte [eax + 0x65], 0xff
test edx, edx
je 0x4ad474
mov ecx, edx
mov dword [eax + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x50e22c
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
jne 0x4ad48a
mov ecx, dword [esi + 0x68]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x4ab8c0
test ecx, ecx
jne 0x4ad4cc
mov ebx, dword [esp + 0x80]
push ebx
call fcn.004ae130
add esp, 4
test eax, eax
jne 0x4ab8c0
mov eax, dword [ebx]
movzx eax, byte [eax + 0x4e]
push dword [eax*8 + 0x4e81b8]
push esi
call fcn.00485180
add esp, 8
jmp 0x4ab8c0
mov eax, dword [esp + 0x10]
mov esi, 1
mov edx, dword [eax + 0x14]
test edx, edx
jle 0x4ad511
mov edi, dword [eax + 0x10]
xor ecx, ecx
cmp dword [ecx + edi + 4], 0
je 0x4ad4ff
mov eax, dword [ecx + edi + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x4ad4ff
and al, 4
movzx eax, al
neg eax
sbb eax, eax
and esi, eax
add ecx, 0x10
dec edx
jne 0x4ad4e1
test esi, esi
je 0x4ab8c0
mov ecx, dword [esp + 0x14]
mov eax, dword [str.UTF8]
mov esi, 0x4e81b8
test eax, eax
je 0x4ad566
nop
push eax
push ecx
call fcn.004b47c0
add esp, 8
test eax, eax
je 0x4ad53e
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4ad520
jmp 0x4ad566
mov al, byte [esi + 4]
movzx ecx, al
test al, al
jne 0x4ad54d
mov ecx, 2
mov eax, dword [esp + 0x10]
mov byte [eax + 0x4e], cl
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [esi], 0
jne 0x4ab8c0
push dword [esp + 0x14]
push str.unsupported_encoding:__s
push dword [esp + 0x88]
call fcn.00493e20
jmp 0x4ab8bd
mov ebp, dword [esp + 0x18]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.004c3f70
add esp, 8
cmp dword [esp + 0x14], 0
je 0x4ad5cc
test byte [ebx + 5], 8
jne 0x4ad5cc
push 0
push 0x4e85ec
push 2
push esi
call fcn.004b8c00
push dword [esp + 0x24]
mov esi, eax
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.00489ae0
add esp, 0x14
mov dword [esi + 0x20], eax
jmp 0x4ab8c0
push 0
push 0x4e85f4
push 3
push esi
call fcn.004b8c00
add esp, 0x10
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
and dword [esi + 0x98], 0xffffffbf
jmp 0x4ab8c0
mov eax, dword [esp + 0x80]
xor edi, edi
push edi
mov dword [eax + 0x2c], 1
call fcn.0043d920
add esp, 4
test eax, eax
je 0x4ad633
push eax
push 1
push esi
inc edi
call fcn.004c0f50
push 1
push 1
push 0x50
push esi
call fcn.004b89e0
push edi
call fcn.0043d920
add esp, 0x20
test eax, eax
jne 0x4ad610
and dword [esi + 0x98], 0xffffffbf
jmp 0x4ab8c0
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x4ad654
mov ebx, 0xa
xor edi, edi
test ecx, ecx
je 0x4ad6a3
push str.full
push ecx
call fcn.004b47c0
add esp, 8
test eax, eax
jne 0x4ad671
lea edi, [eax + 1]
jmp 0x4ad6a3
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.004b47c0
add esp, 8
test eax, eax
jne 0x4ad68c
lea edi, [eax + 2]
jmp 0x4ad6a3
push str.truncate
push ebp
call fcn.004b47c0
add esp, 8
test eax, eax
jne 0x4ad6a3
mov edi, 3
mov eax, dword [esp + 0x80]
push 1
push edi
push ebx
push 6
push esi
mov dword [eax + 0x2c], 3
call fcn.004b8a40
push 3
push 1
push 0x50
push esi
call fcn.004b89e0
add esp, 0x24
jmp 0x4ab8c0
test ecx, ecx
je 0x4ad6e8
push ecx
call fcn.00489ae0
push eax
push dword [esp + 0x18]
call fcn.0044c970
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf8], 0x4c5940
jne 0x4abd6e
mov eax, dword [eax + 0xfc]
jmp 0x4ab8b4
push dword [esp + 0x10]
call fcn.0043f100
add esp, 4
jmp 0x4ab8c0
test ecx, ecx
je 0x4ad736
push ecx
call fcn.00489ae0
mov ecx, eax
add esp, 4
mov dword [esp + 0x40], ecx
test cl, 2
je 0x4ab8c0
jmp 0x4ad73e
mov dword [esp + 0x40], 0xfffe
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x18]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x4c], eax
inc eax
cmp dword [esp + 0x1c], 0
mov dword [ecx + 0x28], eax
je 0x4ad763
mov eax, ebp
mov dword [esp + 0x38], eax
jmp 0x4ad777
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x38], eax
cmp ebp, eax
jg 0x4ad89a
cmp ebp, 1
je 0x4ad886
push ebp
push ecx
call fcn.0048fae0
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx + 0x10]
mov eax, dword [edi + eax + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4ad87b
mov edi, dword [ebx + 8]
test dword [edi + 0x24], 0x100
je 0x4ad869
mov ax, word [edi + 0x2e]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x4ad7cf
test byte [eax + 0x38], 0x80
je 0x4ad812
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4ad7c2
test bp, bp
je 0x4ad812
push 0x60
push edi
push dword [esp + 0x20]
push dword [esp + 0x58]
push dword [esp + 0x90]
call fcn.004a7ef0
mov ecx, dword [esp + 0x54]
movsx eax, bp
and ecx, 1
push eax
mov eax, dword [esi + 0x6c]
add ecx, 2
add eax, ecx
push eax
push dword [esp + 0x68]
push 0x22
push esi
call fcn.004b8a40
mov ecx, dword [esp + 0x38]
add esp, 0x28
push dword [edi]
mov eax, dword [ecx + 0x10]
mov edi, dword [esp + 0x40]
push dword [edi + eax]
push str.ANALYZE___w_.__w_
push ecx
call fcn.004a73d0
add esp, 0x10
mov edx, eax
test byte [esp + 0x40], 1
je 0x4ad8ad
push dword [esp + 0x80]
call fcn.004a2d30
push 0xfffffffffffffff9
push edx
push 0
mov edi, eax
push edi
push 0
push 0x73
push esi
call fcn.004b8aa0
push 1
push edi
push 0x50
push esi
call fcn.004b89e0
mov ecx, dword [esp + 0x40]
add esp, 0x30
mov edi, dword [esp + 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4ad7a0
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x38]
inc ebp
add edi, 0x10
mov dword [esp + 0x18], ebp
mov dword [esp + 0x3c], edi
cmp ebp, eax
jle 0x4ad777
push 0x9e
push esi
call fcn.004b8930
add esp, 8
jmp 0x4ab8c0
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
push 0x8c
push esi
call fcn.004b8aa0
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
jmp 0x4ad86d
test ecx, ecx
je 0x4ad8f0
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.004920e0
add esp, 8
test eax, eax
jne 0x4ad8f0
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0043f190
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043f190
push edx
push eax
push esi
call fcn.004850f0
add esp, 0x14
jmp 0x4ab8c0
test ecx, ecx
je 0x4ad959
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.004920e0
add esp, 8
test eax, eax
jne 0x4ad959
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043f2a0
mov edi, dword [esp + 0x6c]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x4ad959
mov ecx, dword [esp + 0x60]
jg 0x4ad93f
test ecx, ecx
je 0x4ad959
mov eax, ebx
or eax, edx
je 0x4ad94f
cmp edx, edi
jl 0x4ad959
jg 0x4ad94f
cmp ebx, ecx
jbe 0x4ad959
push edi
push ecx
call fcn.0043f2a0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0043f2a0
push edx
push eax
push esi
call fcn.004850f0
add esp, 0x14
jmp 0x4ab8c0
test ecx, ecx
je 0x4ad9b3
lea eax, [esp + 0x60]
push eax
push ecx
call fcn.004920e0
add esp, 8
test eax, eax
jne 0x4ad9b3
cmp dword [esp + 0x64], eax
jl 0x4ad9b3
mov eax, dword [esp + 0x60]
jg 0x4ad998
test eax, eax
jb 0x4ad9b3
and eax, 0x7fffffff
jl 0x4ad9b3
cmp eax, 8
jle 0x4ad9a9
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x98], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x98]
jmp 0x4ab8b4
test ecx, ecx
je 0x4ad9d9
push ecx
call fcn.00489ae0
push eax
push dword [esp + 0x18]
call fcn.004426e0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1d8]
jmp 0x4ab8b4
mov ebp, eax
jmp 0x4ab8c4