Function at 0x451f10
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 7
add esp, 0xfffff004
push eax
dec eax
jne 0x451f19
mov eax, dword [ebp - 4]
add esp, 0xfffff668
push ebx
push esi
push edi
mov esi, eax
mov ebx, 0x4a5e34
mov eax, 0x497454
call fcn.00482ea0
mov eax, dword [esi + 8]
test eax, eax
je 0x451fa1
push eax
call sub.KERNEL32.DLL_GlobalSize
mov edi, eax
push edi
push 0x2042
call sub.KERNEL32.DLL_GlobalAlloc
mov ebx, eax
test ebx, ebx
jne 0x451f74
xor eax, eax
mov edx, dword [ebp - 0x5cf0]
mov dword fs:[0], edx
jmp 0x453243
push ebx
call sub.KERNEL32.DLL_GlobalLock
push edi
push dword [esi + 8]
push eax
call fcn.00482810
add esp, 0xc
push ebx
call sub.KERNEL32.DLL_GlobalUnlock
mov eax, ebx
mov edx, dword [ebp - 0x5cf0]
mov dword fs:[0], edx
jmp 0x453243
mov edx, 0x4baa57
mov eax, str.Rar_DRXXXXXX
call fcn.004629ac
test al, al
jne 0x451fc8
xor eax, eax
mov edx, dword [ebp - 0x5cf0]
mov dword fs:[0], edx
jmp 0x453243
lea ecx, [ebp - 0x6100]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
push 0x4baa57
call fcn.00484424
pop ecx
call fcn.00447c1c
mov dword [ebp - 0x5cf4], eax
lea edi, [ebp - 0x328c]
mov word [ebp - 0x5ce0], 0x14
mov eax, dword [ebx]
mov ecx, 0x100
mov dword [ebp - 0x3294], eax
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3290], edx
push esi
lea esi, [ebx + 8]
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x2e8c]
push esi
lea esi, [ebx + 0x408]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x2a8c]
push esi
lea esi, [ebx + 0x808]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x268c]
push esi
lea esi, [ebx + 0xc08]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x228c]
push esi
lea esi, [ebx + 0x1008]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x1e8c]
push esi
lea esi, [ebx + 0x1408]
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebx + 0x1488]
pop esi
mov byte [ebp - 0x1e0c], al
push esi
lea esi, [ebx + 0x1489]
lea edi, [ebp - 0x1e0b]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x188c]
pop esi
mov dword [ebp - 0x1a08], eax
lea edi, [ebp - 0x19ad]
mov dl, byte [ebx + 0x1890]
mov byte [ebp - 0x1a04], dl
mov ecx, dword [ebx + 0x1894]
mov dword [ebp - 0x1a00], ecx
mov eax, dword [ebx + 0x1898]
mov dword [ebp - 0x19fc], eax
mov edx, dword [ebx + 0x189c]
mov dword [ebp - 0x19f8], edx
mov ecx, dword [ebx + 0x18a0]
mov dword [ebp - 0x19f4], ecx
mov al, byte [ebx + 0x18a4]
mov byte [ebp - 0x19f0], al
mov edx, dword [ebx + 0x18a8]
mov dword [ebp - 0x19ec], edx
mov ecx, dword [ebx + 0x18ac]
mov dword [ebp - 0x19e8], ecx
mov al, byte [ebx + 0x18b0]
mov byte [ebp - 0x19e4], al
mov dl, byte [ebx + 0x18b1]
mov byte [ebp - 0x19e3], dl
mov cl, byte [ebx + 0x18b2]
mov byte [ebp - 0x19e2], cl
mov al, byte [ebx + 0x18b3]
mov byte [ebp - 0x19e1], al
mov dl, byte [ebx + 0x18b4]
mov byte [ebp - 0x19e0], dl
mov cl, byte [ebx + 0x18b5]
mov byte [ebp - 0x19df], cl
mov eax, dword [ebx + 0x18b8]
mov dword [ebp - 0x19dc], eax
mov edx, dword [ebx + 0x18bc]
mov dword [ebp - 0x19d8], edx
mov ecx, dword [ebx + 0x18c0]
mov dword [ebp - 0x19d4], ecx
mov ecx, dword [ebx + 0x18c4]
mov dword [ebp - 0x19d0], ecx
mov al, byte [ebx + 0x18c8]
mov byte [ebp - 0x19cc], al
mov dl, byte [ebx + 0x18c9]
mov byte [ebp - 0x19cb], dl
mov cl, byte [ebx + 0x18ca]
mov byte [ebp - 0x19ca], cl
mov eax, dword [ebx + 0x18cc]
mov dword [ebp - 0x19c8], eax
mov edx, dword [ebx + 0x18d0]
mov dword [ebp - 0x19c4], edx
mov cl, byte [ebx + 0x18d4]
mov byte [ebp - 0x19c0], cl
mov al, byte [ebx + 0x18d5]
mov byte [ebp - 0x19bf], al
mov edx, dword [ebx + 0x18d8]
mov dword [ebp - 0x19bc], edx
mov ecx, dword [ebx + 0x18dc]
mov dword [ebp - 0x19b8], ecx
mov al, byte [ebx + 0x18e0]
mov byte [ebp - 0x19b4], al
mov dl, byte [ebx + 0x18e1]
mov byte [ebp - 0x19b3], dl
mov cl, byte [ebx + 0x18e2]
mov byte [ebp - 0x19b2], cl
mov al, byte [ebx + 0x18e3]
mov byte [ebp - 0x19b1], al
mov dl, byte [ebx + 0x18e4]
mov byte [ebp - 0x19b0], dl
mov cl, byte [ebx + 0x18e5]
mov byte [ebp - 0x19af], cl
mov ecx, 0x14
mov al, byte [ebx + 0x18e6]
mov byte [ebp - 0x19ae], al
push esi
lea esi, [ebx + 0x18e7]
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebx + 0x1937]
pop esi
mov byte [ebp - 0x195d], al
lea edi, [ebp - 0x1950]
mov dl, byte [ebx + 0x1938]
mov byte [ebp - 0x195c], dl
mov ecx, dword [ebx + 0x193c]
mov dword [ebp - 0x1958], ecx
mov ecx, 7
mov eax, dword [ebx + 0x1940]
mov dword [ebp - 0x1954], eax
push esi
lea esi, [ebx + 0x1944]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x1960]
pop esi
mov dword [ebp - 0x1934], eax
lea edi, [ebp - 0x192c]
mov eax, dword [ebx + 0x1964]
mov ecx, 7
mov dword [ebp - 0x1930], eax
push esi
lea esi, [ebx + 0x1968]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x1984]
pop esi
mov dword [ebp - 0x1910], eax
lea edi, [ebp - 0x1904]
mov eax, dword [ebx + 0x1988]
mov dword [ebp - 0x190c], eax
mov dl, byte [ebx + 0x198c]
mov byte [ebp - 0x1908], dl
mov cl, byte [ebx + 0x198d]
mov byte [ebp - 0x1907], cl
mov ecx, 0x30
mov al, byte [ebx + 0x198e]
mov byte [ebp - 0x1906], al
mov dl, byte [ebx + 0x198f]
mov byte [ebp - 0x1905], dl
push esi
lea esi, [ebx + 0x1990]
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x1844]
push esi
lea esi, [ebx + 0x1a50]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x1e50]
pop esi
mov dword [ebp - 0x1444], eax
lea edi, [ebp - 0x1427]
mov dl, byte [ebx + 0x1e54]
mov byte [ebp - 0x1440], dl
mov cl, byte [ebx + 0x1e55]
mov byte [ebp - 0x143f], cl
mov al, byte [ebx + 0x1e56]
mov byte [ebp - 0x143e], al
mov edx, dword [ebx + 0x1e58]
mov dword [ebp - 0x143c], edx
mov ecx, dword [ebx + 0x1e5c]
mov dword [ebp - 0x1438], ecx
mov eax, dword [ebx + 0x1e60]
mov dword [ebp - 0x1434], eax
mov edx, dword [ebx + 0x1e64]
mov dword [ebp - 0x1430], edx
mov ecx, dword [ebx + 0x1e68]
mov dword [ebp - 0x142c], ecx
mov ecx, 0x100
mov al, byte [ebx + 0x1e6c]
mov byte [ebp - 0x1428], al
push esi
lea esi, [ebx + 0x1e6d]
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebx + 0x226d]
pop esi
mov byte [ebp - 0x1027], al
lea edi, [ebp - 0x1020]
mov dl, byte [ebx + 0x226e]
mov byte [ebp - 0x1026], dl
inc dword [ebp - 0x5cd4]
mov cl, byte [ebx + 0x2270]
mov byte [ebp - 0x1024], cl
mov al, byte [ebx + 0x2271]
mov byte [ebp - 0x1023], al
mov dl, byte [ebx + 0x2272]
mov byte [ebp - 0x1022], dl
mov cl, byte [ebx + 0x2273]
mov byte [ebp - 0x1021], cl
push esi
lea esi, [ebx + 0x2274]
mov ecx, 0x104
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0xc10]
push esi
lea esi, [ebx + 0x2684]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebp - 0x810]
push esi
lea esi, [ebx + 0x2a84]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebx + 0x3284]
mov dword [ebp - 0x10], eax
lea edi, [ebx + 0x1944]
mov edx, dword [ebx + 0x3288]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebx + 0x328c]
mov dword [ebp - 8], ecx
mov eax, dword [ebx + 0x3290]
mov dword [ebp - 4], eax
lea eax, [esi + 0xc]
inc dword [ebp - 0x5cd4]
mov word [ebp - 0x5ce0], 8
lea edx, [eax + 0x1944]
mov dword [ebp - 0x5cf8], edx
mov ecx, dword [ebp - 0x5cf8]
push esi
mov esi, ecx
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x5cf8]
pop esi
mov ecx, dword [edx + 0x1c]
mov dword [ebx + 0x1960], ecx
mov ecx, dword [edx + 0x20]
mov dword [ebx + 0x1964], ecx
lea edx, [eax + 0x1968]
mov dword [ebp - 0x5cfc], edx
lea edi, [ebx + 0x1968]
mov ecx, dword [ebp - 0x5cfc]
push esi
mov esi, ecx
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x5cfc]
pop esi
lea edi, [ebx + 8]
mov ecx, dword [edx + 0x1c]
mov dword [ebx + 0x1984], ecx
mov ecx, dword [edx + 0x20]
mov dword [ebx + 0x1988], ecx
mov edx, dword [eax]
mov dword [ebx], edx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
push esi
lea esi, [eax + 8]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x408]
push esi
lea esi, [eax + 0x408]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x808]
push esi
lea esi, [eax + 0x808]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0xc08]
push esi
lea esi, [eax + 0xc08]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x1008]
push esi
lea esi, [eax + 0x1008]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x1408]
push esi
lea esi, [eax + 0x1408]
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
pop esi
mov dl, byte [eax + 0x1488]
mov byte [ebx + 0x1488], dl
push esi
lea esi, [eax + 0x1489]
lea edi, [ebx + 0x1489]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
mov edx, dword [eax + 0x188c]
mov dword [ebx + 0x188c], edx
lea edi, [ebx + 0x18e7]
mov cl, byte [eax + 0x1890]
mov byte [ebx + 0x1890], cl
mov edx, dword [eax + 0x1894]
mov dword [ebx + 0x1894], edx
mov ecx, dword [eax + 0x1898]
mov dword [ebx + 0x1898], ecx
mov edx, dword [eax + 0x189c]
mov dword [ebx + 0x189c], edx
mov ecx, dword [eax + 0x18a0]
mov dword [ebx + 0x18a0], ecx
mov dl, byte [eax + 0x18a4]
mov byte [ebx + 0x18a4], dl
mov ecx, dword [eax + 0x18a8]
mov dword [ebx + 0x18a8], ecx
mov edx, dword [eax + 0x18ac]
mov dword [ebx + 0x18ac], edx
mov cl, byte [eax + 0x18b0]
mov byte [ebx + 0x18b0], cl
mov dl, byte [eax + 0x18b1]
mov byte [ebx + 0x18b1], dl
mov cl, byte [eax + 0x18b2]
mov byte [ebx + 0x18b2], cl
mov dl, byte [eax + 0x18b3]
mov byte [ebx + 0x18b3], dl
mov cl, byte [eax + 0x18b4]
mov byte [ebx + 0x18b4], cl
mov dl, byte [eax + 0x18b5]
mov byte [ebx + 0x18b5], dl
mov ecx, dword [eax + 0x18b8]
mov dword [ebx + 0x18b8], ecx
mov edx, dword [eax + 0x18bc]
mov dword [ebx + 0x18bc], edx
mov ecx, dword [eax + 0x18c0]
mov dword [ebx + 0x18c0], ecx
mov ecx, dword [eax + 0x18c4]
mov dword [ebx + 0x18c4], ecx
mov dl, byte [eax + 0x18c8]
mov byte [ebx + 0x18c8], dl
mov cl, byte [eax + 0x18c9]
mov byte [ebx + 0x18c9], cl
mov dl, byte [eax + 0x18ca]
mov byte [ebx + 0x18ca], dl
mov ecx, dword [eax + 0x18cc]
mov dword [ebx + 0x18cc], ecx
mov edx, dword [eax + 0x18d0]
mov dword [ebx + 0x18d0], edx
mov cl, byte [eax + 0x18d4]
mov byte [ebx + 0x18d4], cl
mov dl, byte [eax + 0x18d5]
mov byte [ebx + 0x18d5], dl
mov ecx, dword [eax + 0x18d8]
mov dword [ebx + 0x18d8], ecx
mov edx, dword [eax + 0x18dc]
mov dword [ebx + 0x18dc], edx
mov cl, byte [eax + 0x18e0]
mov byte [ebx + 0x18e0], cl
mov dl, byte [eax + 0x18e1]
mov byte [ebx + 0x18e1], dl
mov cl, byte [eax + 0x18e2]
mov byte [ebx + 0x18e2], cl
mov dl, byte [eax + 0x18e3]
mov byte [ebx + 0x18e3], dl
mov cl, byte [eax + 0x18e4]
mov byte [ebx + 0x18e4], cl
mov dl, byte [eax + 0x18e5]
mov byte [ebx + 0x18e5], dl
mov cl, byte [eax + 0x18e6]
mov byte [ebx + 0x18e6], cl
push esi
lea esi, [eax + 0x18e7]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
pop esi
mov dl, byte [eax + 0x1937]
mov byte [ebx + 0x1937], dl
lea edi, [ebx + 0x1990]
mov cl, byte [eax + 0x1938]
mov byte [ebx + 0x1938], cl
mov edx, dword [eax + 0x193c]
mov dword [ebx + 0x193c], edx
mov ecx, dword [eax + 0x1940]
mov dword [ebx + 0x1940], ecx
mov dl, byte [eax + 0x198c]
mov byte [ebx + 0x198c], dl
mov cl, byte [eax + 0x198d]
mov byte [ebx + 0x198d], cl
mov dl, byte [eax + 0x198e]
mov byte [ebx + 0x198e], dl
mov cl, byte [eax + 0x198f]
mov byte [ebx + 0x198f], cl
push esi
lea esi, [eax + 0x1990]
mov ecx, 0x30
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x1a50]
push esi
lea esi, [eax + 0x1a50]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov edx, dword [eax + 0x1e50]
pop esi
mov dword [ebx + 0x1e50], edx
lea edi, [ebx + 0x1e6d]
mov cl, byte [eax + 0x1e54]
mov byte [ebx + 0x1e54], cl
mov dl, byte [eax + 0x1e55]
mov byte [ebx + 0x1e55], dl
mov cl, byte [eax + 0x1e56]
mov byte [ebx + 0x1e56], cl
mov edx, dword [eax + 0x1e58]
mov dword [ebx + 0x1e58], edx
mov ecx, dword [eax + 0x1e5c]
mov dword [ebx + 0x1e5c], ecx
mov edx, dword [eax + 0x1e60]
mov dword [ebx + 0x1e60], edx
mov ecx, dword [eax + 0x1e64]
mov dword [ebx + 0x1e64], ecx
mov edx, dword [eax + 0x1e68]
mov dword [ebx + 0x1e68], edx
mov cl, byte [eax + 0x1e6c]
mov byte [ebx + 0x1e6c], cl
push esi
lea esi, [eax + 0x1e6d]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov dl, byte [eax + 0x226d]
pop esi
mov byte [ebx + 0x226d], dl
lea edi, [ebx + 0x2274]
mov cl, byte [eax + 0x226e]
mov byte [ebx + 0x226e], cl
mov dl, byte [eax + 0x2270]
mov byte [ebx + 0x2270], dl
mov cl, byte [eax + 0x2271]
mov byte [ebx + 0x2271], cl
mov dl, byte [eax + 0x2272]
mov byte [ebx + 0x2272], dl
mov cl, byte [eax + 0x2273]
mov byte [ebx + 0x2273], cl
push esi
lea esi, [eax + 0x2274]
mov ecx, 0x104
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x2684]
push esi
lea esi, [eax + 0x2684]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x2a84]
push esi
lea esi, [eax + 0x2a84]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
pop esi
mov edx, dword [eax + 0x3284]
mov dword [ebx + 0x3284], edx
mov ecx, dword [eax + 0x3288]
mov dword [ebx + 0x3288], ecx
mov edx, dword [eax + 0x328c]
mov dword [ebx + 0x328c], edx
xor edx, edx
mov eax, dword [eax + 0x3290]
mov dword [ebx + 0x3290], eax
mov eax, 0x4adfd0
call fcn.00454abc
push esi
lea esi, [ebp - 0x1950]
lea edi, [ebx + 0x1944]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 0x1934]
mov dword [ebx + 0x1960], eax
lea edi, [ebx + 0x1968]
mov eax, dword [ebp - 0x1930]
mov ecx, 7
mov dword [ebx + 0x1964], eax
push esi
lea esi, [ebp - 0x192c]
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 0x1910]
mov dword [ebx + 0x1984], eax
lea edi, [ebx + 8]
mov eax, dword [ebp - 0x190c]
mov dword [ebx + 0x1988], eax
mov edx, dword [ebp - 0x3294]
mov dword [ebx], edx
mov ecx, dword [ebp - 0x3290]
mov dword [ebx + 4], ecx
push esi
lea esi, [ebp - 0x328c]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x408]
push esi
lea esi, [ebp - 0x2e8c]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x808]
push esi
lea esi, [ebp - 0x2a8c]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0xc08]
push esi
lea esi, [ebp - 0x268c]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x1008]
push esi
lea esi, [ebp - 0x228c]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x1408]
push esi
lea esi, [ebp - 0x1e8c]
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
pop esi
mov al, byte [ebp - 0x1e0c]
mov byte [ebx + 0x1488], al
push esi
lea esi, [ebp - 0x1e0b]
lea edi, [ebx + 0x1489]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 0x1a08]
mov dword [ebx + 0x188c], eax
lea edi, [ebx + 0x18e7]
mov dl, byte [ebp - 0x1a04]
mov byte [ebx + 0x1890], dl
mov ecx, dword [ebp - 0x1a00]
mov dword [ebx + 0x1894], ecx
mov eax, dword [ebp - 0x19fc]
mov dword [ebx + 0x1898], eax
mov edx, dword [ebp - 0x19f8]
mov dword [ebx + 0x189c], edx
mov ecx, dword [ebp - 0x19f4]
mov dword [ebx + 0x18a0], ecx
mov al, byte [ebp - 0x19f0]
mov byte [ebx + 0x18a4], al
mov edx, dword [ebp - 0x19ec]
mov dword [ebx + 0x18a8], edx
mov ecx, dword [ebp - 0x19e8]
mov dword [ebx + 0x18ac], ecx
mov al, byte [ebp - 0x19e4]
mov byte [ebx + 0x18b0], al
mov dl, byte [ebp - 0x19e3]
mov byte [ebx + 0x18b1], dl
mov cl, byte [ebp - 0x19e2]
mov byte [ebx + 0x18b2], cl
mov al, byte [ebp - 0x19e1]
mov byte [ebx + 0x18b3], al
mov dl, byte [ebp - 0x19e0]
mov byte [ebx + 0x18b4], dl
mov cl, byte [ebp - 0x19df]
mov byte [ebx + 0x18b5], cl
mov eax, dword [ebp - 0x19dc]
mov dword [ebx + 0x18b8], eax
mov edx, dword [ebp - 0x19d8]
mov dword [ebx + 0x18bc], edx
mov ecx, dword [ebp - 0x19d4]
mov dword [ebx + 0x18c0], ecx
mov ecx, dword [ebp - 0x19d0]
mov dword [ebx + 0x18c4], ecx
mov al, byte [ebp - 0x19cc]
mov byte [ebx + 0x18c8], al
mov dl, byte [ebp - 0x19cb]
mov byte [ebx + 0x18c9], dl
mov cl, byte [ebp - 0x19ca]
mov byte [ebx + 0x18ca], cl
mov eax, dword [ebp - 0x19c8]
mov dword [ebx + 0x18cc], eax
mov edx, dword [ebp - 0x19c4]
mov dword [ebx + 0x18d0], edx
mov cl, byte [ebp - 0x19c0]
mov byte [ebx + 0x18d4], cl
mov al, byte [ebp - 0x19bf]
mov byte [ebx + 0x18d5], al
mov edx, dword [ebp - 0x19bc]
mov dword [ebx + 0x18d8], edx
mov ecx, dword [ebp - 0x19b8]
mov dword [ebx + 0x18dc], ecx
mov al, byte [ebp - 0x19b4]
mov byte [ebx + 0x18e0], al
mov dl, byte [ebp - 0x19b3]
mov byte [ebx + 0x18e1], dl
mov cl, byte [ebp - 0x19b2]
mov byte [ebx + 0x18e2], cl
mov al, byte [ebp - 0x19b1]
mov byte [ebx + 0x18e3], al
mov dl, byte [ebp - 0x19b0]
mov byte [ebx + 0x18e4], dl
mov cl, byte [ebp - 0x19af]
mov byte [ebx + 0x18e5], cl
mov ecx, 0x14
mov al, byte [ebp - 0x19ae]
mov byte [ebx + 0x18e6], al
push esi
lea esi, [ebp - 0x19ad]
rep movsd dword es:[edi], dword [esi]
pop esi
mov al, byte [ebp - 0x195d]
mov byte [ebx + 0x1937], al
lea edi, [ebx + 0x1990]
mov dl, byte [ebp - 0x195c]
mov byte [ebx + 0x1938], dl
mov ecx, dword [ebp - 0x1958]
mov dword [ebx + 0x193c], ecx
mov eax, dword [ebp - 0x1954]
mov dword [ebx + 0x1940], eax
mov dl, byte [ebp - 0x1908]
mov byte [ebx + 0x198c], dl
mov cl, byte [ebp - 0x1907]
mov byte [ebx + 0x198d], cl
mov ecx, 0x30
mov al, byte [ebp - 0x1906]
mov byte [ebx + 0x198e], al
mov dl, byte [ebp - 0x1905]
mov byte [ebx + 0x198f], dl
push esi
lea esi, [ebp - 0x1904]
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x1a50]
push esi
lea esi, [ebp - 0x1844]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1444]
pop esi
mov dword [ebx + 0x1e50], eax
lea edi, [ebx + 0x1e6d]
mov dl, byte [ebp - 0x1440]
mov byte [ebx + 0x1e54], dl
mov cl, byte [ebp - 0x143f]
mov byte [ebx + 0x1e55], cl
mov al, byte [ebp - 0x143e]
mov byte [ebx + 0x1e56], al
mov edx, dword [ebp - 0x143c]
mov dword [ebx + 0x1e58], edx
mov ecx, dword [ebp - 0x1438]
mov dword [ebx + 0x1e5c], ecx
mov eax, dword [ebp - 0x1434]
mov dword [ebx + 0x1e60], eax
mov edx, dword [ebp - 0x1430]
mov dword [ebx + 0x1e64], edx
mov ecx, dword [ebp - 0x142c]
mov dword [ebx + 0x1e68], ecx
mov ecx, 0x100
mov al, byte [ebp - 0x1428]
mov byte [ebx + 0x1e6c], al
push esi
lea esi, [ebp - 0x1427]
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebp - 0x1027]
pop esi
mov byte [ebx + 0x226d], al
lea edi, [ebx + 0x2274]
mov dl, byte [ebp - 0x1026]
mov byte [ebx + 0x226e], dl
mov cl, byte [ebp - 0x1024]
mov byte [ebx + 0x2270], cl
mov al, byte [ebp - 0x1023]
mov byte [ebx + 0x2271], al
mov dl, byte [ebp - 0x1022]
mov byte [ebx + 0x2272], dl
mov cl, byte [ebp - 0x1021]
mov byte [ebx + 0x2273], cl
push esi
lea esi, [ebp - 0x1020]
mov ecx, 0x104
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x2684]
push esi
lea esi, [ebp - 0xc10]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
pop esi
lea edi, [ebx + 0x2a84]
push esi
lea esi, [ebp - 0x810]
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x3284], eax
mov edx, dword [ebp - 0xc]
mov dword [ebx + 0x3288], edx
lea edx, [ebp - 0x3294]
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x328c], ecx
mov eax, dword [ebp - 4]
mov dword [ebx + 0x3290], eax
push 0x3294
push 0
push edx
call fcn.00482880
add esp, 0xc
call fcn.00447c1c
cmp eax, dword [ebp - 0x5cf4]
jne 0x452dec
cmp dword [0x4afc1c], 0
je 0x452df0
xor eax, eax
jmp 0x452df5
mov eax, 1
test al, al
jne 0x452e00
mov byte [0x4baa56], 0
lea edx, [ebp - 0x6500]
mov eax, 0x4adfd0
xor ecx, ecx
call fcn.00458fe0
lea edx, [ebp - 0x6500]
lea eax, [ebp - 0x6500]
call fcn.0040aa34
lea edx, [ebp - 0x6500]
push edx
call fcn.00484424
pop ecx
mov word [ebp - 0x5ce0], 0x20
lea eax, [ebp - 0x338c]
call fcn.0040e004
add dword [ebp - 0x5cd4], 4
mov word [ebp - 0x5ce0], 8
mov word [ebp - 0x5ce0], 0x2c
mov word [ebp - 0x5ce0], 0x38
lea eax, [ebp - 0x3484]
call fcn.0040e004
add dword [ebp - 0x5cd4], 4
mov word [ebp - 0x5ce0], 0x44
mov edx, 0x497288
lea eax, [ebp - 0x3484]
call fcn.0040e1cc
lea eax, [ebp - 0x6588]
call fcn.00411d14
lea eax, [ebp - 0x6564]
call fcn.00411d14
lea eax, [ebp - 0x6540]
call fcn.00411d14
mov word [ebp - 0x5ce0], 0x50
push 0
push 3
lea edx, [ebp - 0x3484]
lea eax, [ebp - 0x48a8]
xor ecx, ecx
call fcn.0041135c
inc dword [ebp - 0x5cd4]
mov word [ebp - 0x5ce0], 0x44
xor ebx, ebx
jmp 0x452f1b
lea edx, [ebp - 0x759c]
lea eax, [ebp - 0x719c]
call fcn.00409cf4
lea edx, [ebp - 0x759c]
lea eax, [ebp - 0x338c]
call fcn.0040e1cc
lea ecx, [ebp - 0x759c]
push ecx
call fcn.00482a30
pop ecx
add eax, ebx
add eax, 3
mov ebx, eax
lea edx, [ebp - 0x719c]
lea eax, [ebp - 0x48a8]
call fcn.00411470
test eax, eax
je 0x452ee5
test ebx, ebx
jne 0x452fa5
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x48a8]
dec dword [ebp - 0x5cd4]
call fcn.00411414
sub dword [ebp - 0x5cd4], 4
lea eax, [ebp - 0x3484]
mov edx, 2
call fcn.0040e120
sub dword [ebp - 0x5cd4], 4
lea eax, [ebp - 0x338c]
mov edx, 2
call fcn.0040e120
sub dword [ebp - 0x5cd4], 2
lea eax, [ebp - 0x3294]
mov edx, 2
call fcn.004211fc
pop eax
mov edx, dword [ebp - 0x5cf0]
mov dword fs:[0], edx
jmp 0x453243
add ebx, 0x15
push ebx
push 0x2042
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [ebp - 0x5d00], eax
cmp dword [ebp - 0x5d00], 0
jne 0x453033
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x48a8]
dec dword [ebp - 0x5cd4]
call fcn.00411414
sub dword [ebp - 0x5cd4], 4
lea eax, [ebp - 0x3484]
mov edx, 2
call fcn.0040e120
sub dword [ebp - 0x5cd4], 4
lea eax, [ebp - 0x338c]
mov edx, 2
call fcn.0040e120
sub dword [ebp - 0x5cd4], 2
lea eax, [ebp - 0x3294]
mov edx, 2
call fcn.004211fc
pop eax
mov edx, dword [ebp - 0x5cf0]
mov dword fs:[0], edx
jmp 0x453243
lea eax, [ebp - 0x3484]
call fcn.0040e394
mov word [ebp - 0x5ce0], 0x5c
push 0
push 1
lea edx, [ebp - 0x3484]
lea eax, [ebp - 0x5ccc]
mov ecx, 1
call fcn.0041135c
inc dword [ebp - 0x5cd4]
mov word [ebp - 0x5ce0], 0x44
jmp 0x453084
test byte [ebp - 0x6594], 5
je 0x453084
mov byte [esi + 0x36a1], 0
jmp 0x453099
lea edx, [ebp - 0x719c]
lea eax, [ebp - 0x5ccc]
call fcn.00411470
test eax, eax
je 0x453072
dec dword [ebp - 0x5cd4]
lea eax, [ebp - 0x5ccc]
mov edx, 2
call fcn.00411414
dec dword [ebp - 0x5cd4]
lea eax, [ebp - 0x48a8]
mov edx, 2
call fcn.00411414
sub dword [ebp - 0x5cd4], 4
lea eax, [ebp - 0x3484]
mov edx, 2
call fcn.0040e120
mov word [ebp - 0x5ce0], 0x2c
mov word [ebp - 0x5ce0], 8
jmp 0x45314c
push dword [ebp - 0x5d00]
call sub.KERNEL32.DLL_GlobalLock
mov edi, eax
mov word [ebp - 0x5ce0], 8
mov dword [edi], 0x14
xor eax, eax
mov dword [edi + 0x10], eax
mov ebx, 0x14
jmp 0x453196
lea eax, [ebp - 0x799c]
push eax
lea edx, [ebx + edi]
push edx
call sub.KERNEL32.DLL_lstrcpyA
lea ecx, [ebp - 0x799c]
push ecx
call fcn.00482a30
pop ecx
add eax, ebx
inc eax
mov ebx, eax
lea edx, [ebp - 0x799c]
lea eax, [ebp - 0x338c]
mov ecx, 0x400
call fcn.0040e250
test al, al
jne 0x453174
mov byte [edi + ebx], 0
lea eax, [ebp - 0x6100]
push eax
call fcn.00484424
pop ecx
push dword [ebp - 0x5d00]
call sub.KERNEL32.DLL_GlobalSize
mov ebx, eax
mov word [ebp - 0x5ce0], 8
push ebx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov dword [esi + 8], eax
cmp dword [esi + 8], 0
je 0x4531f5
push ebx
push edi
push dword [esi + 8]
call fcn.00482810
add esp, 0xc
push dword [ebp - 0x5d00]
call sub.KERNEL32.DLL_GlobalUnlock
mov eax, dword [ebp - 0x5d00]
mov edx, 2
push eax
lea eax, [ebp - 0x338c]
sub dword [ebp - 0x5cd4], 4
call fcn.0040e120
sub dword [ebp - 0x5cd4], 2
lea eax, [ebp - 0x3294]
mov edx, 2
call fcn.004211fc
pop eax
mov edx, dword [ebp - 0x5cf0]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret