Function at 0x4525e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2d04
call fcn.004df730
push ebx
push esi
push edi
lea edi, [ebp - 0x2704]
mov ecx, 0x9c1
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x8d8dc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, 0x8dc369
call fcn.004def40
nop
xor eax, eax
mov byte [ebp - 0x1b69], al
lea ecx, [ebp - 0x1b69]
call fcn.00438c60
mov ecx, eax
call fcn.0048b3a0
mov dword [ebp - 0xc], eax
xor eax, eax
mov byte [ebp - 0x1b75], al
lea ecx, [ebp - 0x1b75]
call fcn.004411d0
mov ecx, eax
call fcn.0048b3a0
mov dword [ebp - 0x18], eax
xor eax, eax
mov byte [ebp - 0x1b81], al
lea ecx, [ebp - 0x1b81]
call fcn.00446650
mov ecx, eax
call fcn.0048b3a0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x452697
xor eax, eax
mov byte [ebp - 0x1b8d], al
lea ecx, [ebp - 0x1b8d]
call fcn.00447640
mov ecx, eax
call fcn.0048b340
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
xor eax, eax
mov byte [ebp - 0x1b99], al
lea ecx, [ebp - 0x1b99]
call fcn.00448740
mov ecx, eax
call fcn.0048b340
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x1ba5], al
lea ecx, [ebp - 0x1ba5]
call fcn.00449730
mov ecx, eax
call fcn.0048b340
mov dword [ebp - 0x48], eax
xor eax, eax
mov byte [ebp - 0x1bb1], al
lea ecx, [ebp - 0x1bb1]
call fcn.0044a670
mov ecx, eax
call fcn.0048b2e0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x45271d
xor eax, eax
mov byte [ebp - 0x1bbd], al
lea ecx, [ebp - 0x1bbd]
call fcn.0044b770
mov ecx, eax
call fcn.0048b2e0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x60], ecx
xor eax, eax
mov byte [ebp - 0x1bc9], al
lea ecx, [ebp - 0x1bc9]
call fcn.0044c270
mov ecx, eax
call fcn.0048b280
mov dword [ebp - 0x6c], eax
xor eax, eax
mov byte [ebp - 0x1bd5], al
lea ecx, [ebp - 0x1bd5]
call fcn.00430680
mov ecx, eax
call fcn.0048b280
mov dword [ebp - 0x78], eax
xor eax, eax
mov byte [ebp - 0x1be1], al
lea ecx, [ebp - 0x1be1]
call fcn.00431560
mov ecx, eax
call fcn.0048b280
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x4527af
xor eax, eax
mov byte [ebp - 0x1bed], al
lea ecx, [ebp - 0x1bed]
call fcn.00432440
mov ecx, eax
call fcn.0048b220
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x30]
lea eax, [edx + ecx + 0xf8]
mov dword [ebp - 0x90], eax
xor eax, eax
mov byte [ebp - 0x1bf9], al
lea ecx, [ebp - 0x1bf9]
call fcn.00433210
mov ecx, eax
call fcn.0048b220
mov dword [ebp - 0x9c], eax
xor eax, eax
mov byte [ebp - 0x1c05], al
lea ecx, [ebp - 0x1c05]
call fcn.004340f0
mov ecx, eax
call fcn.0048b1c0
mov dword [ebp - 0xa8], eax
xor eax, eax
mov byte [ebp - 0x1c11], al
lea ecx, [ebp - 0x1c11]
call fcn.004350e0
mov ecx, eax
call fcn.0048b1c0
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x45285a
xor eax, eax
mov byte [ebp - 0x1c1d], al
lea ecx, [ebp - 0x1c1d]
call fcn.00435eb0
mov ecx, eax
call fcn.0048b1c0
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0x30], 0
je 0x45286f
cmp dword [ebp - 0x60], 0
je 0x45286f
cmp dword [ebp - 0x90], 0
jne 0x452876
xor al, al
jmp 0x4565ca
xor eax, eax
mov byte [ebp - 0x1c29], al
lea ecx, [ebp - 0x1c29]
call fcn.00436c80
mov ecx, eax
call fcn.0048b160
mov dword [ebp - 0xc0], eax
xor eax, eax
mov byte [ebp - 0x1c35], al
lea ecx, [ebp - 0x1c35]
call fcn.00437940
mov ecx, eax
call fcn.0048b160
mov dword [ebp - 0xcc], eax
xor eax, eax
mov byte [ebp - 0x1c41], al
lea ecx, [ebp - 0x1c41]
call fcn.00438710
mov ecx, eax
call fcn.0048b160
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x45290b
xor eax, eax
mov byte [ebp - 0x1c4d], al
lea ecx, [ebp - 0x1c4d]
call fcn.00439b40
mov ecx, eax
call fcn.0048b100
mov dword [ebp - 0xd8], eax
xor eax, eax
mov byte [ebp - 0x1c59], al
lea ecx, [ebp - 0x1c59]
call fcn.0043a6f0
mov ecx, eax
call fcn.0048b100
mov dword [ebp - 0x2ec], eax
xor eax, eax
mov byte [ebp - 0x1c65], al
lea ecx, [ebp - 0x1c65]
call fcn.0043b3b0
mov ecx, eax
call fcn.0048b0a0
mov dword [ebp - 0x2f8], eax
xor eax, eax
mov byte [ebp - 0x1c71], al
lea ecx, [ebp - 0x1c71]
call fcn.0043c070
mov ecx, eax
call fcn.0048b0a0
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 0
je 0x4529a0
xor eax, eax
mov byte [ebp - 0x1c7d], al
lea ecx, [ebp - 0x1c7d]
call fcn.0043ce40
mov ecx, eax
call fcn.0048b0a0
mov dword [ebp - 0x304], eax
xor eax, eax
mov byte [ebp - 0x1c89], al
lea ecx, [ebp - 0x1c89]
call fcn.0043db10
mov ecx, eax
call fcn.0048cfc0
mov esi, esp
mov ecx, dword [eax*4 + 0x8d8c7c]
call ecx
cmp esi, esp
call fcn.004def10
test eax, eax
jne 0x452ba0
xor eax, eax
mov byte [ebp - 0x1c95], al
lea ecx, [ebp - 0x1c95]
call fcn.0043e7e0
mov ecx, eax
call fcn.0048b040
mov dword [ebp - 0x310], eax
xor eax, eax
mov byte [ebp - 0x1ca1], al
lea ecx, [ebp - 0x1ca1]
call fcn.0043f410
mov ecx, eax
call fcn.0048afe0
mov dword [ebp - 0x31c], eax
xor eax, eax
mov byte [ebp - 0x1cad], al
lea ecx, [ebp - 0x1cad]
call fcn.004400d0
mov ecx, eax
call fcn.0048afe0
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0
je 0x452a69
xor eax, eax
mov byte [ebp - 0x1cb9], al
lea ecx, [ebp - 0x1cb9]
call fcn.00440d90
mov ecx, eax
call fcn.0048af80
mov dword [ebp - 0x328], eax
xor eax, eax
mov byte [ebp - 0x1cd1], al
xor ecx, ecx
mov byte [ebp - 0x1cc5], cl
lea ecx, [ebp - 0x1cd1]
call fcn.00442b10
mov ecx, eax
call fcn.0048cf60
mov esi, esp
push eax
lea ecx, [ebp - 0x1cc5]
call fcn.00442010
mov ecx, eax
call fcn.0048cf00
mov edx, dword [eax*4 + 0x8d8ca4]
call edx
add esp, 4
cmp esi, esp
call fcn.004def10
nop
mov dword [ebp - 0x350], 0x498a62
mov eax, dword [sym.imp.USER32.dll_CharNextExA]
mov dword [ebp - 0x34c], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
mov dword [ebp - 0x348], eax
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x344], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov dword [ebp - 0x340], eax
mov eax, dword [sym.imp.ADVAPI32.dll_DuplicateEncryptionInfoFile]
mov dword [ebp - 0x33c], eax
mov eax, dword [sym.imp.GDI32.dll_SetPixelV]
mov dword [ebp - 0x338], eax
mov eax, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x334], eax
xor eax, eax
mov byte [ebp - 0x1cdd], al
lea ecx, [ebp - 0x1cdd]
call fcn.004436d0
mov ecx, eax
call fcn.0048af20
mov dword [ebp - 0x35c], eax
xor eax, eax
mov byte [ebp - 0x1ce9], al
lea ecx, [ebp - 0x1ce9]
call fcn.004441d0
mov ecx, eax
call fcn.0048af20
mov dword [ebp - 0x368], eax
xor eax, eax
mov byte [ebp - 0x1cf5], al
lea ecx, [ebp - 0x1cf5]
call fcn.00444d80
mov ecx, eax
call fcn.0048af20
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 0x35c], 0
je 0x452ba0
xor eax, eax
mov byte [ebp - 0x1d01], al
lea ecx, [ebp - 0x1d01]
call fcn.00445880
mov ecx, eax
call fcn.0048aec0
mov dword [ebp - 0x374], eax
xor eax, eax
mov byte [ebp - 0x1d0d], al
lea ecx, [ebp - 0x1d0d]
call fcn.00445ee0
mov ecx, eax
call fcn.0048aec0
mov dword [ebp - 0x380], eax
xor eax, eax
mov byte [ebp - 0x1d19], al
lea ecx, [ebp - 0x1d19]
call fcn.00445ff0
mov ecx, eax
call fcn.0048aec0
mov dword [ebp - 0x38c], eax
xor eax, eax
mov byte [ebp - 0x1d25], al
lea ecx, [ebp - 0x1d25]
call fcn.00446100
mov ecx, eax
call fcn.0048ae60
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
je 0x452c35
xor eax, eax
mov byte [ebp - 0x1d31], al
lea ecx, [ebp - 0x1d31]
call fcn.00446210
mov ecx, eax
call fcn.0048ae60
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.004518c0
add esp, 8
mov byte [ebp - 0x3a1], al
xor eax, eax
mov byte [ebp - 0x1d3d], al
lea ecx, [ebp - 0x1d3d]
call fcn.00446980
mov ecx, eax
call fcn.0048ae00
mov dword [ebp - 0x3b0], eax
xor eax, eax
mov byte [ebp - 0x1d49], al
lea ecx, [ebp - 0x1d49]
call fcn.00446a90
mov ecx, eax
call fcn.0048ae00
mov dword [ebp - 0x3bc], eax
xor eax, eax
mov byte [ebp - 0x1d55], al
lea ecx, [ebp - 0x1d55]
call fcn.00446ba0
mov ecx, eax
call fcn.0048ae00
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3b0], 0
je 0x452ce3
xor eax, eax
mov byte [ebp - 0x1d61], al
lea ecx, [ebp - 0x1d61]
call fcn.00446cb0
mov ecx, eax
call fcn.0048ada0
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3d4], eax
xor eax, eax
mov byte [ebp - 0x1d6d], al
lea ecx, [ebp - 0x1d6d]
call fcn.00446dc0
mov ecx, eax
call fcn.0048ada0
mov dword [ebp - 0x3e0], eax
xor eax, eax
mov byte [ebp - 0x1d79], al
lea ecx, [ebp - 0x1d79]
call fcn.00446ed0
mov ecx, eax
call fcn.0048ada0
mov dword [ebp - 0x3ec], eax
xor eax, eax
mov byte [ebp - 0x1d85], al
lea ecx, [ebp - 0x1d85]
call fcn.00446fe0
mov ecx, eax
call fcn.0048ad40
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0
je 0x452d81
xor eax, eax
mov byte [ebp - 0x1d91], al
lea ecx, [ebp - 0x1d91]
call fcn.004470f0
mov ecx, eax
call fcn.0048ad40
mov dword [ebp - 0x3f8], eax
xor eax, eax
mov byte [ebp - 0x1d9d], al
lea ecx, [ebp - 0x1d9d]
call fcn.00447200
mov ecx, eax
call fcn.0048ace0
mov dword [ebp - 0x450], eax
xor eax, eax
mov byte [ebp - 0x1da9], al
lea ecx, [ebp - 0x1da9]
call fcn.00447310
mov ecx, eax
call fcn.0048ace0
mov dword [ebp - 0x45c], eax
xor eax, eax
mov byte [ebp - 0x1db5], al
lea ecx, [ebp - 0x1db5]
call fcn.00447a80
mov ecx, eax
call fcn.0048ace0
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x450], eax
cmp dword [ebp - 0x450], 0
je 0x452e16
xor eax, eax
mov byte [ebp - 0x1dc1], al
lea ecx, [ebp - 0x1dc1]
call fcn.00447b90
mov ecx, eax
call fcn.0048ac80
mov dword [ebp - 0x468], eax
xor eax, eax
mov byte [ebp - 0x1dcd], al
lea ecx, [ebp - 0x1dcd]
call fcn.00447ca0
mov ecx, eax
call fcn.0048ac80
mov dword [ebp - 0x48c], eax
xor eax, eax
mov byte [ebp - 0x1dd9], al
lea ecx, [ebp - 0x1dd9]
call fcn.00447db0
mov ecx, eax
call fcn.0048ac20
mov dword [ebp - 0x498], eax
xor eax, eax
mov byte [ebp - 0x1de5], al
lea ecx, [ebp - 0x1de5]
call fcn.00447ec0
mov ecx, eax
call fcn.0048ac20
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x48c], eax
cmp dword [ebp - 0x48c], 0
je 0x452eab
xor eax, eax
mov byte [ebp - 0x1df1], al
lea ecx, [ebp - 0x1df1]
call fcn.00447fd0
mov ecx, eax
call fcn.0048ac20
mov dword [ebp - 0x4a4], eax
push 0x44
push 0
lea eax, [ebp - 0x444]
push eax
call fcn.004e1a50
add esp, 0xc
xor eax, eax
mov byte [ebp - 0x1dfd], al
lea ecx, [ebp - 0x1dfd]
call fcn.004480e0
mov ecx, eax
call fcn.0048abc0
mov dword [ebp - 0x4b0], eax
xor eax, eax
mov byte [ebp - 0x1e09], al
lea ecx, [ebp - 0x1e09]
call fcn.004481f0
mov ecx, eax
call fcn.0048abc0
mov dword [ebp - 0x4bc], eax
xor eax, eax
mov byte [ebp - 0x1e15], al
lea ecx, [ebp - 0x1e15]
call fcn.00448300
mov ecx, eax
call fcn.0048abc0
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x4b0], 0
je 0x452f53
xor eax, eax
mov byte [ebp - 0x1e21], al
lea ecx, [ebp - 0x1e21]
call fcn.00448410
mov ecx, eax
call fcn.0048ab60
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x444], 0x44
xor eax, eax
mov byte [ebp - 0x1e2d], al
lea ecx, [ebp - 0x1e2d]
call fcn.00448a70
mov ecx, eax
call fcn.0048ab60
mov dword [ebp - 0x4d4], eax
xor eax, eax
mov byte [ebp - 0x1e39], al
lea ecx, [ebp - 0x1e39]
call fcn.00448b80
mov ecx, eax
call fcn.0048ab00
mov dword [ebp - 0x4e0], eax
xor eax, eax
mov byte [ebp - 0x1e45], al
lea ecx, [ebp - 0x1e45]
call fcn.00448c90
mov ecx, eax
call fcn.0048ab00
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x4d4], eax
cmp dword [ebp - 0x4d4], 0
je 0x452ff2
xor eax, eax
mov byte [ebp - 0x1e51], al
lea ecx, [ebp - 0x1e51]
call fcn.00448da0
mov ecx, eax
call fcn.0048ab00
mov dword [ebp - 0x4ec], eax
xor eax, eax
mov byte [ebp - 0x1e69], al
xor ecx, ecx
mov byte [ebp - 0x1e5d], cl
mov esi, esp
push 0x10
lea ecx, [ebp - 0x1e69]
call fcn.00448fc0
mov ecx, eax
call fcn.0048aaa0
push eax
lea edx, [ebp - 0x480]
push edx
lea ecx, [ebp - 0x1e5d]
call fcn.00448eb0
mov ecx, eax
call fcn.0048cea0
mov eax, dword [eax*4 + 0x8d8ccc]
call eax
add esp, 0xc
cmp esi, esp
call fcn.004def10
nop
xor eax, eax
mov byte [ebp - 0x1e75], al
lea ecx, [ebp - 0x1e75]
call fcn.004490d0
mov ecx, eax
call fcn.0048aa40
mov dword [ebp - 0x4f8], eax
xor eax, eax
mov byte [ebp - 0x1e81], al
lea ecx, [ebp - 0x1e81]
call fcn.004491e0
mov ecx, eax
call fcn.0048aa40
mov dword [ebp - 0x504], eax
xor eax, eax
mov byte [ebp - 0x1e8d], al
lea ecx, [ebp - 0x1e8d]
call fcn.004492f0
mov ecx, eax
call fcn.0048a9e0
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x4f8], eax
cmp dword [ebp - 0x4f8], 0
je 0x4530db
xor eax, eax
mov byte [ebp - 0x1e99], al
lea ecx, [ebp - 0x1e99]
call fcn.00449400
mov ecx, eax
call fcn.0048a9e0
mov dword [ebp - 0x510], eax
xor eax, eax
mov byte [ebp - 0x1ea5], al
lea ecx, [ebp - 0x1ea5]
call fcn.00449a60
mov ecx, eax
call fcn.0048a9e0
mov dword [ebp - 0x51c], eax
xor eax, eax
mov byte [ebp - 0x1eb1], al
lea ecx, [ebp - 0x1eb1]
call fcn.00449b70
mov ecx, eax
call fcn.0048a980
mov dword [ebp - 0x528], eax
xor eax, eax
mov byte [ebp - 0x1ebd], al
lea ecx, [ebp - 0x1ebd]
call fcn.00449c80
mov ecx, eax
call fcn.0048a980
mov dword [ebp - 0x534], eax
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0
je 0x453170
xor eax, eax
mov byte [ebp - 0x1ec9], al
lea ecx, [ebp - 0x1ec9]
call fcn.00449d90
mov ecx, eax
call fcn.0048a920
mov dword [ebp - 0x534], eax
xor eax, eax
mov byte [ebp - 0x1ed5], al
lea ecx, [ebp - 0x480]
push ecx
lea edx, [ebp - 0x444]
push edx
push 0
push 0
push 4
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x1f54]
push eax
lea ecx, [ebp - 0x1ed5]
call fcn.00449ea0
mov ecx, eax
call fcn.0042fa00
push eax
call fcn.00451c60
test eax, eax
je 0x4531c0
mov byte [ebp - 0x2d01], 1
jmp 0x4531c7
mov byte [ebp - 0x2d01], 0
mov cl, byte [ebp - 0x2d01]
mov byte [ebp - 0x53d], cl
movzx eax, byte [ebp - 0x53d]
test eax, eax
jne 0x4531e5
xor al, al
jmp 0x4565ca
xor eax, eax
mov byte [ebp - 0x1f5d], al
lea ecx, [ebp - 0x1f5d]
call fcn.00449f00
mov ecx, eax
call fcn.0048a920
mov dword [ebp - 0x54c], eax
xor eax, eax
mov byte [ebp - 0x1f69], al
lea ecx, [ebp - 0x1f69]
call fcn.0044a010
mov ecx, eax
call fcn.0048a920
mov dword [ebp - 0x558], eax
xor eax, eax
mov byte [ebp - 0x1f75], al
lea ecx, [ebp - 0x1f75]
call fcn.0044a120
mov ecx, eax
call fcn.0048a8c0
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x54c], eax
cmp dword [ebp - 0x54c], 0
je 0x45327a
xor eax, eax
mov byte [ebp - 0x1f81], al
lea ecx, [ebp - 0x1f81]
call fcn.0044a230
mov ecx, eax
call fcn.0048a8c0
mov dword [ebp - 0x564], eax
xor eax, eax
mov byte [ebp - 0x1f8d], al
lea ecx, [ebp - 0x1f8d]
call fcn.0044a340
mov ecx, eax
call fcn.0048a8c0
mov dword [ebp - 0x57c], eax
xor eax, eax
mov byte [ebp - 0x1f99], al
lea ecx, [ebp - 0x1f99]
call fcn.0044a9a0
mov ecx, eax
call fcn.0048a860
mov dword [ebp - 0x588], eax
xor eax, eax
mov byte [ebp - 0x1fa5], al
lea ecx, [ebp - 0x1fa5]
call fcn.0044aab0
mov ecx, eax
call fcn.0048a860
mov dword [ebp - 0x594], eax
mov eax, dword [ebp - 0x588]
mov dword [ebp - 0x57c], eax
cmp dword [ebp - 0x57c], 0
je 0x45330f
xor eax, eax
mov byte [ebp - 0x1fb1], al
lea ecx, [ebp - 0x1fb1]
call fcn.0044abc0
mov ecx, eax
call fcn.0048a800
mov dword [ebp - 0x594], eax
movzx eax, byte [ebp - 0x3a1]
test eax, eax
je 0x453501
mov eax, dword [sym.imp.KERNEL32.dll_GlobalGetAtomNameW]
mov dword [ebp - 0x5d8], eax
mov eax, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], 0x498a5c
mov eax, dword [sym.imp.GDI32.dll_CreatePolygonRgn]
mov dword [ebp - 0x5cc], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [ebp - 0x5c8], eax
mov eax, dword [sym.imp.GDI32.dll_GetEnhMetaFileDescriptionW]
mov dword [ebp - 0x5c4], eax
mov eax, dword [sym.imp.USER32.dll_GetMessageTime]
mov dword [ebp - 0x5c0], eax
mov eax, dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x5bc], eax
mov eax, dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x5b8], eax
mov eax, dword [sym.imp.USER32.dll_GetThreadDesktop]
mov dword [ebp - 0x5b4], eax
mov eax, dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov dword [ebp - 0x5b0], eax
mov eax, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExW]
mov dword [ebp - 0x5ac], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], 0x498a02
mov eax, dword [sym.imp.KERNEL32.dll_CreateEventExW]
mov dword [ebp - 0x5a0], eax
xor eax, eax
mov byte [ebp - 0x1fbd], al
lea ecx, [ebp - 0x1fbd]
call fcn.0044acd0
mov ecx, eax
call fcn.0048a800
mov dword [ebp - 0x5e4], eax
xor eax, eax
mov byte [ebp - 0x1fc9], al
lea ecx, [ebp - 0x1fc9]
call fcn.0044ade0
mov ecx, eax
call fcn.0048a800
mov dword [ebp - 0x5f0], eax
xor eax, eax
mov byte [ebp - 0x1fd5], al
lea ecx, [ebp - 0x1fd5]
call fcn.0044aef0
mov ecx, eax
call fcn.0048a7a0
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x5f0]
mov dword [ebp - 0x5e4], eax
cmp dword [ebp - 0x5e4], 0
je 0x453456
xor eax, eax
mov byte [ebp - 0x1fe1], al
lea ecx, [ebp - 0x1fe1]
call fcn.0044b000
mov ecx, eax
call fcn.0048a7a0
mov dword [ebp - 0x5fc], eax
lea eax, [ebp - 0x570]
push eax
mov ecx, dword [ebp - 0x480]
push ecx
call fcn.00451dd0
add esp, 8
xor eax, eax
mov byte [ebp - 0x1fed], al
lea ecx, [ebp - 0x1fed]
call fcn.0044b110
mov ecx, eax
call fcn.0048a740
mov dword [ebp - 0x608], eax
xor eax, eax
mov byte [ebp - 0x1ff9], al
lea ecx, [ebp - 0x1ff9]
call fcn.0044b220
mov ecx, eax
call fcn.0048a740
mov dword [ebp - 0x614], eax
xor eax, eax
mov byte [ebp - 0x2005], al
lea ecx, [ebp - 0x2005]
call fcn.0044b330
mov ecx, eax
call fcn.0048a740
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x608], eax
cmp dword [ebp - 0x608], 0
je 0x453501
xor eax, eax
mov byte [ebp - 0x2011], al
lea ecx, [ebp - 0x2011]
call fcn.0044b880
mov ecx, eax
call fcn.0048a6e0
mov dword [ebp - 0x620], eax
xor eax, eax
mov byte [ebp - 0x201d], al
lea ecx, [ebp - 0x201d]
call fcn.0044b990
mov ecx, eax
call fcn.0048a6e0
mov dword [ebp - 0x62c], eax
xor eax, eax
mov byte [ebp - 0x2029], al
lea ecx, [ebp - 0x2029]
call fcn.0044baa0
mov ecx, eax
call fcn.0048a6e0
mov dword [ebp - 0x638], eax
xor eax, eax
mov byte [ebp - 0x2035], al
lea ecx, [ebp - 0x2035]
call fcn.0044bbb0
mov ecx, eax
call fcn.0048a680
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x638]
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
je 0x453596
xor eax, eax
mov byte [ebp - 0x2041], al
lea ecx, [ebp - 0x2041]
call fcn.0044bcc0
mov ecx, eax
call fcn.0048a680
mov dword [ebp - 0x644], eax
xor eax, eax
mov byte [ebp - 0x204d], al
lea ecx, [ebp - 0x668]
push ecx
lea ecx, [ebp - 0x204d]
call fcn.0044bdd0
nop
xor eax, eax
mov byte [ebp - 0x2059], al
lea ecx, [ebp - 0x2059]
call fcn.0044be30
mov ecx, eax
call fcn.0048a620
mov dword [ebp - 0x674], eax
xor eax, eax
mov byte [ebp - 0x2065], al
lea ecx, [ebp - 0x2065]
call fcn.0044bf40
mov ecx, eax
call fcn.0048a620
mov dword [ebp - 0x680], eax
xor eax, eax
mov byte [ebp - 0x2071], al
lea ecx, [ebp - 0x2071]
call fcn.0044c050
mov ecx, eax
call fcn.0048a620
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0x674], eax
cmp dword [ebp - 0x674], 0
je 0x453646
xor eax, eax
mov byte [ebp - 0x207d], al
lea ecx, [ebp - 0x207d]
call fcn.0044c160
mov ecx, eax
call fcn.0048a5c0
mov dword [ebp - 0x68c], eax
xor eax, eax
mov byte [ebp - 0x2089], al
lea ecx, [ebp - 0x668]
call fcn.00451740
mov esi, esp
push eax
lea ecx, [ebp - 0x2089]
call fcn.0042fa50
mov ecx, eax
call fcn.0048ce40
mov ecx, dword [eax*4 + 0x8d8cf4]
call ecx
cmp esi, esp
call fcn.004def10
mov dword [ebp - 0x698], eax
cmp dword [ebp - 0x698], 0
jne 0x453694
xor al, al
jmp 0x4565ca
xor eax, eax
mov byte [ebp - 0x2095], al
lea ecx, [ebp - 0x2095]
call fcn.0042fb60
mov ecx, eax
call fcn.0048a560
mov dword [ebp - 0x6a4], eax
xor eax, eax
mov byte [ebp - 0x20a1], al
lea ecx, [ebp - 0x20a1]
call fcn.0042fc70
mov ecx, eax
call fcn.0048a560
mov dword [ebp - 0x6b0], eax
xor eax, eax
mov byte [ebp - 0x20ad], al
lea ecx, [ebp - 0x20ad]
call fcn.0042fd80
mov ecx, eax
call fcn.0048a500
mov dword [ebp - 0x6bc], eax
mov eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x6a4], eax
cmp dword [ebp - 0x6a4], 0
je 0x453729
xor eax, eax
mov byte [ebp - 0x20b9], al
lea ecx, [ebp - 0x20b9]
call fcn.0042fe90
mov ecx, eax
call fcn.0048a500
mov dword [ebp - 0x6bc], eax
lea ecx, [ebp - 0x668]
call fcn.00451860
nop
xor eax, eax
mov byte [ebp - 0x20c5], al
lea ecx, [ebp - 0x20c5]
call fcn.0042ffa0
mov ecx, eax
call fcn.0048a500
mov dword [ebp - 0x6c8], eax
xor eax, eax
mov byte [ebp - 0x20d1], al
lea ecx, [ebp - 0x20d1]
call fcn.004300b0
mov ecx, eax
call fcn.0048a4a0
mov dword [ebp - 0x6d4], eax
xor eax, eax
mov byte [ebp - 0x20dd], al
lea ecx, [ebp - 0x20dd]
call fcn.004301c0
mov ecx, eax
call fcn.0048a4a0
mov dword [ebp - 0x6e0], eax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6c8], eax
cmp dword [ebp - 0x6c8], 0
je 0x4537ca
xor eax, eax
mov byte [ebp - 0x20e9], al
lea ecx, [ebp - 0x20e9]
call fcn.004302d0
mov ecx, eax
call fcn.0048a440
mov dword [ebp - 0x6e0], eax
lea ecx, [ebp - 0x668]
call fcn.004512d0
nop
xor eax, eax
mov byte [ebp - 0x20f5], al
lea ecx, [ebp - 0x6fc]
push ecx
lea ecx, [ebp - 0x20f5]
call fcn.004303e0
nop
xor eax, eax
mov byte [ebp - 0x2101], al
lea ecx, [ebp - 0x6fc]
call fcn.00451680
mov esi, esp
push eax
mov ecx, dword [ebp - 0x698]
push ecx
lea ecx, [ebp - 0x2101]
call fcn.004308a0
mov ecx, eax
call fcn.0048cde0
mov edx, dword [eax*4 + 0x8d8d1c]
call edx
cmp esi, esp
call fcn.004def10
mov dword [ebp - 0x708], eax
xor eax, eax
mov byte [ebp - 0x210d], al
lea ecx, [ebp - 0x210d]
call fcn.004309b0
mov ecx, eax
call fcn.0048a3e0
mov dword [ebp - 0x714], eax
xor eax, eax
mov byte [ebp - 0x2119], al
lea ecx, [ebp - 0x2119]
call fcn.00430ac0
mov ecx, eax
call fcn.0048a3e0
mov dword [ebp - 0x720], eax
xor eax, eax
mov byte [ebp - 0x2125], al
lea ecx, [ebp - 0x2125]
call fcn.00430bd0
mov ecx, eax
call fcn.0048a3e0
mov dword [ebp - 0x72c], eax
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x714], eax
cmp dword [ebp - 0x714], 0
je 0x4538cb
xor eax, eax
mov byte [ebp - 0x2131], al
lea ecx, [ebp - 0x2131]
call fcn.00430ce0
mov ecx, eax
call fcn.0048a380
mov dword [ebp - 0x72c], eax
lea ecx, [ebp - 0x6fc]
call fcn.00451800
nop
xor eax, eax
mov byte [ebp - 0x213d], al
lea ecx, [ebp - 0x213d]
call fcn.00430df0
mov ecx, eax
call fcn.0048a380
mov dword [ebp - 0x738], eax
xor eax, eax
mov byte [ebp - 0x2149], al
lea ecx, [ebp - 0x2149]
call fcn.00430f00
mov ecx, eax
call fcn.0048a320
mov dword [ebp - 0x744], eax
xor eax, eax
mov byte [ebp - 0x2155], al
lea ecx, [ebp - 0x2155]
call fcn.00431010
mov ecx, eax
call fcn.0048a320
mov dword [ebp - 0x750], eax
mov eax, dword [ebp - 0x744]
mov dword [ebp - 0x738], eax
cmp dword [ebp - 0x738], 0
je 0x45396c
xor eax, eax
mov byte [ebp - 0x2161], al
lea ecx, [ebp - 0x2161]
call fcn.00431120
mov ecx, eax
call fcn.0048a320
mov dword [ebp - 0x750], eax
lea ecx, [ebp - 0x6fc]
call fcn.004511f0
nop
xor eax, eax
mov byte [ebp - 0x216d], al
lea ecx, [ebp - 0x216d]
call fcn.00431230
mov ecx, eax
call fcn.0048a2c0
mov dword [ebp - 0x75c], eax
xor eax, eax
mov byte [ebp - 0x2179], al
lea ecx, [ebp - 0x2179]
call fcn.00431780
mov ecx, eax
call fcn.0048a2c0
mov dword [ebp - 0x768], eax
xor eax, eax
mov byte [ebp - 0x2185], al
lea ecx, [ebp - 0x2185]
call fcn.00431890
mov ecx, eax
call fcn.0048a260
mov dword [ebp - 0x774], eax
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x75c], eax
cmp dword [ebp - 0x75c], 0
je 0x453a0d
xor eax, eax
mov byte [ebp - 0x2191], al
lea ecx, [ebp - 0x2191]
call fcn.004319a0
mov ecx, eax
call fcn.0048a260
mov dword [ebp - 0x774], eax
push 0x40
push 0x3000
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 0x34]
push eax
mov ecx, dword [ebp - 0x480]
push ecx
call fcn.00451f90
mov dword [ebp - 0x780], eax
xor eax, eax
mov byte [ebp - 0x219d], al
lea ecx, [ebp - 0x219d]
call fcn.00431ab0
mov ecx, eax
call fcn.0048a260
mov dword [ebp - 0x78c], eax
xor eax, eax
mov byte [ebp - 0x21a9], al
lea ecx, [ebp - 0x21a9]
call fcn.00431bc0
mov ecx, eax
call fcn.0048a200
mov dword [ebp - 0x798], eax
xor eax, eax
mov byte [ebp - 0x21b5], al
lea ecx, [ebp - 0x21b5]
call fcn.00431cd0
mov ecx, eax
call fcn.0048a200
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 0
je 0x453ac9
xor eax, eax
mov byte [ebp - 0x21c1], al
lea ecx, [ebp - 0x21c1]
call fcn.00431de0
mov ecx, eax
call fcn.0048a200
mov dword [ebp - 0x7a4], eax
cmp dword [ebp - 0x780], 0
jne 0x453cbd
xor eax, eax
mov byte [ebp - 0x21cd], al
lea ecx, [ebp - 0x21cd]
call fcn.00431ef0
mov ecx, eax
call fcn.0048a1a0
mov dword [ebp - 0x7b0], eax
xor eax, eax
mov byte [ebp - 0x21d9], al
lea ecx, [ebp - 0x21d9]
call fcn.00432000
mov ecx, eax
call fcn.0048a1a0
mov dword [ebp - 0x7bc], eax
xor eax, eax
mov byte [ebp - 0x21e5], al
lea ecx, [ebp - 0x21e5]
call fcn.00432110
mov ecx, eax
call fcn.0048a140
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x7b0], eax
cmp dword [ebp - 0x7b0], 0
je 0x453b6b
xor eax, eax
mov byte [ebp - 0x21f1], al
lea ecx, [ebp - 0x21f1]
call fcn.00432660
mov ecx, eax
call fcn.0048a140
mov dword [ebp - 0x7c8], eax
push 0
mov eax, dword [ebp - 0x480]
push eax
call fcn.00451f20
nop
xor eax, eax
mov byte [ebp - 0x21fd], al
lea ecx, [ebp - 0x21fd]
call fcn.00432770
mov ecx, eax
call fcn.0048a140
mov dword [ebp - 0x7d4], eax
xor eax, eax
mov byte [ebp - 0x2209], al
lea ecx, [ebp - 0x2209]
call fcn.00432880
mov ecx, eax
call fcn.0048a0e0
mov dword [ebp - 0x7e0], eax
xor eax, eax
mov byte [ebp - 0x2215], al
lea ecx, [ebp - 0x2215]
call fcn.00432990
mov ecx, eax
call fcn.0048a0e0
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7d4], eax
cmp dword [ebp - 0x7d4], 0
je 0x453c0f
xor eax, eax
mov byte [ebp - 0x2221], al
lea ecx, [ebp - 0x2221]
call fcn.00432aa0
mov ecx, eax
call fcn.0048a0e0
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebp - 0x698]
push eax
call fcn.00451cf0
nop
xor eax, eax
mov byte [ebp - 0x222d], al
lea ecx, [ebp - 0x222d]
call fcn.00432bb0
mov ecx, eax
call fcn.0048a080
mov dword [ebp - 0x7f8], eax
xor eax, eax
mov byte [ebp - 0x2239], al
lea ecx, [ebp - 0x2239]
call fcn.00432cc0
mov ecx, eax
call fcn.0048a080
mov dword [ebp - 0x804], eax
xor eax, eax
mov byte [ebp - 0x2245], al
lea ecx, [ebp - 0x2245]
call fcn.00432dd0
mov ecx, eax
call fcn.0048a020
mov dword [ebp - 0x810], eax
mov eax, dword [ebp - 0x804]
mov dword [ebp - 0x7f8], eax
cmp dword [ebp - 0x7f8], 0
je 0x453cb1
xor eax, eax
mov byte [ebp - 0x2251], al
lea ecx, [ebp - 0x2251]
call fcn.00432ee0
mov ecx, eax
call fcn.0048a020
mov dword [ebp - 0x810], eax
mov eax, dword [ebp + 8]
push eax
call fcn.004525e0
add esp, 4
xor eax, eax
mov byte [ebp - 0x225d], al
lea ecx, [ebp - 0x225d]
call fcn.00432ff0
mov ecx, eax
call fcn.0048a020
mov dword [ebp - 0x81c], eax
xor eax, eax
mov byte [ebp - 0x2269], al
lea ecx, [ebp - 0x2269]
call fcn.00433540
mov ecx, eax
call fcn.00489fc0
mov dword [ebp - 0x828], eax
xor eax, eax
mov byte [ebp - 0x2275], al
lea ecx, [ebp - 0x2275]
call fcn.00433650
mov ecx, eax
call fcn.00489fc0
mov dword [ebp - 0x834], eax
mov eax, dword [ebp - 0x828]
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
je 0x453d52
xor eax, eax
mov byte [ebp - 0x2281], al
lea ecx, [ebp - 0x2281]
call fcn.00433760
mov ecx, eax
call fcn.00489f60
mov dword [ebp - 0x834], eax
mov eax, dword [ebp - 0x780]
cdq
mov ecx, dword [ebp - 0x60]
sub eax, dword [ecx + 0x34]
mov dword [ebp - 0x840], eax
xor eax, eax
mov byte [ebp - 0x228d], al
lea ecx, [ebp - 0x228d]
call fcn.00433870
mov ecx, eax
call fcn.00489f60
mov dword [ebp - 0x84c], eax
xor eax, eax
mov byte [ebp - 0x2299], al
lea ecx, [ebp - 0x2299]
call fcn.00433980
mov ecx, eax
call fcn.00489f60
mov dword [ebp - 0x858], eax
xor eax, eax
mov byte [ebp - 0x22a5], al
lea ecx, [ebp - 0x22a5]
call fcn.00433a90
mov ecx, eax
call fcn.00489f00
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x858]
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
je 0x453dfa
xor eax, eax
mov byte [ebp - 0x22b1], al
lea ecx, [ebp - 0x22b1]
call fcn.00433ba0
mov ecx, eax
call fcn.00489f00
mov dword [ebp - 0x864], eax
mov byte [ebp - 0x86d], 0
xor eax, eax
mov byte [ebp - 0x22bd], al
lea ecx, [ebp - 0x22bd]
call fcn.00433cb0
mov ecx, eax
call fcn.00489f00
mov dword [ebp - 0x87c], eax
xor eax, eax
mov byte [ebp - 0x22c9], al
lea ecx, [ebp - 0x22c9]
call fcn.00433dc0
mov ecx, eax
call fcn.00489ea0
mov dword [ebp - 0x888], eax
xor eax, eax
mov byte [ebp - 0x22d5], al
lea ecx, [ebp - 0x22d5]
call fcn.00433ed0
mov ecx, eax
call fcn.00489ea0
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x888]
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
je 0x453e96
xor eax, eax
mov byte [ebp - 0x22e1], al
lea ecx, [ebp - 0x22e1]
call fcn.00434420
mov ecx, eax
call fcn.00489e40
mov dword [ebp - 0x894], eax
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [ebp - 0x8d8], eax
mov eax, dword [sym.imp.USER32.dll_EqualRect]
mov dword [ebp - 0x8d4], eax
mov eax, dword [sym.imp.ADVAPI32.dll_FreeEncryptionCertificateHashList]
mov dword [ebp - 0x8d0], eax
mov eax, dword [sym.imp.KERNEL32.dll_WinExec]
mov dword [ebp - 0x8cc], eax
mov dword [ebp - 0x8c8], 0x400000
mov eax, dword [sym.imp.USER32.dll_DrawCaption]
mov dword [ebp - 0x8c4], eax
mov eax, dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x8c0], eax
mov eax, dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
mov dword [ebp - 0x8bc], eax
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x8b8], eax
mov eax, dword [sym.imp.USER32.dll_ExitWindowsEx]
mov dword [ebp - 0x8b4], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x8ac], 0x4989ea
mov dword [ebp - 0x8a8], 0x4989fc
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSectionWhenCallbackReturns]
mov dword [ebp - 0x8a4], eax
mov eax, dword [sym.imp.GDI32.dll_SetPixel]
mov dword [ebp - 0x8a0], eax
xor eax, eax
mov byte [ebp - 0x22ed], al
lea ecx, [ebp - 0x22ed]
call fcn.00434530
mov ecx, eax
call fcn.00489e40
mov dword [ebp - 0x8e4], eax
xor eax, eax
mov byte [ebp - 0x22f9], al
lea ecx, [ebp - 0x22f9]
call fcn.00434640
mov ecx, eax
call fcn.00489e40
mov dword [ebp - 0x8f0], eax
xor eax, eax
mov byte [ebp - 0x2305], al
lea ecx, [ebp - 0x2305]
call fcn.00434750
mov ecx, eax
call fcn.00489de0
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x8e4], eax
cmp dword [ebp - 0x8e4], 0
je 0x453fcd
xor eax, eax
mov byte [ebp - 0x2311], al
lea ecx, [ebp - 0x2311]
call fcn.00434860
mov ecx, eax
call fcn.00489de0
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x780]
mov dword [eax + 0x34], ecx
xor eax, eax
mov byte [ebp - 0x231d], al
lea ecx, [ebp - 0x231d]
call fcn.00434970
mov ecx, eax
call fcn.00489d80
mov dword [ebp - 0x908], eax
xor eax, eax
mov byte [ebp - 0x2329], al
lea ecx, [ebp - 0x2329]
call fcn.00434a80
mov ecx, eax
call fcn.00489d80
mov dword [ebp - 0x914], eax
xor eax, eax
mov byte [ebp - 0x2335], al
lea ecx, [ebp - 0x2335]
call fcn.00434b90
mov ecx, eax
call fcn.00489d80
mov dword [ebp - 0x920], eax
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x908], eax
cmp dword [ebp - 0x908], 0
je 0x45406e
xor eax, eax
mov byte [ebp - 0x2341], al
lea ecx, [ebp - 0x2341]
call fcn.00434ca0
mov ecx, eax
call fcn.00489d20
mov dword [ebp - 0x920], eax
mov esi, esp
push 0
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp - 0x3d4]
push edx
mov eax, dword [ebp - 0x780]
push eax
mov ecx, dword [ebp - 0x480]
push ecx
call dword [ebp - 0x708]
cmp esi, esp
call fcn.004def10
test eax, eax
je 0x4540a8
mov byte [ebp - 0x2d01], 1
jmp 0x4540af
mov byte [ebp - 0x2d01], 0
mov dl, byte [ebp - 0x2d01]
mov byte [ebp - 0x86d], dl
xor eax, eax
mov byte [ebp - 0x234d], al
lea ecx, [ebp - 0x234d]
call fcn.00434db0
mov ecx, eax
call fcn.00489d20
mov dword [ebp - 0x92c], eax
xor eax, eax
mov byte [ebp - 0x2359], al
lea ecx, [ebp - 0x2359]
call fcn.00435300
mov ecx, eax
call fcn.00489d20
mov dword [ebp - 0x938], eax
xor eax, eax
mov byte [ebp - 0x2365], al
lea ecx, [ebp - 0x2365]
call fcn.00435410
mov ecx, eax
call fcn.00489cc0
mov dword [ebp - 0x944], eax
mov eax, dword [ebp - 0x938]
mov dword [ebp - 0x92c], eax
cmp dword [ebp - 0x92c], 0
je 0x454150
xor eax, eax
mov byte [ebp - 0x2371], al
lea ecx, [ebp - 0x2371]
call fcn.00435520
mov ecx, eax
call fcn.00489cc0
mov dword [ebp - 0x944], eax
xor eax, eax
mov byte [ebp - 0x237d], al
lea ecx, [ebp - 0x237d]
call fcn.00435630
mov ecx, eax
call fcn.00489c60
mov dword [ebp - 0x950], eax
xor eax, eax
mov byte [ebp - 0x2389], al
lea ecx, [ebp - 0x2389]
call fcn.00435740
mov ecx, eax
call fcn.00489c60
mov dword [ebp - 0x95c], eax
xor eax, eax
mov byte [ebp - 0x2395], al
lea ecx, [ebp - 0x2395]
call fcn.00435850
mov ecx, eax
call fcn.00489c60
mov dword [ebp - 0x968], eax
mov eax, dword [ebp - 0x95c]
mov dword [ebp - 0x950], eax
cmp dword [ebp - 0x950], 0
je 0x4541e5
xor eax, eax
mov byte [ebp - 0x23a1], al
lea ecx, [ebp - 0x23a1]
call fcn.00435960
mov ecx, eax
call fcn.00489c00
mov dword [ebp - 0x968], eax
movzx eax, byte [ebp - 0x86d]
test eax, eax
jne 0x4541f7
xor al, al
jmp 0x4565ca
xor eax, eax
mov byte [ebp - 0x23ad], al
lea ecx, [ebp - 0x23ad]
call fcn.00435a70
mov ecx, eax
call fcn.00489c00
mov dword [ebp - 0x974], eax
xor eax, eax
mov byte [ebp - 0x23b9], al
lea ecx, [ebp - 0x23b9]
call fcn.00435b80
mov ecx, eax
call fcn.00489c00
mov dword [ebp - 0x980], eax
xor eax, eax
mov byte [ebp - 0x23c5], al
lea ecx, [ebp - 0x23c5]
call fcn.00435c90
mov ecx, eax
call fcn.00489ba0
mov dword [ebp - 0x98c], eax
mov eax, dword [ebp - 0x980]
mov dword [ebp - 0x974], eax
cmp dword [ebp - 0x974], 0
je 0x45428c
xor eax, eax
mov byte [ebp - 0x23d1], al
lea ecx, [ebp - 0x23d1]
call fcn.004360d0
mov ecx, eax
call fcn.00489ba0
mov dword [ebp - 0x98c], eax
xor eax, eax
mov byte [ebp - 0x23dd], al
lea ecx, [ebp - 0x23dd]
call fcn.004361e0
mov ecx, eax
call fcn.00489b40
mov dword [ebp - 0x9a8], eax
xor eax, eax
mov byte [ebp - 0x23e9], al
lea ecx, [ebp - 0x23e9]
call fcn.004362f0
mov ecx, eax
call fcn.00489b40
mov dword [ebp - 0x9b4], eax
xor eax, eax
mov byte [ebp - 0x23f5], al
lea ecx, [ebp - 0x23f5]
call fcn.00436400
mov ecx, eax
call fcn.00489b40
mov dword [ebp - 0x9c0], eax
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x9a8], eax
cmp dword [ebp - 0x9a8], 0
je 0x454321
xor eax, eax
mov byte [ebp - 0x2401], al
lea ecx, [ebp - 0x2401]
call fcn.00436510
mov ecx, eax
call fcn.00489ae0
mov dword [ebp - 0x9c0], eax
mov dword [ebp - 0x9cc], 0
xor eax, eax
mov byte [ebp - 0x240d], al
lea ecx, [ebp - 0x240d]
call fcn.00436620
mov ecx, eax
call fcn.00489ae0
mov dword [ebp - 0x9d8], eax
xor eax, eax
mov byte [ebp - 0x2419], al
lea ecx, [ebp - 0x2419]
call fcn.00436730
mov ecx, eax
call fcn.00489a80
mov dword [ebp - 0x9e4], eax
xor eax, eax
mov byte [ebp - 0x2425], al
lea ecx, [ebp - 0x2425]
call fcn.00436840
mov ecx, eax
call fcn.00489a80
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d8], eax
cmp dword [ebp - 0x9d8], 0
je 0x4543c0
xor eax, eax
mov byte [ebp - 0x2431], al
lea ecx, [ebp - 0x2431]
call fcn.00436950
mov ecx, eax
call fcn.00489a80
mov dword [ebp - 0x9f0], eax
mov eax, 8
imul ecx, eax, 5
mov edx, dword [ebp - 0x60]
cmp dword [edx + ecx + 0x78], 0
je 0x4543f3
mov eax, 8
imul ecx, eax, 5
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + ecx + 0x78]
mov ecx, dword [edx + ecx + 0x7c]
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], ecx
jmp 0x45441f
mov dword [ebp - 0x2444], 0
mov dword [ebp - 0x2440], 0
mov eax, dword [ebp - 0x2444]
mov ecx, dword [ebp - 0x2440]
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], ecx
xor eax, eax
mov byte [ebp - 0x244d], al
lea ecx, [ebp - 0x244d]
call fcn.00436a60
mov ecx, eax
call fcn.00489a20
mov dword [ebp - 0x9fc], eax
xor eax, eax
mov byte [ebp - 0x2459], al
lea ecx, [ebp - 0x2459]
call fcn.00436ea0
mov ecx, eax
call fcn.00489a20
mov dword [ebp - 0xa08], eax
xor eax, eax
mov byte [ebp - 0x2465], al
lea ecx, [ebp - 0x2465]
call fcn.00436fb0
mov ecx, eax
call fcn.00489a20
mov dword [ebp - 0xa14], eax
mov eax, dword [ebp - 0xa08]
mov dword [ebp - 0x9fc], eax
cmp dword [ebp - 0x9fc], 0
je 0x4544b4
xor eax, eax
mov byte [ebp - 0x2471], al
lea ecx, [ebp - 0x2471]
call fcn.004370c0
mov ecx, eax
call fcn.004899c0
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa20], 0
xor eax, eax
mov byte [ebp - 0x247d], al
lea ecx, [ebp - 0x247d]
call fcn.004371d0
mov ecx, eax
call fcn.004899c0
mov dword [ebp - 0xa2c], eax
xor eax, eax
mov byte [ebp - 0x2489], al
lea ecx, [ebp - 0x2489]
call fcn.004372e0
mov ecx, eax
call fcn.00489960
mov dword [ebp - 0xa38], eax
xor eax, eax
mov byte [ebp - 0x2495], al
lea ecx, [ebp - 0x2495]
call fcn.004373f0
mov ecx, eax
call fcn.00489960
mov dword [ebp - 0xa44], eax
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0xa2c], eax
cmp dword [ebp - 0xa2c], 0
je 0x454553
xor eax, eax
mov byte [ebp - 0x24a1], al
lea ecx, [ebp - 0x24a1]
call fcn.00437500
mov ecx, eax
call fcn.00489960
mov dword [ebp - 0xa44], eax
mov byte [ebp - 0xa4d], 0
xor eax, eax
mov byte [ebp - 0x24ad], al
lea ecx, [ebp - 0x24ad]
call fcn.00437610
mov ecx, eax
call fcn.00489900
mov dword [ebp - 0xa5c], eax
xor eax, eax
mov byte [ebp - 0x24b9], al
lea ecx, [ebp - 0x24b9]
call fcn.00437720
mov ecx, eax
call fcn.00489900
mov dword [ebp - 0xa68], eax
xor eax, eax
mov byte [ebp - 0x24c5], al
lea ecx, [ebp - 0x24c5]
call fcn.00437830
mov ecx, eax
call fcn.00489900
mov dword [ebp - 0xa74], eax
mov eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa5c], eax
cmp dword [ebp - 0xa5c], 0
je 0x4545ef
xor eax, eax
mov byte [ebp - 0x24d1], al
lea ecx, [ebp - 0x24d1]
call fcn.00437c70
mov ecx, eax
call fcn.004898a0
mov dword [ebp - 0xa74], eax
movzx eax, byte [ebp - 0x3a1]
test eax, eax
je 0x4549f7
xor eax, eax
mov byte [ebp - 0x24dd], al
lea ecx, [ebp - 0x24dd]
call fcn.00437d80
mov ecx, eax
call fcn.004898a0
mov dword [ebp - 0xa80], eax
xor eax, eax
mov byte [ebp - 0x24e9], al
lea ecx, [ebp - 0x24e9]
call fcn.00437e90
mov ecx, eax
call fcn.00489840
mov dword [ebp - 0xa8c], eax
xor eax, eax
mov byte [ebp - 0x24f5], al
lea ecx, [ebp - 0x24f5]
call fcn.00437fa0
mov ecx, eax
call fcn.00489840
mov dword [ebp - 0xa98], eax
mov eax, dword [ebp - 0xa8c]
mov dword [ebp - 0xa80], eax
cmp dword [ebp - 0xa80], 0
je 0x454693
xor eax, eax
mov byte [ebp - 0x2501], al
lea ecx, [ebp - 0x2501]
call fcn.004380b0
mov ecx, eax
call fcn.00489840
mov dword [ebp - 0xa98], eax
mov dword [ebp - 0xaa4], 0
jmp 0x4546ae
mov eax, dword [ebp - 0xaa4]
add eax, 1
mov dword [ebp - 0xaa4], eax
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 6]
cmp dword [ebp - 0xaa4], ecx
jge 0x4549e2
xor eax, eax
mov byte [ebp - 0x250d], al
lea ecx, [ebp - 0x250d]
call fcn.004381c0
mov ecx, eax
call fcn.004897e0
mov dword [ebp - 0xab0], eax
xor eax, eax
mov byte [ebp - 0x2519], al
lea ecx, [ebp - 0x2519]
call fcn.004382d0
mov ecx, eax
call fcn.004897e0
mov dword [ebp - 0xabc], eax
xor eax, eax
mov byte [ebp - 0x2525], al
lea ecx, [ebp - 0x2525]
call fcn.004383e0
mov ecx, eax
call fcn.00489780
mov dword [ebp - 0xac8], eax
mov eax, dword [ebp - 0xabc]
mov dword [ebp - 0xab0], eax
cmp dword [ebp - 0xab0], 0
je 0x454756
xor eax, eax
mov byte [ebp - 0x2531], al
lea ecx, [ebp - 0x2531]
call fcn.004384f0
mov ecx, eax
call fcn.00489780
mov dword [ebp - 0xac8], eax
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x14]
mov edx, dword [ebp - 0x60]
lea eax, [edx + ecx + 0x18]
imul ecx, dword [ebp - 0xaa4], 0x28
add eax, ecx
mov dword [ebp - 0xad4], eax
xor eax, eax
mov byte [ebp - 0x253d], al
lea ecx, [ebp - 0x253d]
call fcn.00438600
mov ecx, eax
call fcn.00489780
mov dword [ebp - 0xae0], eax
xor eax, eax
mov byte [ebp - 0x2549], al
lea ecx, [ebp - 0x2549]
call fcn.00438f90
mov ecx, eax
call fcn.00489720
mov dword [ebp - 0xaec], eax
xor eax, eax
mov byte [ebp - 0x2555], al
lea ecx, [ebp - 0x2555]
call fcn.004390a0
mov ecx, eax
call fcn.00489720
mov dword [ebp - 0xaf8], eax
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0xae0], eax
cmp dword [ebp - 0xae0], 0
je 0x454808
xor eax, eax
mov byte [ebp - 0x2561], al
lea ecx, [ebp - 0x2561]
call fcn.004391b0
mov ecx, eax
call fcn.00489720
mov dword [ebp - 0xaf8], eax
mov eax, dword [ebp - 0xad4]
mov ecx, dword [ebp - 0x99c]
cmp ecx, dword [eax + 0xc]
jb 0x45483f
mov eax, dword [ebp - 0xad4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xad4]
add ecx, dword [edx + 8]
cmp dword [ebp - 0x99c], ecx
jae 0x45483f
mov eax, dword [ebp - 0xad4]
mov dword [ebp - 0x9cc], eax
xor eax, eax
mov byte [ebp - 0x256d], al
lea ecx, [ebp - 0x256d]
call fcn.004392c0
mov ecx, eax
call fcn.004896c0
mov dword [ebp - 0xb04], eax
xor eax, eax
mov byte [ebp - 0x2579], al
lea ecx, [ebp - 0x2579]
call fcn.004393d0
mov ecx, eax
call fcn.004896c0
mov dword [ebp - 0xb10], eax
xor eax, eax
mov byte [ebp - 0x2585], al
lea ecx, [ebp - 0x2585]
call fcn.004394e0
mov ecx, eax
call fcn.0048be80
mov dword [ebp - 0xb1c], eax
mov eax, dword [ebp - 0xb10]
mov dword [ebp - 0xb04], eax
cmp dword [ebp - 0xb04], 0
je 0x4548d4
xor eax, eax
mov byte [ebp - 0x2591], al
lea ecx, [ebp - 0x2591]
call fcn.004395f0
mov ecx, eax
call fcn.0048be80
mov dword [ebp - 0xb1c], eax
mov esi, esp
push 0
mov eax, dword [ebp - 0xad4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0x3d4]
add eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xad4]
mov edx, dword [ebp - 0x780]
add edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x480]
push eax
call dword [ebp - 0x708]
cmp esi, esp
call fcn.004def10
test eax, eax
je 0x454923
mov byte [ebp - 0x2d01], 1
jmp 0x45492a
mov byte [ebp - 0x2d01], 0
mov cl, byte [ebp - 0x2d01]
mov byte [ebp - 0xb25], cl
xor eax, eax
mov byte [ebp - 0x259d], al
lea ecx, [ebp - 0x259d]
call fcn.00439700
mov ecx, eax
call fcn.0048be80
mov dword [ebp - 0xb34], eax
xor eax, eax
mov byte [ebp - 0x25a9], al
lea ecx, [ebp - 0x25a9]
call fcn.00439810
mov ecx, eax
call fcn.0048be20
mov dword [ebp - 0xb40], eax
xor eax, eax
mov byte [ebp - 0x25b5], al
lea ecx, [ebp - 0x25b5]
call fcn.00439920
mov ecx, eax
call fcn.0048be20
mov dword [ebp - 0xb4c], eax
mov eax, dword [ebp - 0xb40]
mov dword [ebp - 0xb34], eax
cmp dword [ebp - 0xb34], 0
je 0x4549cb
xor eax, eax
mov byte [ebp - 0x25c1], al
lea ecx, [ebp - 0x25c1]
call fcn.00439c50
mov ecx, eax
call fcn.0048bdc0
mov dword [ebp - 0xb4c], eax
movzx eax, byte [ebp - 0xb25]
test eax, eax
jne 0x4549dd
xor al, al
jmp 0x4565ca
jmp 0x45469f
cmp dword [ebp - 0x9cc], 0
jne 0x4549f2
xor al, al
jmp 0x4565ca
jmp 0x454d9d
mov dword [ebp - 0xb58], 0
jmp 0x454a12
mov eax, dword [ebp - 0xb58]
add eax, 1
mov dword [ebp - 0xb58], eax
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 6]
cmp dword [ebp - 0xb58], ecx
jge 0x454d9d
xor eax, eax
mov byte [ebp - 0x25cd], al
lea ecx, [ebp - 0x25cd]
call fcn.00439d60
mov ecx, eax
call fcn.0048bdc0
mov dword [ebp - 0xb64], eax
xor eax, eax
mov byte [ebp - 0x25d9], al
lea ecx, [ebp - 0x25d9]
call fcn.00439e70
mov ecx, eax
call fcn.0048bdc0
mov dword [ebp - 0xb70], eax
xor eax, eax
mov byte [ebp - 0x25e5], al
lea ecx, [ebp - 0x25e5]
call fcn.00439f80
mov ecx, eax
call fcn.0048bd60
mov dword [ebp - 0xb7c], eax
mov eax, dword [ebp - 0xb70]
mov dword [ebp - 0xb64], eax
cmp dword [ebp - 0xb64], 0
je 0x454aba
xor eax, eax
mov byte [ebp - 0x25f1], al
lea ecx, [ebp - 0x25f1]
call fcn.0043a090
mov ecx, eax
call fcn.0048bd60
mov dword [ebp - 0xb7c], eax
mov eax, dword [ebp - 0x60]
movzx ecx, word [eax + 0x14]
mov edx, dword [ebp - 0x60]
lea eax, [edx + ecx + 0x18]
imul ecx, dword [ebp - 0xb58], 0x28
add eax, ecx
mov dword [ebp - 0xa20], eax
mov eax, dword [sym.imp.GDI32.dll_CopyMetaFileW]
mov dword [ebp - 0xbb8], eax
mov eax, dword [sym.imp.KERNEL32.dll_BackupSeek]
mov dword [ebp - 0xbb4], eax
mov eax, dword [sym.imp.KERNEL32.dll_ConvertFiberToThread]
mov dword [ebp - 0xbb0], eax
mov eax, dword [sym.imp.GDI32.dll_WidenPath]
mov dword [ebp - 0xbac], eax
mov eax, dword [sym.imp.WINSPOOL.DRV_DeviceCapabilitiesW]
mov dword [ebp - 0xba8], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
mov dword [ebp - 0xba4], eax
mov eax, dword [sym.imp.USER32.dll_OffsetRect]
mov dword [ebp - 0xba0], eax
mov eax, dword [sym.imp.USER32.dll_GetKeyboardType]
mov dword [ebp - 0xb9c], eax
mov eax, dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [ebp - 0xb98], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindVolumeMountPointClose]
mov dword [ebp - 0xb94], eax
mov eax, dword [sym.imp.KERNEL32.dll_CancelIoEx]
mov dword [ebp - 0xb90], eax
mov dword [ebp - 0xb8c], 0x4989f0
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov dword [ebp - 0xb88], eax
xor eax, eax
mov byte [ebp - 0x25fd], al
lea ecx, [ebp - 0x25fd]
call fcn.0043a1a0
mov ecx, eax
call fcn.0048bd60
mov dword [ebp - 0xbc4], eax
xor eax, eax
mov byte [ebp - 0x2609], al
lea ecx, [ebp - 0x2609]
call fcn.0043a2b0
mov ecx, eax
call fcn.0048bd00
mov dword [ebp - 0xbd0], eax
xor eax, eax
mov byte [ebp - 0x2615], al
lea ecx, [ebp - 0x2615]
call fcn.0043a3c0
mov ecx, eax
call fcn.0048bd00
mov dword [ebp - 0xbdc], eax
mov eax, dword [ebp - 0xbd0]
mov dword [ebp - 0xbc4], eax
cmp dword [ebp - 0xbc4], 0
je 0x454bfa
xor eax, eax
mov byte [ebp - 0x2621], al
lea ecx, [ebp - 0x2621]
call fcn.0043a4d0
mov ecx, eax
call fcn.00489660
mov dword [ebp - 0xbdc], eax
mov esi, esp
push 0
mov eax, dword [ebp - 0xa20]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0xa20]
mov eax, dword [ebp - 0x3d4]
add eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xa20]
mov edx, dword [ebp - 0x780]
add edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x480]
push eax
call dword [ebp - 0x708]
cmp esi, esp
call fcn.004def10
test eax, eax
je 0x454c49
mov byte [ebp - 0x2d01], 1
jmp 0x454c50
mov byte [ebp - 0x2d01], 0
mov cl, byte [ebp - 0x2d01]
mov byte [ebp - 0xa4d], cl
xor eax, eax
mov byte [ebp - 0x262d], al
lea ecx, [ebp - 0x262d]
call fcn.0043a5e0
mov ecx, eax
call fcn.00489660
mov dword [ebp - 0xbe8], eax
xor eax, eax
mov byte [ebp - 0x2639], al
lea ecx, [ebp - 0x2639]
call fcn.0043a910
mov ecx, eax
call fcn.00489660
mov dword [ebp - 0xbf4], eax
xor eax, eax
mov byte [ebp - 0x2645], al
lea ecx, [ebp - 0x2645]
call fcn.0043aa20
mov ecx, eax
call fcn.00489600
mov dword [ebp - 0xc00], eax
mov eax, dword [ebp - 0xbf4]
mov dword [ebp - 0xbe8], eax
cmp dword [ebp - 0xbe8], 0
je 0x454cf1
xor eax, eax
mov byte [ebp - 0x2651], al
lea ecx, [ebp - 0x2651]
call fcn.0043ab30
mov ecx, eax
call fcn.00489600
mov dword [ebp - 0xc00], eax
movzx eax, byte [ebp - 0xa4d]
test eax, eax
jne 0x454d03
xor al, al
jmp 0x4565ca
xor eax, eax
mov byte [ebp - 0x265d], al
lea ecx, [ebp - 0x265d]
call fcn.0043ac40
mov ecx, eax
call fcn.00489600
mov dword [ebp - 0xc0c], eax
xor eax, eax
mov byte [ebp - 0x2669], al
lea ecx, [ebp - 0x2669]
call fcn.0043ad50
mov ecx, eax
call fcn.004895a0
mov dword [ebp - 0xc18], eax
xor eax, eax
mov byte [ebp - 0x2675], al
lea ecx, [ebp - 0x2675]
call fcn.0043ae60
mov ecx, eax
call fcn.004895a0
mov dword [ebp - 0xc24], eax
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0xc0c], eax
cmp dword [ebp - 0xc0c], 0
je 0x454d98
xor eax, eax
mov byte [ebp - 0x2681], al
lea ecx, [ebp - 0x2681]
call fcn.0043af70
mov ecx, eax
call fcn.00489540
mov dword [ebp - 0xc24], eax
jmp 0x454a03
xor eax, eax
mov byte [ebp - 0x268d], al
lea ecx, [ebp - 0x268d]
call fcn.0043b080
mov ecx, eax
call fcn.00489540
mov dword [ebp - 0xc30], eax
xor eax, eax
mov byte [ebp - 0x2699], al
lea ecx, [ebp - 0x2699]
call fcn.0043b190
mov ecx, eax
call fcn.00489540
mov dword [ebp - 0xc3c], eax
xor eax, eax
mov byte [ebp - 0x26a5], al
lea ecx, [ebp - 0x26a5]
call fcn.0043b2a0
mov ecx, eax
call fcn.004894e0
mov dword [ebp - 0xc48], eax
mov eax, dword [ebp - 0xc3c]
mov dword [ebp - 0xc30], eax
cmp dword [ebp - 0xc30], 0
je 0x454e32
xor eax, eax
mov byte [ebp - 0x26b1], al
lea ecx, [ebp - 0x26b1]
call fcn.0043b5d0
mov ecx, eax
call fcn.004894e0
mov dword [ebp - 0xc48], eax
movzx eax, byte [ebp - 0x3a1]
test eax, eax
je 0x455b86
mov dword [ebp - 0xc54], 0
xor eax, eax
mov byte [ebp - 0x26bd], al
lea ecx, [ebp - 0x26bd]
call fcn.0043b6e0
mov ecx, eax
call fcn.00489480
mov dword [ebp - 0xc60], eax
xor eax, eax
mov byte [ebp - 0x26c9], al
lea ecx, [ebp - 0x26c9]
call fcn.0043b7f0
mov ecx, eax
call fcn.00489480
mov dword [ebp - 0xc6c], eax
xor eax, eax
mov byte [ebp - 0x26d5], al
lea ecx, [ebp - 0x26d5]
call fcn.0043b900
mov ecx, eax
call fcn.00489480
mov dword [ebp - 0xc78], eax
mov eax, dword [ebp - 0xc6c]
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 0
je 0x454ee0
xor eax, eax
mov byte [ebp - 0x26e1], al
lea ecx, [ebp - 0x26e1]
call fcn.0043ba10
mov ecx, eax
call fcn.00489420
mov dword [ebp - 0xc78], eax
mov eax, dword [ebp - 0xc54]
cmp eax, dword [ebp - 0x998]
jae 0x455b86
xor eax, eax
mov byte [ebp - 0x26ed], al
lea ecx, [ebp - 0x26ed]
call fcn.0043bb20
mov ecx, eax
call fcn.00489420
mov dword [ebp - 0xc84], eax
xor eax, eax
mov byte [ebp - 0x26f9], al
lea ecx, [ebp - 0x26f9]
call fcn.0043bc30
mov ecx, eax
call fcn.00489420
mov dword [ebp - 0xc90], eax
xor eax, eax
mov byte [ebp - 0x2705], al
lea ecx, [ebp - 0x2705]
call fcn.0043bd40
mov ecx, eax
call fcn.004893c0
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0xc90]
mov dword [ebp - 0xc84], eax
cmp dword [ebp - 0xc84], 0
je 0x454f87
xor eax, eax
mov byte [ebp - 0x2711], al
lea ecx, [ebp - 0x2711]
call fcn.0043be50
mov ecx, eax
call fcn.004893c0
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0x9cc]
mov ecx, dword [ebp - 0x3d4]
add ecx, dword [eax + 0x14]
add ecx, dword [ebp - 0xc54]
mov dword [ebp - 0xca8], ecx
xor eax, eax
mov byte [ebp - 0x271d], al
lea ecx, [ebp - 0x271d]
call fcn.0043bf60
mov ecx, eax
call fcn.00489360
mov dword [ebp - 0xcb4], eax
xor eax, eax
mov byte [ebp - 0x2729], al
lea ecx, [ebp - 0x2729]
call fcn.0043c290
mov ecx, eax
call fcn.00489360
mov dword [ebp - 0xcc0], eax
xor eax, eax
mov byte [ebp - 0x2735], al
lea ecx, [ebp - 0x2735]
call fcn.0043c3a0
mov ecx, eax
call fcn.00489360
mov dword [ebp - 0xccc], eax
mov eax, dword [ebp - 0xcc0]
mov dword [ebp - 0xcb4], eax
cmp dword [ebp - 0xcb4], 0
je 0x455037
xor eax, eax
mov byte [ebp - 0x2741], al
lea ecx, [ebp - 0x2741]
call fcn.0043c4b0
mov ecx, eax
call fcn.00489300
mov dword [ebp - 0xccc], eax
mov eax, dword [ebp - 0xc54]
add eax, 8
mov dword [ebp - 0xc54], eax
xor eax, eax
mov byte [ebp - 0x274d], al
lea ecx, [ebp - 0x274d]
call fcn.0043c5c0
mov ecx, eax
call fcn.00489300
mov dword [ebp - 0xcd8], eax
xor eax, eax
mov byte [ebp - 0x2759], al
lea ecx, [ebp - 0x2759]
call fcn.0043c6d0
mov ecx, eax
call fcn.00488f40
mov dword [ebp - 0xce4], eax
xor eax, eax
mov byte [ebp - 0x2765], al
lea ecx, [ebp - 0x2765]
call fcn.0043c7e0
mov ecx, eax
call fcn.00488f40
mov dword [ebp - 0xcf0], eax
mov eax, dword [ebp - 0xce4]
mov dword [ebp - 0xcd8], eax
cmp dword [ebp - 0xcd8], 0
je 0x4550db
xor eax, eax
mov byte [ebp - 0x2771], al
lea ecx, [ebp - 0x2771]
call fcn.0043c8f0
mov ecx, eax
call fcn.00488f40
mov dword [ebp - 0xcf0], eax
mov eax, dword [ebp - 0xca8]
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
mov dword [ebp - 0xcfc], ecx
xor eax, eax
mov byte [ebp - 0x277d], al
lea ecx, [ebp - 0x277d]
call fcn.0043ca00
mov ecx, eax
call fcn.00488fa0
mov dword [ebp - 0xd08], eax
xor eax, eax
mov byte [ebp - 0x2789], al
lea ecx, [ebp - 0x2789]
call fcn.0043cb10
mov ecx, eax
call fcn.00488fa0
mov dword [ebp - 0xd14], eax
xor eax, eax
mov byte [ebp - 0x2795], al
lea ecx, [ebp - 0x2795]
call fcn.0043cc20
mov ecx, eax
call fcn.00488fa0
mov dword [ebp - 0xd20], eax
mov eax, dword [ebp - 0xd14]
mov dword [ebp - 0xd08], eax
cmp dword [ebp - 0xd08], 0
je 0x455184
xor eax, eax
mov byte [ebp - 0x27a1], al
lea ecx, [ebp - 0x27a1]
call fcn.0043cf60
mov ecx, eax
call fcn.00489000
mov dword [ebp - 0xd20], eax
mov dword [ebp - 0xd2c], 0
jmp 0x45519f
mov eax, dword [ebp - 0xd2c]
add eax, 1
mov dword [ebp - 0xd2c], eax
mov eax, dword [ebp - 0xd2c]
cmp eax, dword [ebp - 0xcfc]
jae 0x455b81
xor eax, eax
mov byte [ebp - 0x27ad], al
lea ecx, [ebp - 0x27ad]
call fcn.0043d070
mov ecx, eax
call fcn.00489000
mov dword [ebp - 0xd38], eax
xor eax, eax
mov byte [ebp - 0x27b9], al
lea ecx, [ebp - 0x27b9]
call fcn.0043d180
mov ecx, eax
call fcn.00489060
mov dword [ebp - 0xd44], eax
xor eax, eax
mov byte [ebp - 0x27c5], al
lea ecx, [ebp - 0x27c5]
call fcn.0043d290
mov ecx, eax
call fcn.00489060
mov dword [ebp - 0xd50], eax
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0xd38], eax
cmp dword [ebp - 0xd38], 0
je 0x455246
xor eax, eax
mov byte [ebp - 0x27d1], al
lea ecx, [ebp - 0x27d1]
call fcn.0043d3a0
mov ecx, eax
call fcn.00489060
mov dword [ebp - 0xd50], eax
mov eax, dword [ebp - 0x9cc]
mov ecx, dword [ebp - 0x3d4]
add ecx, dword [eax + 0x14]
add ecx, dword [ebp - 0xc54]
mov dword [ebp - 0xd5c], ecx
xor eax, eax
mov byte [ebp - 0x27dd], al
lea ecx, [ebp - 0x27dd]
call fcn.0043d4b0
mov ecx, eax
call fcn.004890c0
mov dword [ebp - 0xd68], eax
xor eax, eax
mov byte [ebp - 0x27e9], al
lea ecx, [ebp - 0x27e9]
call fcn.0043d5c0
mov ecx, eax
call fcn.004890c0
mov dword [ebp - 0xd74], eax
xor eax, eax
mov byte [ebp - 0x27f5], al
lea ecx, [ebp - 0x27f5]
call fcn.0043d6d0
mov ecx, eax
call fcn.004890c0
mov dword [ebp - 0xd80], eax
mov eax, dword [ebp - 0xd74]
mov dword [ebp - 0xd68], eax
cmp dword [ebp - 0xd68], 0
je 0x4552f6
xor eax, eax
mov byte [ebp - 0x2801], al
lea ecx, [ebp - 0x2801]
call fcn.0043d7e0
mov ecx, eax
call fcn.00489120
mov dword [ebp - 0xd80], eax
mov eax, dword [ebp - 0xc54]
add eax, 2
mov dword [ebp - 0xc54], eax
xor eax, eax
mov byte [ebp - 0x280d], al
lea ecx, [ebp - 0x280d]
call fcn.0043d8f0
mov ecx, eax
call fcn.00489120
mov dword [ebp - 0xd8c], eax
xor eax, eax
mov byte [ebp - 0x2819], al
lea ecx, [ebp - 0x2819]
call fcn.0043dc20
mov ecx, eax
call fcn.00489180
mov dword [ebp - 0xd98], eax
xor eax, eax
mov byte [ebp - 0x2825], al
lea ecx, [ebp - 0x2825]
call fcn.0043dd30
mov ecx, eax
call fcn.00489180
mov dword [ebp - 0xda4], eax
mov eax, dword [ebp - 0xd98]
mov dword [ebp - 0xd8c], eax
cmp dword [ebp - 0xd8c], 0
je 0x45539a
xor eax, eax
mov byte [ebp - 0x2831], al
lea ecx, [ebp - 0x2831]
call fcn.0043de40
mov ecx, eax
call fcn.00489180
mov dword [ebp - 0xda4], eax
mov eax, dword [ebp - 0xd5c]
mov cx, word [eax]
shr cx, 0xc
and cx, 0xf
movzx edx, cx
test edx, edx
jne 0x4553b7
jmp 0x455190
xor eax, eax
mov byte [ebp - 0x283d], al
lea ecx, [ebp - 0x283d]
call fcn.0043df60
mov ecx, eax
call fcn.004891e0
mov dword [ebp - 0xdb0], eax
xor eax, eax
mov byte [ebp - 0x2849], al
lea ecx, [ebp - 0x2849]
call fcn.0043e070
mov ecx, eax
call fcn.004891e0
mov dword [ebp - 0xdbc], eax
xor eax, eax
mov byte [ebp - 0x2855], al
lea ecx, [ebp - 0x2855]
call fcn.0043e180
mov ecx, eax
call fcn.00489240
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xdbc]
mov dword [ebp - 0xdb0], eax
cmp dword [ebp - 0xdb0], 0
je 0x45544c
xor eax, eax
mov byte [ebp - 0x2861], al
lea ecx, [ebp - 0x2861]
call fcn.0043e290
mov ecx, eax
call fcn.00489240
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0x780]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0xca8]
xor eax, eax
add ecx, dword [edx]
adc esi, eax
mov edx, 0xfff
mov eax, dword [ebp - 0xd5c]
and dx, word [eax]
movzx eax, dx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0xdd8], ecx
mov dword [ebp - 0xdd4], esi
xor eax, eax
mov byte [ebp - 0x286d], al
lea ecx, [ebp - 0x286d]
call fcn.0043e3a0
mov ecx, eax
call fcn.00489240
mov dword [ebp - 0xde4], eax
xor eax, eax
mov byte [ebp - 0x2879], al
lea ecx, [ebp - 0x2879]
call fcn.0043e4b0
mov ecx, eax
call fcn.004892a0
mov dword [ebp - 0xdf0], eax
xor eax, eax
mov byte [ebp - 0x2885], al
lea ecx, [ebp - 0x2885]
call fcn.0043e5c0
mov ecx, eax
call fcn.004892a0
mov dword [ebp - 0xdfc], eax
mov eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xde4], eax
cmp dword [ebp - 0xde4], 0
je 0x45551a
xor eax, eax
mov byte [ebp - 0x2891], al
lea ecx, [ebp - 0x2891]
call fcn.0043e8f0
mov ecx, eax
call fcn.004892a0
mov dword [ebp - 0xdfc], eax
mov dword [ebp - 0xe08], 0
xor eax, eax
mov byte [ebp - 0x289d], al
lea ecx, [ebp - 0x289d]
call fcn.0043ea00
mov ecx, eax
call fcn.0048cc60
mov dword [ebp - 0xe14], eax
xor eax, eax
mov byte [ebp - 0x28a9], al
lea ecx, [ebp - 0x28a9]
call fcn.0043eb10
mov ecx, eax
call fcn.0048cc60
mov dword [ebp - 0xe20], eax
xor eax, eax
mov byte [ebp - 0x28b5], al
lea ecx, [ebp - 0x28b5]
call fcn.0043ec20
mov ecx, eax
call fcn.0048ccc0
mov dword [ebp - 0xe2c], eax
mov eax, dword [ebp - 0xe20]
mov dword [ebp - 0xe14], eax
cmp dword [ebp - 0xe14], 0
je 0x4555b9
xor eax, eax
mov byte [ebp - 0x28c1], al
lea ecx, [ebp - 0x28c1]
call fcn.0043ed30
mov ecx, eax
call fcn.0048ccc0
mov dword [ebp - 0xe2c], eax
xor eax, eax
mov byte [ebp - 0x28cd], al
lea ecx, [ebp - 0xe48]
push ecx
lea ecx, [ebp - 0x28cd]
call fcn.0043ee40
nop
xor eax, eax
mov byte [ebp - 0x28d9], al
lea ecx, [ebp - 0x28d9]
call fcn.0043eec0
mov ecx, eax
call fcn.0048ccc0
mov dword [ebp - 0xe54], eax
xor eax, eax
mov byte [ebp - 0x28e5], al
lea ecx, [ebp - 0x28e5]
call fcn.0043efd0
mov ecx, eax
call fcn.0048cd20
mov dword [ebp - 0xe60], eax
xor eax, eax
mov byte [ebp - 0x28f1], al
lea ecx, [ebp - 0x28f1]
call fcn.0043f0e0
mov ecx, eax
call fcn.0048cd20
mov dword [ebp - 0xe6c], eax
mov eax, dword [ebp - 0xe60]
mov dword [ebp - 0xe54], eax
cmp dword [ebp - 0xe54], 0
je 0x455669
xor eax, eax
mov byte [ebp - 0x28fd], al
lea ecx, [ebp - 0x28fd]
call fcn.0043f1f0
mov ecx, eax
call fcn.0048cd20
mov dword [ebp - 0xe6c], eax
xor eax, eax
mov byte [ebp - 0x2909], al
lea ecx, [ebp - 0xe48]
call fcn.00451620
mov esi, esp
push eax
mov ecx, dword [ebp - 0x698]
push ecx
lea ecx, [ebp - 0x2909]
call fcn.0043f520
mov ecx, eax
call fcn.0048d2c0
mov edx, dword [eax*4 + 0x8d8d1c]
call edx
cmp esi, esp
call fcn.004def10
mov dword [ebp - 0xe78], eax
cmp dword [ebp - 0xe78], 0
jne 0x4556be
xor al, al
jmp 0x4565ca
mov eax, dword [sym.imp.GDI32.dll_GetArcDirection]
mov dword [ebp - 0xec8], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
mov dword [ebp - 0xec4], eax
mov dword [ebp - 0xec0], 0x498a08
mov dword [ebp - 0xebc], 0x498a68
mov eax, dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0xeb8], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov dword [ebp - 0xeb4], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemTimes]
mov dword [ebp - 0xeb0], eax
mov eax, dword [sym.imp.USER32.dll_DeregisterShellHookWindow]
mov dword [ebp - 0xeac], eax
mov eax, dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov dword [ebp - 0xea8], eax
mov eax, dword [sym.imp.USER32.dll_SetClassLongW]
mov dword [ebp - 0xea4], eax
mov eax, dword [sym.imp.USER32.dll_EnumClipboardFormats]
mov dword [ebp - 0xea0], eax
mov eax, dword [sym.imp.KERNEL32.dll_GlobalSize]
mov dword [ebp - 0xe9c], eax
mov eax, dword [sym.imp.GDI32.dll_GetRasterizerCaps]
mov dword [ebp - 0xe98], eax
mov eax, dword [sym.imp.KERNEL32.dll_CancelIoEx]
mov dword [ebp - 0xe94], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0xe90], eax
mov eax, dword [sym.imp.KERNEL32.dll_ClearCommError]
mov dword [ebp - 0xe8c], eax
mov eax, dword [sym.imp.USER32.dll_OpenInputDesktop]
mov dword [ebp - 0xe88], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteProfileSectionW]
mov dword [ebp - 0xe84], eax
xor eax, eax
mov byte [ebp - 0x2915], al
lea ecx, [ebp - 0x2915]
call fcn.0043f630
mov ecx, eax
call fcn.0048cd80
mov dword [ebp - 0xed4], eax
xor eax, eax
mov byte [ebp - 0x2921], al
lea ecx, [ebp - 0x2921]
call fcn.0043f740
mov ecx, eax
call fcn.0048cd80
mov dword [ebp - 0xee0], eax
xor eax, eax
mov byte [ebp - 0x292d], al
lea ecx, [ebp - 0x292d]
call fcn.0043f850
mov ecx, eax
call fcn.0048cd80
mov dword [ebp - 0xeec], eax
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xed4], eax
cmp dword [ebp - 0xed4], 0
je 0x455817
xor eax, eax
mov byte [ebp - 0x2939], al
lea ecx, [ebp - 0x2939]
call fcn.0043f960
mov ecx, eax
call fcn.0048bee0
mov dword [ebp - 0xeec], eax
lea ecx, [ebp - 0xe48]
call fcn.004517a0
nop
xor eax, eax
mov byte [ebp - 0x2945], al
lea ecx, [ebp - 0x2945]
call fcn.0043fa70
mov ecx, eax
call fcn.0048bee0
mov dword [ebp - 0xef8], eax
xor eax, eax
mov byte [ebp - 0x2951], al
lea ecx, [ebp - 0x2951]
call fcn.0043fb80
mov ecx, eax
call fcn.0048bf40
mov dword [ebp - 0xf04], eax
xor eax, eax
mov byte [ebp - 0x295d], al
lea ecx, [ebp - 0x295d]
call fcn.0043fc90
mov ecx, eax
call fcn.0048bf40
mov dword [ebp - 0xf10], eax
mov eax, dword [ebp - 0xf04]
mov dword [ebp - 0xef8], eax
cmp dword [ebp - 0xef8], 0
je 0x4558b8
xor eax, eax
mov byte [ebp - 0x2969], al
lea ecx, [ebp - 0x2969]
call fcn.0043fda0
mov ecx, eax
call fcn.0048bf40
mov dword [ebp - 0xf10], eax
lea ecx, [ebp - 0xe48]
call fcn.00451180
nop
xor eax, eax
mov byte [ebp - 0x2975], al
lea ecx, [ebp - 0x2975]
call fcn.0043feb0
mov ecx, eax
call fcn.0048bfa0
mov dword [ebp - 0xf1c], eax
xor eax, eax
mov byte [ebp - 0x2981], al
lea ecx, [ebp - 0x2981]
call fcn.004401e0
mov ecx, eax
call fcn.0048bfa0
mov dword [ebp - 0xf28], eax
xor eax, eax
mov byte [ebp - 0x298d], al
lea ecx, [ebp - 0x298d]
call fcn.004402f0
mov ecx, eax
call fcn.0048bfa0
mov dword [ebp - 0xf34], eax
mov eax, dword [ebp - 0xf28]
mov dword [ebp - 0xf1c], eax
cmp dword [ebp - 0xf1c], 0
je 0x455959
xor eax, eax
mov byte [ebp - 0x2999], al
lea ecx, [ebp - 0x2999]
call fcn.00440400
mov ecx, eax
call fcn.0048c000
mov dword [ebp - 0xf34], eax
mov esi, esp
push 0
push 4
lea eax, [ebp - 0xe08]
push eax
mov ecx, dword [ebp - 0xdd8]
push ecx
mov edx, dword [ebp - 0x480]
push edx
call dword [ebp - 0xe78]
cmp esi, esp
call fcn.004def10
nop
xor eax, eax
mov byte [ebp - 0x29a5], al
lea ecx, [ebp - 0x29a5]
call fcn.00440510
mov ecx, eax
call fcn.0048c000
mov dword [ebp - 0xf40], eax
xor eax, eax
mov byte [ebp - 0x29b1], al
lea ecx, [ebp - 0x29b1]
call fcn.00440620
mov ecx, eax
call fcn.0048c060
mov dword [ebp - 0xf4c], eax
xor eax, eax
mov byte [ebp - 0x29bd], al
lea ecx, [ebp - 0x29bd]
call fcn.00440730
mov ecx, eax
call fcn.0048c060
mov dword [ebp - 0xf58], eax
mov eax, dword [ebp - 0xf4c]
mov dword [ebp - 0xf40], eax
cmp dword [ebp - 0xf40], 0
je 0x455a17
xor eax, eax
mov byte [ebp - 0x29c9], al
lea ecx, [ebp - 0x29c9]
call fcn.00440840
mov ecx, eax
call fcn.0048c060
mov dword [ebp - 0xf58], eax
mov eax, dword [ebp - 0xe08]
add eax, dword [ebp - 0x840]
mov dword [ebp - 0xe08], eax
xor eax, eax
mov byte [ebp - 0x29d5], al
lea ecx, [ebp - 0x29d5]
call fcn.00440950
mov ecx, eax
call fcn.0048c0c0
mov dword [ebp - 0xf64], eax
xor eax, eax
mov byte [ebp - 0x29e1], al
lea ecx, [ebp - 0x29e1]
call fcn.00440a60
mov ecx, eax
call fcn.0048c0c0
mov dword [ebp - 0xf70], eax
xor eax, eax
mov byte [ebp - 0x29ed], al
lea ecx, [ebp - 0x29ed]
call fcn.00440b70
mov ecx, eax
call fcn.0048c120
mov dword [ebp - 0xf7c], eax
mov eax, dword [ebp - 0xf70]
mov dword [ebp - 0xf64], eax
cmp dword [ebp - 0xf64], 0
je 0x455abe
xor eax, eax
mov byte [ebp - 0x29f9], al
lea ecx, [ebp - 0x29f9]
call fcn.00441460
mov ecx, eax
call fcn.0048c120
mov dword [ebp - 0xf7c], eax
mov esi, esp
push 0
push 4
lea eax, [ebp - 0xe08]
push eax
mov ecx, dword [ebp - 0xdd8]
push ecx
mov edx, dword [ebp - 0x480]
push edx
call dword [ebp - 0x708]
cmp esi, esp
call fcn.004def10
nop
xor eax, eax
mov byte [ebp - 0x2a05], al
lea ecx, [ebp - 0x2a05]
call fcn.00441570
mov ecx, eax
call fcn.0048c120
mov dword [ebp - 0xf88], eax
xor eax, eax
mov byte [ebp - 0x2a11], al
lea ecx, [ebp - 0x2a11]
call fcn.00441680
mov ecx, eax
call fcn.0048c180
mov dword [ebp - 0xf94], eax
xor eax, eax
mov byte [ebp - 0x2a1d], al
lea ecx, [ebp - 0x2a1d]
call fcn.00441790
mov ecx, eax
call fcn.0048c180
mov dword [ebp - 0xfa0], eax
mov eax, dword [ebp - 0xf94]
mov dword [ebp - 0xf88], eax
cmp dword [ebp - 0xf88], 0
je 0x455b7c
xor eax, eax
mov byte [ebp - 0x2a29], al
lea ecx, [ebp - 0x2a29]
call fcn.004418a0
mov ecx, eax
call fcn.0048c180
mov dword [ebp - 0xfa0], eax
jmp 0x455190
jmp 0x454ee0
xor eax, eax
mov byte [ebp - 0x2a35], al
lea ecx, [ebp - 0x2a35]
call fcn.004419b0
mov ecx, eax
call fcn.0048c1e0
mov dword [ebp - 0x1280], eax
xor eax, eax
mov byte [ebp - 0x2a41], al
lea ecx, [ebp - 0x2a41]
call fcn.00441ac0
mov ecx, eax
call fcn.0048c1e0
mov dword [ebp - 0x128c], eax
xor eax, eax
mov byte [ebp - 0x2a4d], al
lea ecx, [ebp - 0x2a4d]
call fcn.00441bd0
mov ecx, eax
call fcn.0048c240
mov dword [ebp - 0x1298], eax
mov eax, dword [ebp - 0x128c]
mov dword [ebp - 0x1280], eax
cmp dword [ebp - 0x1280], 0
je 0x455c1b
xor eax, eax
mov byte [ebp - 0x2a59], al
lea ecx, [ebp - 0x2a59]
call fcn.00441ce0
mov ecx, eax
call fcn.0048c240
mov dword [ebp - 0x1298], eax
mov dword [ebp - 0x1274], 0x10007
xor eax, eax
mov byte [ebp - 0x2a65], al
lea ecx, [ebp - 0x2a65]
call fcn.00441df0
mov ecx, eax
call fcn.0048c240
mov dword [ebp - 0x12a4], eax
xor eax, eax
mov byte [ebp - 0x2a71], al
lea ecx, [ebp - 0x2a71]
call fcn.00442120
mov ecx, eax
call fcn.0048c2a0
mov dword [ebp - 0x12b0], eax
xor eax, eax
mov byte [ebp - 0x2a7d], al
lea ecx, [ebp - 0x2a7d]
call fcn.00442230
mov ecx, eax
call fcn.0048c2a0
mov dword [ebp - 0x12bc], eax
mov eax, dword [ebp - 0x12b0]
mov dword [ebp - 0x12a4], eax
cmp dword [ebp - 0x12a4], 0
je 0x455cba
xor eax, eax
mov byte [ebp - 0x2a89], al
lea ecx, [ebp - 0x2a89]
call fcn.00442340
mov ecx, eax
call fcn.0048c2a0
mov dword [ebp - 0x12bc], eax
xor eax, eax
mov byte [ebp - 0x2a95], al
lea ecx, [ebp - 0x12f0]
push ecx
lea ecx, [ebp - 0x2a95]
call fcn.00442450
nop
xor eax, eax
mov byte [ebp - 0x2aa1], al
lea ecx, [ebp - 0x2aa1]
call fcn.004424b0
mov ecx, eax
call fcn.0048c300
mov dword [ebp - 0x12fc], eax
xor eax, eax
mov byte [ebp - 0x2aad], al
lea ecx, [ebp - 0x2aad]
call fcn.004425c0
mov ecx, eax
call fcn.0048c300
mov dword [ebp - 0x1308], eax
xor eax, eax
mov byte [ebp - 0x2ab9], al
lea ecx, [ebp - 0x2ab9]
call fcn.004426d0
mov ecx, eax
call fcn.0048c360
mov dword [ebp - 0x1314], eax
mov eax, dword [ebp - 0x1308]
mov dword [ebp - 0x12fc], eax
cmp dword [ebp - 0x12fc], 0
je 0x455d6a
xor eax, eax
mov byte [ebp - 0x2ac5], al
lea ecx, [ebp - 0x2ac5]
call fcn.004427e0
mov ecx, eax
call fcn.0048c360
mov dword [ebp - 0x1314], eax
xor eax, eax
mov byte [ebp - 0x2ad1], al
lea ecx, [ebp - 0x2ad1]
call fcn.004428f0
mov ecx, eax
call fcn.0048c360
mov dword [ebp - 0x1320], eax
xor eax, eax
mov byte [ebp - 0x2add], al
lea ecx, [ebp - 0x2add]
call fcn.00442a00
mov ecx, eax
call fcn.0048c3c0
mov dword [ebp - 0x132c], eax
xor eax, eax
mov byte [ebp - 0x2ae9], al
lea ecx, [ebp - 0x2ae9]
call fcn.00442c20
mov ecx, eax
call fcn.0048c3c0
mov dword [ebp - 0x1338], eax
mov eax, dword [ebp - 0x132c]
mov dword [ebp - 0x1320], eax
cmp dword [ebp - 0x1320], 0
je 0x455dff
xor eax, eax
mov byte [ebp - 0x2af5], al
lea ecx, [ebp - 0x2af5]
call fcn.00442d30
mov ecx, eax
call fcn.0048c420
mov dword [ebp - 0x1338], eax
xor eax, eax
mov byte [ebp - 0x2b01], al
lea ecx, [ebp - 0x2b01]
call fcn.00442e40
mov ecx, eax
call fcn.0048c420
mov dword [ebp - 0x1344], eax
xor eax, eax
mov byte [ebp - 0x2b0d], al
lea ecx, [ebp - 0x2b0d]
call fcn.00442f60
mov ecx, eax
call fcn.0048c420
mov dword [ebp - 0x1350], eax
xor eax, eax
mov byte [ebp - 0x2b19], al
lea ecx, [ebp - 0x2b19]
call fcn.00443070
mov ecx, eax
call fcn.0048c480
mov dword [ebp - 0x135c], eax
mov eax, dword [ebp - 0x1350]
mov dword [ebp - 0x1344], eax
cmp dword [ebp - 0x1344], 0
je 0x455e94
xor eax, eax
mov byte [ebp - 0x2b25], al
lea ecx, [ebp - 0x2b25]
call fcn.00443180
mov ecx, eax
call fcn.0048c480
mov dword [ebp - 0x135c], eax
lea eax, [ebp - 0x1274]
push eax
mov ecx, dword [ebp - 0x47c]
push ecx
call fcn.00451d60
add esp, 8
test eax, eax
je 0x455eb7
mov byte [ebp - 0x2d01], 1
jmp 0x455ebe
mov byte [ebp - 0x2d01], 0
mov dl, byte [ebp - 0x2d01]
mov byte [ebp - 0x1365], dl
xor eax, eax
mov byte [ebp - 0x2b31], al
lea ecx, [ebp - 0x2b31]
call fcn.00443290
mov ecx, eax
call fcn.0048c480
mov dword [ebp - 0x1374], eax
xor eax, eax
mov byte [ebp - 0x2b3d], al
lea ecx, [ebp - 0x2b3d]
call fcn.004433a0
mov ecx, eax
call fcn.0048c4e0
mov dword [ebp - 0x1380], eax
xor eax, eax
mov byte [ebp - 0x2b49], al
lea ecx, [ebp - 0x2b49]
call fcn.004434b0
mov ecx, eax
call fcn.0048c4e0
mov dword [ebp - 0x138c], eax
mov eax, dword [ebp - 0x1380]
mov dword [ebp - 0x1374], eax
cmp dword [ebp - 0x1374], 0
je 0x455f5f
xor eax, eax
mov byte [ebp - 0x2b55], al
lea ecx, [ebp - 0x2b55]
call fcn.004435c0
mov ecx, eax
call fcn.0048c540
mov dword [ebp - 0x138c], eax
xor eax, eax
mov byte [ebp - 0x2b61], al
mov esi, esp
push 0
push 4
lea ecx, [ebp - 0x780]
push ecx
lea ecx, [ebp - 0x2b61]
call fcn.004437e0
mov ecx, eax
call fcn.0048c540
add eax, dword [ebp - 0x11d0]
push eax
mov edx, dword [ebp - 0x480]
push edx
call dword [ebp - 0x708]
cmp esi, esp
call fcn.004def10
test eax, eax
je 0x455fae
mov byte [ebp - 0x2d01], 1
jmp 0x455fb5
mov byte [ebp - 0x2d01], 0
mov al, byte [ebp - 0x2d01]
mov byte [ebp - 0x1395], al
xor eax, eax
mov byte [ebp - 0x2b6d], al
lea ecx, [ebp - 0x2b6d]
call fcn.004438f0
mov ecx, eax
call fcn.0048c540
mov dword [ebp - 0x13a4], eax
xor eax, eax
mov byte [ebp - 0x2b79], al
lea ecx, [ebp - 0x2b79]
call fcn.00443a00
mov ecx, eax
call fcn.0048c5a0
mov dword [ebp - 0x13b0], eax
xor eax, eax
mov byte [ebp - 0x2b85], al
lea ecx, [ebp - 0x2b85]
call fcn.00443b10
mov ecx, eax
call fcn.0048c5a0
mov dword [ebp - 0x13bc], eax
mov eax, dword [ebp - 0x13b0]
mov dword [ebp - 0x13a4], eax
cmp dword [ebp - 0x13a4], 0
je 0x456056
xor eax, eax
mov byte [ebp - 0x2b91], al
lea ecx, [ebp - 0x2b91]
call fcn.00443c20
mov ecx, eax
call fcn.0048c600
mov dword [ebp - 0x13bc], eax
lea ecx, [ebp - 0x12f0]
call fcn.00451260
nop
xor eax, eax
mov byte [ebp - 0x2b9d], al
lea ecx, [ebp - 0x13f0]
push ecx
lea ecx, [ebp - 0x2b9d]
call fcn.00443d30
nop
xor eax, eax
mov byte [ebp - 0x2ba9], al
lea ecx, [ebp - 0x2ba9]
call fcn.00443d90
mov ecx, eax
call fcn.0048c600
mov dword [ebp - 0x13fc], eax
xor eax, eax
mov byte [ebp - 0x2bb5], al
lea ecx, [ebp - 0x2bb5]
call fcn.00443ea0
mov ecx, eax
call fcn.0048c600
mov dword [ebp - 0x1408], eax
xor eax, eax
mov byte [ebp - 0x2bc1], al
lea ecx, [ebp - 0x2bc1]
call fcn.00443fb0
mov ecx, eax
call fcn.0048c660
mov dword [ebp - 0x1414], eax
mov eax, dword [ebp - 0x1408]
mov dword [ebp - 0x13fc], eax
cmp dword [ebp - 0x13fc], 0
je 0x456112
xor eax, eax
mov byte [ebp - 0x2bcd], al
lea ecx, [ebp - 0x2bcd]
call fcn.004440c0
mov ecx, eax
call fcn.0048c660
mov dword [ebp - 0x1414], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x780]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0x11c4], ecx
xor eax, eax
mov byte [ebp - 0x2bd9], al
lea ecx, [ebp - 0x2bd9]
call fcn.004442e0
mov ecx, eax
call fcn.0048c660
mov dword [ebp - 0x1420], eax
xor eax, eax
mov byte [ebp - 0x2be5], al
lea ecx, [ebp - 0x2be5]
call fcn.004443f0
mov ecx, eax
call fcn.0048c6c0
mov dword [ebp - 0x142c], eax
xor eax, eax
mov byte [ebp - 0x2bf1], al
lea ecx, [ebp - 0x2bf1]
call fcn.00444500
mov ecx, eax
call fcn.0048c6c0
mov dword [ebp - 0x1438], eax
mov eax, dword [ebp - 0x142c]
mov dword [ebp - 0x1420], eax
cmp dword [ebp - 0x1420], 0
je 0x4561b9
xor eax, eax
mov byte [ebp - 0x2bfd], al
lea ecx, [ebp - 0x2bfd]
call fcn.00444610
mov ecx, eax
call fcn.0048c720
mov dword [ebp - 0x1438], eax
xor eax, eax
mov byte [ebp - 0x2c09], al
lea ecx, [ebp - 0x2c09]
call fcn.00444720
mov ecx, eax
call fcn.0048c720
mov dword [ebp - 0x1444], eax
xor eax, eax
mov byte [ebp - 0x2c15], al
lea ecx, [ebp - 0x2c15]
call fcn.00444830
mov ecx, eax
call fcn.0048c720
mov dword [ebp - 0x1450], eax
xor eax, eax
mov byte [ebp - 0x2c21], al
lea ecx, [ebp - 0x2c21]
call fcn.00444940
mov ecx, eax
call fcn.0048c780
mov dword [ebp - 0x145c], eax
mov eax, dword [ebp - 0x1450]
mov dword [ebp - 0x1444], eax
cmp dword [ebp - 0x1444], 0
je 0x45624e
xor eax, eax
mov byte [ebp - 0x2c2d], al
lea ecx, [ebp - 0x2c2d]
call fcn.00444a50
mov ecx, eax
call fcn.0048c780
mov dword [ebp - 0x145c], eax
lea eax, [ebp - 0x1274]
push eax
mov ecx, dword [ebp - 0x47c]
push ecx
call fcn.00451eb0
add esp, 8
test eax, eax
je 0x456271
mov byte [ebp - 0x2d01], 1
jmp 0x456278
mov byte [ebp - 0x2d01], 0
mov dl, byte [ebp - 0x2d01]
mov byte [ebp - 0x1465], dl
mov eax, dword [sym.imp.USER32.dll_PrivateExtractIconsW]
mov dword [ebp - 0x14ac], eax
mov eax, dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov dword [ebp - 0x14a8], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetCommState]
mov dword [ebp - 0x14a4], eax
mov eax, dword [sym.imp.GDI32.dll_EqualRgn]
mov dword [ebp - 0x14a0], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov dword [ebp - 0x149c], eax
mov eax, dword [sym.imp.KERNEL32.dll_IsValidLocaleName]
mov dword [ebp - 0x1498], eax
mov eax, dword [sym.imp.GDI32.dll_PolyTextOutW]
mov dword [ebp - 0x1494], eax
mov eax, dword [sym.imp.GDI32.dll_CreateBitmap]
mov dword [ebp - 0x1490], eax
mov eax, dword [sym.imp.KERNEL32.dll_DnsHostnameToComputerNameW]
mov dword [ebp - 0x148c], eax
mov dword [ebp - 0x1488], 0x498a6e
mov eax, dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov dword [ebp - 0x1484], eax
mov eax, dword [sym.imp.USER32.dll_IsRectEmpty]
mov dword [ebp - 0x1480], eax
mov dword [ebp - 0x147c], 0x4989ea
mov dword [ebp - 0x1478], 0x4989f6
mov eax, dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
mov dword [ebp - 0x1474], eax
xor eax, eax
mov byte [ebp - 0x2c39], al
lea ecx, [ebp - 0x2c39]
call fcn.00444b60
mov ecx, eax
call fcn.0048c780
mov dword [ebp - 0x14b8], eax
xor eax, eax
mov byte [ebp - 0x2c45], al
lea ecx, [ebp - 0x2c45]
call fcn.00444c70
mov ecx, eax
call fcn.0048c7e0
mov dword [ebp - 0x14c4], eax
xor eax, eax
mov byte [ebp - 0x2c51], al
lea ecx, [ebp - 0x2c51]
call fcn.00444e90
mov ecx, eax
call fcn.0048c7e0
mov dword [ebp - 0x14d0], eax
mov eax, dword [ebp - 0x14c4]
mov dword [ebp - 0x14b8], eax
cmp dword [ebp - 0x14b8], 0
je 0x4563bb
xor eax, eax
mov byte [ebp - 0x2c5d], al
lea ecx, [ebp - 0x2c5d]
call fcn.00444fa0
mov ecx, eax
call fcn.0048c840
mov dword [ebp - 0x14d0], eax
lea ecx, [ebp - 0x13f0]
call fcn.00451260
nop
xor eax, eax
mov byte [ebp - 0x2c69], al
lea ecx, [ebp - 0x14f4]
push ecx
lea ecx, [ebp - 0x2c69]
call fcn.004450b0
nop
xor eax, eax
mov byte [ebp - 0x2c75], al
lea ecx, [ebp - 0x2c75]
call fcn.00445110
mov ecx, eax
call fcn.0048c840
mov dword [ebp - 0x1500], eax
xor eax, eax
mov byte [ebp - 0x2c81], al
lea ecx, [ebp - 0x2c81]
call fcn.00445220
mov ecx, eax
call fcn.0048c840
mov dword [ebp - 0x150c], eax
xor eax, eax
mov byte [ebp - 0x2c8d], al
lea ecx, [ebp - 0x2c8d]
call fcn.00445330
mov ecx, eax
call fcn.0048c8a0
mov dword [ebp - 0x1518], eax
mov eax, dword [ebp - 0x150c]
mov dword [ebp - 0x1500], eax
cmp dword [ebp - 0x1500], 0
je 0x456477
xor eax, eax
mov byte [ebp - 0x2c99], al
lea ecx, [ebp - 0x2c99]
call fcn.00445440
mov ecx, eax
call fcn.0048c8a0
mov dword [ebp - 0x1518], eax
xor eax, eax
mov byte [ebp - 0x2ca5], al
lea ecx, [ebp - 0x2ca5]
call fcn.00445550
mov ecx, eax
call fcn.0048c900
mov dword [ebp - 0x1524], eax
xor eax, eax
mov byte [ebp - 0x2cb1], al
lea ecx, [ebp - 0x2cb1]
call fcn.00445660
mov ecx, eax
call fcn.0048c900
mov dword [ebp - 0x1530], eax
xor eax, eax
mov byte [ebp - 0x2cbd], al
lea ecx, [ebp - 0x2cbd]
call fcn.00445770
mov ecx, eax
call fcn.0048c900
mov dword [ebp - 0x153c], eax
mov eax, dword [ebp - 0x1530]
mov dword [ebp - 0x1524], eax
cmp dword [ebp - 0x1524], 0
je 0x45650c
xor eax, eax
mov byte [ebp - 0x2cc9], al
lea ecx, [ebp - 0x2cc9]
call fcn.00445990
mov ecx, eax
call fcn.0048c960
mov dword [ebp - 0x153c], eax
mov eax, dword [ebp - 0x47c]
push eax
call fcn.00451e40
add esp, 4
xor eax, eax
mov byte [ebp - 0x2cd5], al
lea ecx, [ebp - 0x2cd5]
call fcn.00445aa0
mov ecx, eax
call fcn.0048c960
mov dword [ebp - 0x1548], eax
xor eax, eax
mov byte [ebp - 0x2ce1], al
lea ecx, [ebp - 0x2ce1]
call fcn.00445bb0
mov ecx, eax
call fcn.0048c960
mov dword [ebp - 0x1554], eax
xor eax, eax
mov byte [ebp - 0x2ced], al
lea ecx, [ebp - 0x2ced]
call fcn.00445cc0
mov ecx, eax
call fcn.0048c9c0
mov dword [ebp - 0x1560], eax
mov eax, dword [ebp - 0x1554]
mov dword [ebp - 0x1548], eax
cmp dword [ebp - 0x1548], 0
je 0x4565b0
xor eax, eax
mov byte [ebp - 0x2cf9], al
lea ecx, [ebp - 0x2cf9]
call fcn.00445dd0
mov ecx, eax
call fcn.0048c9c0
mov dword [ebp - 0x1560], eax
lea ecx, [ebp - 0x14f4]
call fcn.004512d0
nop
lea ecx, [ebp - 0x668]
call fcn.004512d0
nop
mov al, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x4565fc]
call fcn.004deeb0
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004def80
add esp, 0x2d04
cmp ebp, esp
call fcn.004def10
mov esp, ebp
pop ebp
ret