Function at 0x464e40
Capabilities:
Get disk information
Get installed programs

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x603d73
mov eax, dword fs:[0]
push eax
sub esp, 0x2ec
mov eax, dword [0x69def4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2d8], ecx
call fcn.0048beb0
test al, al
je 0x464e92
pop esi
pop ecx
pop edi
push ebx
pop ecx
push edi
push eax
pop edi
push ebp
push edi
push eax
pop eax
push esp
push edx
push ebx
pop eax
pop edi
push ebp
pop ebp
push ecx
pop edx
call fcn.0048c5b0
test al, al
je 0x464eae
push esp
pop esp
push edi
pop ecx
pop ebp
push esp
push esp
pop eax
push esi
push esi
push ebp
pop esp
pop ebx
pop ebx
push edi
pop esp
push esp
pop edi
push edx
call fcn.0048c0e0
test al, al
je 0x464ed5
push edx
push edi
pop eax
pop esp
push edi
pop ebx
pop esi
pop ebp
push esi
pop edi
push esp
push ecx
pop eax
push eax
push ecx
push ebp
push ecx
push ebp
pop esp
push esp
pop edx
pop esp
pop ebp
pop eax
pop esp
pop ebx
pop esi
push edi
push edi
pop ebp
lea eax, [ebp - 0x2c0]
push str.282250412133635908035332126113481244133216650330
push eax
call fcn.0041e2a0
add esp, 8
mov dword [ebp - 4], 0
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0
xor ebx, ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x2d4], ebx
mov dword [ebp - 0x2e0], ebx
mov dword [ebp - 0x2dc], ebx
call fcn.0048be40
test al, al
je 0x464f44
push ecx
pop ebp
pop esp
pop ebp
pop esi
pop ecx
pop eax
push edx
push edx
push ebp
pop ebp
push ebx
push edx
pop edi
pop edx
push eax
pop edx
pop edi
push esi
pop eax
push edx
call fcn.0048c540
test al, al
je 0x464f67
push esp
pop ebp
pop edx
push edx
push edx
pop ecx
push edi
pop esp
pop esi
pop esi
push esi
push ecx
push ecx
push esp
push ebx
pop ecx
push esp
pop esi
push esi
push ebp
pop esp
pop eax
push edx
push edi
push esp
pop esi
call fcn.0048bc80
test al, al
je 0x464f88
pop ebp
push edx
pop edx
pop eax
pop eax
push esp
pop esp
pop edx
push esp
push esp
push ecx
pop ebp
pop edx
push ecx
pop eax
push edx
pop ebx
push esi
pop ecx
pop ecx
push ecx
push edi
xor ebx, ebx
call fcn.0048c460
test al, al
je 0x464fa6
pop ecx
pop edx
pop edi
push ecx
pop eax
push ecx
push esp
pop esi
push ebp
pop edi
push edx
pop ebp
push eax
pop edi
push ebp
pop edi
pop eax
push esp
pop edi
pop esi
push esp
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x2dc]
push eax
push 0x109
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_
push reloc.WS2_32.dll_bind
call esi
test eax, eax
jne 0x464ff6
mov ecx, dword [ebp - 0x2d8]
lea eax, [ebp - 0x2ec]
push eax
push dword [ebp - 0x2dc]
call fcn.004660e0
push dword [ebp - 0x2dc]
mov ebx, eax
mov dword [ebp - 0x2d4], ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0048bf20
test al, al
je 0x46501f
push edi
push ebx
pop ecx
push esi
pop ecx
push edi
push eax
pop edi
push esi
push ebx
pop esi
push ebp
pop edx
push ebp
push ecx
pop eax
push esp
pop esp
pop ebp
push eax
push esi
push eax
pop esi
pop edx
pop edx
push ebp
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
call fcn.0048c1c0
test al, al
je 0x465043
pop ebp
push edx
push ebx
push ebp
pop edi
push edi
push esi
push esi
push edx
push eax
pop eax
pop ebp
push esp
pop ebx
pop edx
pop edi
push esp
push ebx
pop esp
push edi
push edi
mov ebx, dword [ebp - 0x2d4]
call fcn.0048bcf0
test al, al
je 0x46505d
push ebp
pop ecx
push edi
push esp
pop ecx
pop ebp
push ebp
push esp
pop ebp
pop ebp
pop edx
push eax
pop eax
pop ebp
push esi
pop esp
pop ecx
test ebx, ebx
jne 0x4650a5
lea eax, [ebp - 0x2dc]
push eax
push 9
push ebx
push 0x60baa0
push reloc.WS2_32.dll_bind
call esi
test eax, eax
jne 0x4650a5
mov ecx, dword [ebp - 0x2d8]
lea eax, [ebp - 0x2ec]
push eax
push dword [ebp - 0x2dc]
call fcn.004660e0
push dword [ebp - 0x2dc]
mov dword [ebp - 0x2d4], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0048c150
test al, al
je 0x4650ca
pop eax
pop esi
pop edx
pop ebp
pop eax
push ebx
pop ebx
push eax
push ecx
push esp
pop edi
push edi
push edx
pop edx
push eax
push edi
push ebx
push edx
pop edx
push ebp
pop eax
push edx
pop esi
push esi
pop ebp
push ebx
push eax
push esp
cmp dword [ebp - 0x2d4], 0
je 0x466066
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
push 0x20
push str.90145647aa0fdeac48c9eeb6fae1696b
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x46515e
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push 0x20
push str.64194bc45364c64d06dd6a1633bebd12
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x4651c3
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push 0x20
push str.f61cb6b4d80b78a8ef99ce26371babc6
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x465228
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push 0x20
push str.7b114fce349568976c1b34c85efbef70
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x46528d
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push 0x20
push str.d43fcbc0613711e8723da25658dd356c
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x4652f2
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push 0x20
push str.f99f161f65b2edfff12548c4768641da
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x465357
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push 0x20
push str.4b7c323df5564bb95f8897aa9fa117d2
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00409100
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x4653bc
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004093e0
push str.3e3602db9e78ff4610ef037fb4aad845
lea ecx, [ebp - 0x260]
call fcn.0040fec0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x24c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x465404
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.004093e0
push str.9170ab22a7dd7f3629fab43f4f63fd23
lea ecx, [ebp - 0x260]
call fcn.0040fec0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x24c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x46544c
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.004093e0
call fcn.0048c2a0
test al, al
je 0x465470
push esi
push esp
push ecx
pop ebp
push ecx
pop ecx
pop edi
push edx
pop edx
push ecx
pop esi
push ecx
push esp
push ecx
push esp
pop ebx
push esp
push ebp
pop ebx
push esi
pop esi
pop eax
push eax
push ebp
push ebp
push edx
push edx
push str.1798d1747062b624614f6083c69085db
lea ecx, [ebp - 0x260]
call fcn.0040fec0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x24c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x4654b8
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.004093e0
push str.e61d27a0e8e370de9cd5c17b928c9056
lea ecx, [ebp - 0x260]
call fcn.0040fec0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
mov eax, dword [ebp - 0x24c]
mov byte [ebp - 4], 2
cmp eax, 0x10
jb 0x465500
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.004093e0
push str.1e015a4308d350c3485729bf056172ee
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.458260d2290b89f72e5abff4127c2881
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.a4cd91316b57cc1e651cbf90d0c4c160
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.3793c15b9c6207d5c9c1997b8eb0dd04
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.ef2e7626f77faab64babaae1a48d6a57
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.23b3810ada7b5e7270bd8cfc1407597d
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.9d261a94cec8b8cabc842d4d0489979d
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.3b72f09cb9ec16a439a1b4358a9ac645
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.bc94cf3863906e9fb48ecea44e0ba66d
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
call fcn.0048bac0
test al, al
je 0x4656fe
push esi
push eax
push edi
push eax
push ebp
push esp
pop esi
pop esp
pop ebx
pop esp
pop ecx
push ebx
pop edx
pop ebp
push esp
push edx
push ecx
push edi
push eax
push edx
push eax
push eax
pop esp
push ecx
call fcn.0048bcf0
test al, al
je 0x46571b
pop edx
pop esp
pop esp
push eax
pop esi
pop ecx
push ebx
pop esp
push esp
push esp
pop ebx
push esp
push edi
push esp
pop edi
push edx
push edx
pop ecx
push esp
pop ebp
call fcn.0048bf20
test al, al
je 0x46573f
pop esp
push eax
push esp
pop ecx
push esi
pop eax
pop eax
push ecx
pop ebx
pop edx
pop esp
pop ebp
push ecx
push esp
push ebx
push ecx
push eax
pop ebp
push edx
pop esi
pop edi
push edi
push ecx
pop edx
push ecx
pop eax
pop eax
push str.1ed3af10cfa4f41efe846996dd143719
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.c8a7b2b51563dd7a3d0665e20e315b8e
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.57d7a5aab61654c74cc4b3947a29e5fc
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.1bd8003496d1d7f27551a797e5269f3e
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.0d36832ccfb283ccaa9c36726d0e4f89
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.82865f556bdba110c22d2fec7eb5eac2
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.87f60e6b1e60c5afceea9d8e56b4c3c4
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.e7e70b06bad4b66d063744bdb738ae69
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
push str.a811c5d86796f989f743389089d2e3f4
lea ecx, [ebp - 0x248]
call fcn.0040fec0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x2d0]
call fcn.0042c990
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00408380
call fcn.0048be40
test al, al
je 0x46593a
push ebp
pop esi
pop edi
pop eax
push esp
pop edx
push ecx
pop ecx
pop ebx
push ecx
push eax
push esi
push esp
push ebp
push ebp
push edx
push edi
push edi
pop ecx
push esi
push esi
call fcn.0048bf90
test al, al
je 0x465953
pop eax
pop edi
pop ecx
push esp
push esp
push edi
push edi
pop esp
pop eax
pop esi
pop esi
pop ebp
pop esi
pop edi
push edi
pop esi
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4b40
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
call fcn.0048bc80
test al, al
je 0x46599b
push esi
push edx
push edx
push ecx
pop eax
push ebp
push esp
pop edx
pop edi
push eax
push edx
pop ecx
pop ecx
push edi
push ebx
pop edx
pop esi
push esi
push edi
pop edx
pop eax
push eax
push eax
call fcn.0048bcf0
test al, al
je 0x4659bb
pop esi
push ebp
pop ebx
push ecx
pop esp
pop ebx
push esi
push ecx
pop ebp
pop esi
pop edi
pop ebp
push esp
pop esi
pop edx
push ebp
push esp
push ecx
pop edx
pop esi
pop esp
pop eax
pop ebx
call fcn.0048c310
test al, al
je 0x4659d7
pop esi
push eax
pop edx
pop esp
push edi
push ebp
push eax
push esp
pop edx
push esp
pop esi
pop esi
pop ebp
pop ebx
pop eax
pop eax
pop edi
pop ebx
push esi
lea eax, [ebp - 0x218]
mov ecx, eax
mov dword [ebp - 0x2d8], eax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4659f0
sub ecx, edx
sar ecx, 1
cmp ecx, 3
jne 0x465b6a
call fcn.0048c150
test al, al
je 0x465a27
pop ecx
pop esp
push eax
push esp
push ebx
push ecx
push esp
push ebx
pop esi
pop edi
pop ebp
pop edi
pop edi
pop ebx
push edi
pop edx
pop ebx
pop eax
pop esi
pop esi
push ecx
push ebx
call fcn.0048bf90
test al, al
je 0x465a46
pop esi
push ebp
pop ecx
pop eax
pop esi
push edx
pop edi
push ecx
push edx
pop esp
push esp
pop esi
pop esp
push edi
push eax
pop ecx
push ebx
pop ebx
pop esi
push edi
pop ebx
pop esi
call fcn.0048bcf0
test al, al
je 0x465a69
push ebp
push eax
push esp
pop edx
pop edx
pop eax
pop esi
pop edi
pop edi
push ebx
push edx
pop ebp
pop ecx
push esi
push eax
push esp
pop ecx
pop ebx
pop ebp
pop ebx
pop edx
pop esi
pop esi
pop esp
push esi
pop ebx
call fcn.0048bc80
test al, al
je 0x465a87
pop ebx
pop ebp
pop edi
pop eax
pop ebp
pop edx
pop ebp
push eax
push esp
push eax
push ebx
push esp
pop esp
pop edi
pop ebp
pop edx
push esp
push ebx
push eax
pop esi
pop esi
call fcn.0048c150
test al, al
je 0x465aaf
pop edx
pop ebp
pop edx
pop edx
pop esp
pop ebx
push esi
push ebx
push edx
pop esi
push eax
pop edx
pop esp
push edi
pop ebx
pop esi
pop esp
pop edx
pop ecx
push esp
pop ebp
push edx
push edx
push ecx
pop edi
push ebp
push edx
push ecx
pop eax
push esi
pop ebx
mov ebx, dword [ebp - 0x2d8]
lea ecx, [ebp - 0x230]
push ebx
call fcn.00405d50
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x230]
call fcn.0040fb40
push 1
push 0x609b38
lea ecx, [ebp - 0x230]
call fcn.0040fc50
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.00420390
add esp, 4
test al, al
je 0x465b20
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00420df0
add ebx, 8
mov esi, ebx
mov dword [ebp - 0x2d8], ebx
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x465b30
mov eax, dword [ebp - 0x21c]
sub esi, ecx
sar esi, 1
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x465b61
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004073f0
cmp esi, 3
je 0x465a08
mov ebx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2d8], ebx
cmp ebx, dword [ebp - 0x2e8]
je 0x466057
cmp dword [ebp - 0x2e0], 0
jne 0x466057
call fcn.0048be40
test al, al
je 0x465bad
push ecx
pop ebp
pop esp
pop ebp
pop esi
pop ecx
pop eax
push edx
push edx
push ebp
pop ebp
push ebx
push edx
pop edi
pop edx
push eax
pop edx
pop edi
push esi
pop eax
push edx
call fcn.0048c540
test al, al
je 0x465bd0
push esp
pop ebp
pop edx
push edx
push edx
pop ecx
push edi
pop esp
pop esi
pop esi
push esi
push ecx
push ecx
push esp
push ebx
pop ecx
push esp
pop esi
push esi
push ebp
pop esp
pop eax
push edx
push edi
push esp
pop esi
call fcn.0048bc80
test al, al
je 0x465bf5
pop ebp
push edx
pop edx
pop eax
pop eax
push esp
pop esp
pop edx
push esp
push esp
push ecx
pop ebp
pop edx
push ecx
pop eax
push edx
pop ebx
push esi
pop ecx
pop ecx
push ecx
push edi
mov ebx, dword [ebp - 0x2d8]
call fcn.0048c460
test al, al
je 0x465c13
pop ecx
pop edx
pop edi
push ecx
pop eax
push ecx
push esp
pop esi
push ebp
pop edi
push edx
pop ebp
push eax
pop edi
push ebp
pop edi
pop eax
push esp
pop edi
pop esi
push esp
cmp dword [ebx + 0x14], 8
jb 0x465c1b
mov ebx, dword [ebx]
push ebx
lea ecx, [ebp - 0x2a8]
call fcn.00405d50
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2f0], 0
cmp dword [ebp - 0x294], 8
lea ecx, [ebp - 0x2f8]
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x22
cmovae eax, dword [ebp - 0x2a8]
push ecx
push eax
call fcn.004261a0
mov ebx, dword [ebp - 0x2f8]
add esp, 8
mov dword [ebp - 0x2d4], ebx
cmp ebx, dword [ebp - 0x2f4]
je 0x46600f
nop word [eax + eax]
cmp dword [ebp - 0x2e0], 0
jne 0x46600f
cmp dword [ebx + 0x14], 8
jb 0x465ca7
mov eax, dword [ebx]
jmp 0x465ca9
mov eax, ebx
push eax
lea ecx, [ebp - 0x260]
call fcn.00405d50
push 1
push 0
push 0x60d3ec
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x23
call fcn.004078f0
cmp eax, 0xffffffff
jle 0x465fd8
push 0xffffffffffffffff
inc eax
lea ecx, [ebp - 0x260]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.004079e0
push 1
push 0
push 0x609d14
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x24
call fcn.004078f0
cmp eax, 0xffffffff
jle 0x465d97
push eax
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x278]
call fcn.004079e0
mov esi, eax
lea eax, [ebp - 0x278]
cmp eax, esi
je 0x465d75
mov eax, dword [ebp - 0x264]
cmp eax, 8
jb 0x465d4c
inc eax
lea ecx, [ebp - 0x278]
push eax
push dword [ebp - 0x278]
call fcn.004073f0
xor eax, eax
mov dword [ebp - 0x264], 7
push esi
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x268], 0
mov word [ebp - 0x278], ax
call fcn.00406d00
mov eax, dword [ebp - 0x234]
mov byte [ebp - 4], 0x24
cmp eax, 8
jb 0x465d97
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.004073f0
call fcn.0048bf20
test al, al
je 0x465dba
push edi
push ebx
pop ecx
push esi
pop ecx
push edi
push eax
pop edi
push esi
push ebx
pop esi
push ebp
pop edx
push ebp
push ecx
pop eax
push esp
pop esp
pop ebp
push eax
push esi
push eax
pop esi
pop edx
pop edx
push ebp
call fcn.0048c1c0
test al, al
je 0x465dde
pop ebp
push edx
push ebx
push ebp
pop edi
push edi
push esi
push esi
push edx
push eax
pop eax
pop ebp
push esp
pop ebx
pop edx
pop edi
push esp
push ebx
pop esp
push edi
push edi
mov ebx, dword [ebp - 0x2d4]
call fcn.0048bcf0
test al, al
je 0x465df8
push ebp
pop ecx
push edi
push esp
pop ecx
pop ebp
push ebp
push esp
pop ebp
pop ebp
pop edx
push eax
pop eax
pop ebp
push esi
pop esp
pop ecx
lea eax, [ebp - 0x278]
push eax
call fcn.00433430
add esp, 4
mov dword [ebp - 0x27c], 7
xor eax, eax
mov dword [ebp - 0x280], 0
mov word [ebp - 0x290], ax
lea ecx, [ebp - 0x290]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.004071d0
push 1
push 0x609d14
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x26
call fcn.0040fc50
push 7
push 0x609b1c
lea ecx, [ebp - 0x290]
call fcn.0040fc50
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00431400
add esp, 8
mov ecx, dword [ebp - 0x2d0]
mov eax, ecx
mov esi, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x230]
mov byte [ebp - 4], 0x27
cmp ecx, dword [ebp - 0x2cc]
je 0x465f4f
nop dword [eax + eax]
cmp dword [eax + 0x14], 0x10
jb 0x465eaa
mov edx, dword [eax]
jmp 0x465eac
mov edx, eax
cmp esi, 0x10
lea ecx, [ebp - 0x230]
cmovae ecx, edi
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [edx]
mov byte [ebp - 0x2c1], bl
mov ebx, dword [ebp - 0x2d4]
jne 0x465f02
cmp byte [ebp - 0x2c1], 0
je 0x465efe
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
mov byte [ebp - 0x2c1], bl
mov ebx, dword [ebp - 0x2d4]
jne 0x465f02
add ecx, 2
add edx, 2
cmp byte [ebp - 0x2c1], 0
jne 0x465ec0
xor ecx, ecx
jmp 0x465f07
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x465f18
add eax, 0x18
cmp eax, dword [ebp - 0x2cc]
jne 0x465ea0
jmp 0x465f4f
cmp dword [ebp - 0x264], 8
lea eax, [ebp - 0x278]
mov dword [ebp - 0x2e0], 1
cmovae eax, dword [ebp - 0x278]
push eax
call fcn.00446540
mov ecx, eax
call fcn.004503a0
mov esi, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x230]
cmp esi, 0x10
jb 0x465f64
lea eax, [esi + 1]
push eax
push edi
lea ecx, [ebp - 0x230]
call fcn.004093e0
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
cmp eax, 8
jb 0x465f9d
inc eax
lea ecx, [ebp - 0x290]
push eax
push dword [ebp - 0x290]
call fcn.004073f0
xor eax, eax
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x290], ax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x280], 0
cmp eax, 8
jb 0x465fd8
inc eax
lea ecx, [ebp - 0x278]
push eax
push dword [ebp - 0x278]
call fcn.004073f0
mov eax, dword [ebp - 0x24c]
mov byte [ebp - 4], 0x22
cmp eax, 8
jb 0x465ffa
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.004073f0
add ebx, 0x18
mov dword [ebp - 0x2d4], ebx
cmp ebx, dword [ebp - 0x2f4]
jne 0x465c90
lea ecx, [ebp - 0x2f8]
call fcn.004274b0
mov eax, dword [ebp - 0x294]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x46603c
inc eax
lea ecx, [ebp - 0x2a8]
push eax
push dword [ebp - 0x2a8]
call fcn.004073f0
mov ebx, dword [ebp - 0x2d8]
add ebx, 0x18
mov dword [ebp - 0x2d8], ebx
cmp ebx, dword [ebp - 0x2e8]
jne 0x465b82
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 1
call fcn.00416e70
call fcn.0048c150
test al, al
je 0x46608b
pop eax
pop esi
pop edx
pop ebp
pop eax
push ebx
pop ebx
push eax
push ecx
push esp
pop edi
push edi
push edx
pop edx
push eax
push edi
push ebx
push edx
pop edx
push ebp
pop eax
push edx
pop esi
push esi
pop ebp
push ebx
push eax
push esp
lea ecx, [ebp - 0x2ec]
call fcn.004274b0
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 8
jb 0x4660b4
inc ecx
push ecx
push dword [ebp - 0x2c0]
lea ecx, [ebp - 0x2c0]
call fcn.004073f0
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005cabbc
mov esp, ebp
pop ebp
ret