Function at 0x10041ca0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066ac1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x3514
call fcn.10053210
push ebx
push esi
push edi
cmp dword [ebp + 0xc], 1
jne 0x10048dbd
mov eax, dword [ebp + 8]
mov dword [0x10069008], eax
lea ecx, [ebp - 0xb8]
call fcn.1003a3c0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x158]
call fcn.1003a3c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x140]
call fcn.1003a3c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x65c]
call fcn.1003a3c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
call fcn.1003a4b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x38]
call fcn.1003a4b0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call fcn.1003a4b0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x140]
call fcn.1003d940
cmp eax, 0x52
jae 0x10041dc6
push 0x100691c8
push 0x10069108
push 0x10069150
lea ecx, [ebp - 0x6b8]
push ecx
call fcn.1003c340
add esp, 0xc
mov dword [ebp - 0x630], eax
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x634], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x634]
push eax
lea ecx, [ebp - 0x6a0]
push ecx
call fcn.1003d9a0
add esp, 0xc
mov dword [ebp - 0x638], eax
mov edx, dword [ebp - 0x638]
push edx
lea ecx, [ebp - 0x140]
call fcn.1003e650
lea ecx, [ebp - 0x6a0]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x6b8]
call fcn.1003a6f0
mov eax, dword [0x10001b30]
push eax
mov ecx, dword [0x10001b40]
push ecx
mov edx, dword [0x10001b2c]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x10069120
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [0x10001b10]
push edx
push 0x10069198
lea eax, [ebp - 0x700]
push eax
call sym.desktop.d_lipped
add esp, 0x24
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x63c]
mov dword [ebp - 0x640], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x644], edx
push 0x63
push 0
lea eax, [ebp - 0x6e8]
push eax
mov ecx, dword [ebp - 0x644]
call fcn.10041c40
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x160], ecx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x160]
call fcn.1003d940
mov esi, eax
mov eax, 0x266
cdq
mov edi, eax
xor edi, edx
sub edi, edx
push 0
push 0x1002a974
lea ecx, [ebp - 0x6d0]
call fcn.1003a330
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
call fcn.1003d470
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindOnPathA]
sub eax, edi
add eax, esi
mov dword [ebp - 0x16c], eax
mov edx, dword [0x10001b34]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x168]
sub eax, dword [ebp - 0x16c]
mov dword [0x10001b34], eax
lea ecx, [ebp - 0x6d0]
call fcn.1003a6f0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6e8]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x700]
call fcn.1003a6f0
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [0x10001b20]
push edx
mov eax, dword [0x10001b40]
push eax
mov ecx, dword [0x10001b3c]
push ecx
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [0x10001b34]
push eax
mov ecx, dword [0x10001b44]
push ecx
push 0x10069120
lea edx, [ebp - 0x718]
push edx
call sym.desktop.d_lipped
add esp, 0x24
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
call fcn.10040740
lea ecx, [ebp - 0x718]
call fcn.1003a6f0
mov dword [ebp - 0x98], 0
jmp 0x10041f5a
mov eax, dword [ebp - 0x98]
add eax, 1
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x24]
call fcn.10041c10
cmp dword [ebp - 0x98], eax
jae 0x10042155
push 0x1002a994
lea ecx, [ebp - 0x868]
call fcn.1003a330
mov byte [ebp - 4], 0xa
push 0x1002a9b4
lea ecx, [ebp - 0x850]
call fcn.1003a330
mov byte [ebp - 4], 0xb
push 0x1002a9c4
lea ecx, [ebp - 0x838]
call fcn.1003a330
mov byte [ebp - 4], 0xc
push 0x1002a9c8
lea ecx, [ebp - 0x820]
call fcn.1003a330
mov byte [ebp - 4], 0xd
push 0x1002a9e4
lea ecx, [ebp - 0x808]
call fcn.1003a330
mov byte [ebp - 4], 0xe
push 0x1002a9fc
lea ecx, [ebp - 0x7f0]
call fcn.1003a330
mov byte [ebp - 4], 0xf
push 0x1002aa24
lea ecx, [ebp - 0x7d8]
call fcn.1003a330
mov byte [ebp - 4], 0x10
push 0x1002aa40
lea ecx, [ebp - 0x7c0]
call fcn.1003a330
mov byte [ebp - 4], 0x11
push 0x1002aa50
lea ecx, [ebp - 0x7a8]
call fcn.1003a330
mov byte [ebp - 4], 0x12
push 0x1002aa60
lea ecx, [ebp - 0x790]
call fcn.1003a330
mov byte [ebp - 4], 0x13
push 0x1002aa84
lea ecx, [ebp - 0x778]
call fcn.1003a330
mov byte [ebp - 4], 0x14
push 0x1002aa90
lea ecx, [ebp - 0x760]
call fcn.1003a330
mov byte [ebp - 4], 0x15
push 0x1002aaa4
lea ecx, [ebp - 0x748]
call fcn.1003a330
mov byte [ebp - 4], 0x16
push 0x1002aabc
lea ecx, [ebp - 0x730]
call fcn.1003a330
lea ecx, [ebp - 0x730]
call fcn.1003a6f0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x748]
call fcn.1003a6f0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x760]
call fcn.1003a6f0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x778]
call fcn.1003a6f0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x790]
call fcn.1003a6f0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x7a8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x7c0]
call fcn.1003a6f0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x7d8]
call fcn.1003a6f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x7f0]
call fcn.1003a6f0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x808]
call fcn.1003a6f0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x820]
call fcn.1003a6f0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x838]
call fcn.1003a6f0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x850]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x868]
call fcn.1003a6f0
jmp 0x10041f4b
push 0x4a
push 0
lea ecx, [ebp - 0x898]
push ecx
mov ecx, 0x100690c0
call fcn.10041c40
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x178], edx
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x17c], eax
push 0x2b
push 0
lea ecx, [ebp - 0x880]
push ecx
mov ecx, dword [ebp - 0x17c]
call fcn.10041c40
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x184], edx
push 0
push 0x1002aac4
mov ecx, dword [ebp - 0x184]
call fcn.100409e0
mov dword [ebp - 0x18c], eax
mov eax, dword [0x10001b28]
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x188]
sub ecx, dword [ebp - 0x18c]
mov dword [0x10001b28], ecx
lea ecx, [ebp - 0x880]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x898]
call fcn.1003a6f0
push 0x100010d4
mov ecx, 0x100010c8
call fcn.1003e690
lea edx, [ebp - 0x54]
push edx
mov ecx, 0x100010bc
call fcn.1003c2b0
push 0
push 0x1002aac8
mov ecx, 0x10069198
call fcn.10040900
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x194], eax
mov eax, dword [0x10001b44]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
add ecx, dword [ebp - 0x194]
mov dword [0x10001b44], ecx
push 0x1002aacc
lea ecx, [ebp - 0x8c8]
call fcn.1003a330
mov dword [ebp - 0x198], eax
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x19c], edx
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1a0], eax
push 6
push 0
lea ecx, [ebp - 0x8b0]
push ecx
mov ecx, dword [ebp - 0x1a0]
call fcn.10041c40
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], edx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], eax
push 0
mov ecx, dword [ebp - 0x1ac]
call fcn.10040830
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x8b0]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8c8]
call fcn.1003a6f0
movsd xmm0, qword [0x10030fc8]
call fcn.1005b410
cvttsd2si ecx, xmm0
mov edx, dword [ebp - 0x14]
sub edx, ecx
mov dword [ebp - 0x14], edx
mov ecx, 0x10069138
call fcn.1003d940
cmp eax, 0x36
jae 0x10042351
lea eax, [ebp - 0x65c]
push eax
push 0x100691b0
lea ecx, [ebp - 0x8e0]
push ecx
call fcn.1003c340
add esp, 0xc
mov dword [ebp - 0x1b0], eax
mov edx, dword [ebp - 0x1b0]
push edx
mov ecx, 0x10069138
call fcn.1003e650
lea ecx, [ebp - 0x8e0]
call fcn.1003a6f0
push 0x100010c8
mov ecx, 0x100010c8
call fcn.1003e690
mov eax, dword [0x10001b30]
push eax
mov ecx, dword [0x10001b40]
push ecx
mov edx, dword [0x10001b2c]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0x10069120
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [0x10001b10]
push edx
push 0x10069198
lea eax, [ebp - 0x928]
push eax
call sym.desktop.d_lipped
add esp, 0x24
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], ecx
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
push 6
push 0
lea eax, [ebp - 0x910]
push eax
mov ecx, dword [ebp - 0x1bc]
call fcn.10041c40
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], ecx
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x1c4]
call fcn.1003d470
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov esi, eax
push 0x1002ab04
lea ecx, [ebp - 0x8f8]
call fcn.1003a330
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
call fcn.10040800
movzx edi, al
push 0x1002aad0
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
xor eax, edi
xor eax, esi
mov dword [ebp - 0x1d0], eax
mov edx, dword [0x10001b30]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1cc]
sub eax, dword [ebp - 0x1d0]
mov dword [0x10001b30], eax
lea ecx, [ebp - 0x8f8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x910]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x928]
call fcn.1003a6f0
lea ecx, [ebp - 0x24]
push ecx
mov ecx, 0x100010bc
call fcn.1003c2b0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea edx, [ebp - 0xb8]
push edx
push 0x10069120
call fcn.1003d980
add esp, 8
movzx eax, al
test eax, eax
jne 0x100424ba
mov dword [ebp - 0x11c], 1
jmp 0x100424c4
mov dword [ebp - 0x11c], 0
mov ecx, dword [0x10001b14]
sub ecx, dword [0x10001b38]
cmp ecx, dword [ebp - 0x11c]
jl 0x100424e4
mov dword [ebp - 0x120], 1
jmp 0x100424ee
mov dword [ebp - 0x120], 0
push 0x10069108
push 0x100690a8
call fcn.1003d980
add esp, 8
movzx edx, al
test edx, edx
jne 0x10042513
mov dword [ebp - 0x124], 1
jmp 0x1004251d
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0x124]
jg 0x1004253a
push 0x100010c8
mov ecx, 0x100010c8
call fcn.1003e690
push 0x100010bc
lea ecx, [ebp - 0x54]
call fcn.1003e690
mov dword [ebp - 0x9c], 0
jmp 0x10042562
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x54]
call fcn.10041c10
cmp dword [ebp - 0x9c], eax
jae 0x100429f6
push 0x1002ab10
lea ecx, [ebp - 0xc40]
call fcn.1003a330
mov byte [ebp - 4], 0x1c
push 0x1002ab30
lea ecx, [ebp - 0xc28]
call fcn.1003a330
mov byte [ebp - 4], 0x1d
push 0x1002ab4c
lea ecx, [ebp - 0xc10]
call fcn.1003a330
mov byte [ebp - 4], 0x1e
push 0x1002ab54
lea ecx, [ebp - 0xbf8]
call fcn.1003a330
mov byte [ebp - 4], 0x1f
push 0x1002ab70
lea ecx, [ebp - 0xbe0]
call fcn.1003a330
mov byte [ebp - 4], 0x20
push 0x1002ab88
lea ecx, [ebp - 0xbc8]
call fcn.1003a330
mov byte [ebp - 4], 0x21
push 0x1002aba8
lea ecx, [ebp - 0xbb0]
call fcn.1003a330
mov byte [ebp - 4], 0x22
push 0x1002abc4
lea ecx, [ebp - 0xb98]
call fcn.1003a330
mov byte [ebp - 4], 0x23
push 0x1002abec
lea ecx, [ebp - 0xb80]
call fcn.1003a330
mov byte [ebp - 4], 0x24
push 0x1002ac04
lea ecx, [ebp - 0xb68]
call fcn.1003a330
mov byte [ebp - 4], 0x25
push 0x1002ac0c
lea ecx, [ebp - 0xb50]
call fcn.1003a330
mov byte [ebp - 4], 0x26
push 0x1002ac2c
lea ecx, [ebp - 0xb38]
call fcn.1003a330
mov byte [ebp - 4], 0x27
push 0x1002ac48
lea ecx, [ebp - 0xb20]
call fcn.1003a330
mov byte [ebp - 4], 0x28
push 0x1002ac70
lea ecx, [ebp - 0xb08]
call fcn.1003a330
mov byte [ebp - 4], 0x29
push 0x1002ac90
lea ecx, [ebp - 0xaf0]
call fcn.1003a330
mov byte [ebp - 4], 0x2a
push 0x1002ac9c
lea ecx, [ebp - 0xad8]
call fcn.1003a330
mov byte [ebp - 4], 0x2b
push 0x1002acc4
lea ecx, [ebp - 0xac0]
call fcn.1003a330
mov byte [ebp - 4], 0x2c
push 0x1002ace8
lea ecx, [ebp - 0xaa8]
call fcn.1003a330
mov byte [ebp - 4], 0x2d
push 0x1002ad0c
lea ecx, [ebp - 0xa90]
call fcn.1003a330
mov byte [ebp - 4], 0x2e
push 0x1002ad24
lea ecx, [ebp - 0xa78]
call fcn.1003a330
mov byte [ebp - 4], 0x2f
push 0x1002ad34
lea ecx, [ebp - 0xa60]
call fcn.1003a330
mov byte [ebp - 4], 0x30
push 0x1002ad44
lea ecx, [ebp - 0xa48]
call fcn.1003a330
mov byte [ebp - 4], 0x31
push 0x1002ad64
lea ecx, [ebp - 0xa30]
call fcn.1003a330
mov byte [ebp - 4], 0x32
push 0x1002ad88
lea ecx, [ebp - 0xa18]
call fcn.1003a330
mov byte [ebp - 4], 0x33
push 0x1002ad90
lea ecx, [ebp - 0xa00]
call fcn.1003a330
mov byte [ebp - 4], 0x34
push 0x1002adac
lea ecx, [ebp - 0x9e8]
call fcn.1003a330
mov byte [ebp - 4], 0x35
push 0x1002adb0
lea ecx, [ebp - 0x9d0]
call fcn.1003a330
mov byte [ebp - 4], 0x36
push 0x1002adb4
lea ecx, [ebp - 0x9b8]
call fcn.1003a330
mov byte [ebp - 4], 0x37
push 0x1002add8
lea ecx, [ebp - 0x9a0]
call fcn.1003a330
mov byte [ebp - 4], 0x38
push 0x1002ade4
lea ecx, [ebp - 0x988]
call fcn.1003a330
mov byte [ebp - 4], 0x39
push 0x1002adf8
lea ecx, [ebp - 0x970]
call fcn.1003a330
mov byte [ebp - 4], 0x3a
push 0x1002ae08
lea ecx, [ebp - 0x958]
call fcn.1003a330
mov byte [ebp - 4], 0x3b
push 0x1002ae20
lea ecx, [ebp - 0x940]
call fcn.1003a330
lea ecx, [ebp - 0x940]
call fcn.1003a6f0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x958]
call fcn.1003a6f0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x970]
call fcn.1003a6f0
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x988]
call fcn.1003a6f0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x9a0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x9b8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x9d0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x9e8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0xa00]
call fcn.1003a6f0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xa18]
call fcn.1003a6f0
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0xa30]
call fcn.1003a6f0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xa48]
call fcn.1003a6f0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xa60]
call fcn.1003a6f0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xa78]
call fcn.1003a6f0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xa90]
call fcn.1003a6f0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xaa8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xac0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xad8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xaf0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xb08]
call fcn.1003a6f0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xb20]
call fcn.1003a6f0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xb38]
call fcn.1003a6f0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xb50]
call fcn.1003a6f0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xb68]
call fcn.1003a6f0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xb80]
call fcn.1003a6f0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xb98]
call fcn.1003a6f0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xbb0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xbc8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xbe0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xbf8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xc10]
call fcn.1003a6f0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xc28]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc40]
call fcn.1003a6f0
jmp 0x10042553
lea ecx, [ebp - 0x38]
call fcn.1003d490
mov dword [ebp - 0xa0], 0
jmp 0x10042a19
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
lea ecx, [ebp - 0x38]
call fcn.10041c10
cmp dword [ebp - 0xa0], eax
jae 0x10042bce
push 0x1002ae30
lea ecx, [ebp - 0xd60]
call fcn.1003a330
mov byte [ebp - 4], 0x3c
push 0x1002ae48
lea ecx, [ebp - 0xd48]
call fcn.1003a330
mov byte [ebp - 4], 0x3d
push 0x1002ae70
lea ecx, [ebp - 0xd30]
call fcn.1003a330
mov byte [ebp - 4], 0x3e
push 0x1002ae8c
lea ecx, [ebp - 0xd18]
call fcn.1003a330
mov byte [ebp - 4], 0x3f
push 0x1002ae98
lea ecx, [ebp - 0xd00]
call fcn.1003a330
mov byte [ebp - 4], 0x40
push 0x1002aea0
lea ecx, [ebp - 0xce8]
call fcn.1003a330
mov byte [ebp - 4], 0x41
push 0x1002aea8
lea ecx, [ebp - 0xcd0]
call fcn.1003a330
mov byte [ebp - 4], 0x42
push 0x1002aec0
lea ecx, [ebp - 0xcb8]
call fcn.1003a330
mov byte [ebp - 4], 0x43
push 0x1002aee4
lea ecx, [ebp - 0xca0]
call fcn.1003a330
mov byte [ebp - 4], 0x44
push 0x1002aef8
lea ecx, [ebp - 0xc88]
call fcn.1003a330
mov byte [ebp - 4], 0x45
push 0x1002af10
lea ecx, [ebp - 0xc70]
call fcn.1003a330
mov byte [ebp - 4], 0x46
push 0x1002af30
lea ecx, [ebp - 0xc58]
call fcn.1003a330
lea ecx, [ebp - 0xc58]
call fcn.1003a6f0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0xc70]
call fcn.1003a6f0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xc88]
call fcn.1003a6f0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0xca0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xcb8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xcd0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0xce8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xd00]
call fcn.1003a6f0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xd18]
call fcn.1003a6f0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xd30]
call fcn.1003a6f0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xd48]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd60]
call fcn.1003a6f0
jmp 0x10042a0a
mov dword [ebp - 0x58], 0
jmp 0x10042be0
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x38]
call fcn.10041c10
cmp dword [ebp - 0x58], eax
jae 0x10042f36
push 0x1002af48
lea ecx, [ebp - 0xfa0]
call fcn.1003a330
mov byte [ebp - 4], 0x47
push 0x1002af5c
lea ecx, [ebp - 0xf88]
call fcn.1003a330
mov byte [ebp - 4], 0x48
push 0x1002af84
lea ecx, [ebp - 0xf70]
call fcn.1003a330
mov byte [ebp - 4], 0x49
push 0x1002afa0
lea ecx, [ebp - 0xf58]
call fcn.1003a330
mov byte [ebp - 4], 0x4a
push 0x1002afbc
lea ecx, [ebp - 0xf40]
call fcn.1003a330
mov byte [ebp - 4], 0x4b
push 0x1002afdc
lea ecx, [ebp - 0xf28]
call fcn.1003a330
mov byte [ebp - 4], 0x4c
push 0x1002aff8
lea ecx, [ebp - 0xf10]
call fcn.1003a330
mov byte [ebp - 4], 0x4d
push 0x1002b014
lea ecx, [ebp - 0xef8]
call fcn.1003a330
mov byte [ebp - 4], 0x4e
push 0x1002b020
lea ecx, [ebp - 0xee0]
call fcn.1003a330
mov byte [ebp - 4], 0x4f
push 0x1002b038
lea ecx, [ebp - 0xec8]
call fcn.1003a330
mov byte [ebp - 4], 0x50
push 0x1002b03c
lea ecx, [ebp - 0xeb0]
call fcn.1003a330
mov byte [ebp - 4], 0x51
push 0x1002b040
lea ecx, [ebp - 0xe98]
call fcn.1003a330
mov byte [ebp - 4], 0x52
push 0x1002b054
lea ecx, [ebp - 0xe80]
call fcn.1003a330
mov byte [ebp - 4], 0x53
push 0x1002b070
lea ecx, [ebp - 0xe68]
call fcn.1003a330
mov byte [ebp - 4], 0x54
push 0x1002b088
lea ecx, [ebp - 0xe50]
call fcn.1003a330
mov byte [ebp - 4], 0x55
push 0x1002b090
lea ecx, [ebp - 0xe38]
call fcn.1003a330
mov byte [ebp - 4], 0x56
push 0x1002b094
lea ecx, [ebp - 0xe20]
call fcn.1003a330
mov byte [ebp - 4], 0x57
push 0x1002b0bc
lea ecx, [ebp - 0xe08]
call fcn.1003a330
mov byte [ebp - 4], 0x58
push 0x1002b0d0
lea ecx, [ebp - 0xdf0]
call fcn.1003a330
mov byte [ebp - 4], 0x59
push 0x1002b0e0
lea ecx, [ebp - 0xdd8]
call fcn.1003a330
mov byte [ebp - 4], 0x5a
push 0x1002b0fc
lea ecx, [ebp - 0xdc0]
call fcn.1003a330
mov byte [ebp - 4], 0x5b
push 0x1002b11c
lea ecx, [ebp - 0xda8]
call fcn.1003a330
mov byte [ebp - 4], 0x5c
push 0x1002b13c
lea ecx, [ebp - 0xd90]
call fcn.1003a330
mov byte [ebp - 4], 0x5d
push 0x1002b150
lea ecx, [ebp - 0xd78]
call fcn.1003a330
lea ecx, [ebp - 0xd78]
call fcn.1003a6f0
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xd90]
call fcn.1003a6f0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xda8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0xdc0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0xdd8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0xdf0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0xe08]
call fcn.1003a6f0
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0xe20]
call fcn.1003a6f0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xe38]
call fcn.1003a6f0
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xe50]
call fcn.1003a6f0
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0xe68]
call fcn.1003a6f0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xe80]
call fcn.1003a6f0
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0xe98]
call fcn.1003a6f0
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0xeb0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xec8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0xee0]
call fcn.1003a6f0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xef8]
call fcn.1003a6f0
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xf10]
call fcn.1003a6f0
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0xf28]
call fcn.1003a6f0
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xf40]
call fcn.1003a6f0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xf58]
call fcn.1003a6f0
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xf70]
call fcn.1003a6f0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xf88]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xfa0]
call fcn.1003a6f0
jmp 0x10042bd7
push 0x100690a8
push 0x100690f0
call fcn.1003d980
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x10042f5b
mov dword [ebp - 0x128], 1
jmp 0x10042f65
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x10001b1c]
sar edx, cl
cmp edx, dword [ebp - 0x128]
jle 0x10042f87
push 0x100010bc
mov ecx, 0x100010bc
call fcn.1003e690
push 0x1002b170
call fcn.1005af8b
add esp, 4
mov dword [ebp - 0x1d8], eax
mov eax, dword [0x10001b2c]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
sub ecx, dword [ebp - 0x1d8]
mov dword [0x10001b2c], ecx
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x38]
call fcn.1003c2b0
mov ecx, 0x100690c0
call fcn.1003d940
cmp eax, 0x66
jae 0x1004304d
push 0x10069150
push 0x100690d8
push 0x10069108
lea eax, [ebp - 0xfd0]
push eax
call fcn.1003c340
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], ecx
mov byte [ebp - 4], 0x5e
mov edx, dword [ebp - 0x1e0]
push edx
lea eax, [ebp - 0xfb8]
push eax
call fcn.1003d9a0
add esp, 0xc
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
push ecx
mov ecx, 0x100690c0
call fcn.1003e650
lea ecx, [ebp - 0xfb8]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xfd0]
call fcn.1003a6f0
lea edx, [ebp - 0xb8]
push edx
push 0x10069198
call fcn.1003d980
add esp, 8
movzx eax, al
test eax, eax
jne 0x10043074
mov dword [ebp - 0xbc], 1
jmp 0x1004307e
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebp - 0x14]
add ecx, dword [0x10001b34]
cmp ecx, dword [ebp - 0xbc]
jg 0x10043191
mov ecx, 0x10069120
call fcn.1003d470
mov dword [ebp - 0x1f0], eax
mov edx, dword [0x10001b30]
push edx
mov eax, dword [0x10001b40]
push eax
mov ecx, dword [0x10001b2c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x10069120
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x10001b10]
push ecx
push 0x10069198
lea edx, [ebp - 0x1000]
push edx
call sym.desktop.d_lipped
add esp, 0x24
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
mov byte [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x1ec]
call fcn.1003d470
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f0]
push ecx
mov edx, dword [ebp - 0x1f4]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpCA]
mov esi, eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, eax
sub edi, esi
push 0
push 0x1002b190
lea ecx, [ebp - 0xfe8]
call fcn.1003a330
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x1f8]
call fcn.1003d470
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindOnPathA]
xor eax, edi
mov dword [ebp - 0x200], eax
mov eax, dword [0x10001b30]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
add ecx, dword [ebp - 0x200]
mov dword [0x10001b30], ecx
lea ecx, [ebp - 0xfe8]
call fcn.1003a6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1000]
call fcn.1003a6f0
push 0x10069108
push 0x100691c8
call fcn.1003d980
add esp, 8
movzx edx, al
test edx, edx
jne 0x100431b6
mov dword [ebp - 0xc0], 1
jmp 0x100431c0
mov dword [ebp - 0xc0], 0
mov eax, dword [0x10001b1c]
imul eax, dword [0x10001b3c]
cmp dword [ebp - 0xc0], eax
je 0x100431e0
mov dword [ebp - 0xc4], 1
jmp 0x100431ea
mov dword [ebp - 0xc4], 0
mov ecx, dword [0x10001b30]
sub ecx, dword [ebp - 0x14]
cmp dword [ebp - 0xc4], ecx
je 0x10043205
mov ecx, 0x100010c8
call fcn.1003d490
push 0
push 0x1002b1b0
mov ecx, 0x100690a8
call fcn.10040970
mov esi, eax
mov edx, dword [ebp - 0x18]
push edx
push 0x10069150
push 0x10069168
push 0x10069168
mov eax, dword [0x10001b34]
push eax
mov ecx, dword [0x10001b28]
push ecx
mov edx, dword [0x10001b38]
push edx
lea eax, [ebp - 0xb8]
push eax
call fcn.1003f260
add esp, 0x20
add esi, eax
mov dword [ebp - 0x208], esi
mov ecx, dword [0x10001b28]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
add edx, dword [ebp - 0x208]
mov dword [0x10001b28], edx
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x100010c8
call fcn.1003c2b0
lea ecx, [ebp - 0x24]
push ecx
mov ecx, 0x100010bc
call fcn.1003c2b0
mov dword [ebp - 0x20c], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call fcn.1003a750
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x38]
call fcn.1003a750
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
call fcn.1003a750
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x65c]
call fcn.1003a6f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x140]
call fcn.1003a6f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x158]
call fcn.1003a6f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.1003a6f0
mov eax, dword [ebp - 0x20c]
jmp 0x10048dc2
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc