Function at 0x419800
Capabilities:
Access peb ldr_data
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x555291
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
push ebx
push esi
push edi
mov edi, ecx
mov eax, 0x569c44
xor ecx, ecx
lea esi, [edi + 4]
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], edi
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], ecx
mov dword [ebp - 4], ecx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x24], ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x34], ecx
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [edi + 0x40]
push eax
mov dword [edi], 0x569c40
call ebx
add edi, 0x58
push edi
call ebx
mov eax, dword [0x5c2a74]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
push 0x5a64ac
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
call fcn.00542347
push str.application_octet_stream
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
xor edi, edi
lea ecx, [ebx + 1]
mov dword [ebp - 0x14], edi
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a648c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_zip
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a648c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_zip_compressed
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6458
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_rar_compressed
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], 1
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a6434
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6430
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a642c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a6428
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6424
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6420
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a641c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6418
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
mov eax, dword [esi + 4]
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6414
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a6410
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a640c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6408
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a6404
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebx + ebx*2]
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6400
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a63fc
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a63f8
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a63f4
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a63f0
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a63ec
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a63e8
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a63e4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_gtar
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], 1
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a63e4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_tar
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a63b8
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_compressed
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
mov dword [ebp - 0x14], 1
push 0xffffffffffffffff
lea eax, [ebx + 1]
push eax
mov ecx, esi
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6398
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a6394
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6390
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a638c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a6388
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
mov ecx, esi
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6384
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6380
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
push 0x5a637c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6378
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6374
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
mov dword [ebp - 0x14], edi
push eax
mov ecx, esi
call fcn.0041b880
push 0x5a6370
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a636c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a6368
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6364
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a6360
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a635c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6358
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a6354
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6350
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a634c
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a6348
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6344
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_compress
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push 0x5a6328
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_gzip
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push str.GZIP
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a6308
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_msword
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a6328
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_gzip
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov dword [ebp - 0x14], ebx
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a62dc
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_aim
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push 0x5a62c4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_avi
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
lea eax, [ebp - 0x1c]
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a62c4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_msvideo
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a62c4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_msvideo
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a62c4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_troff_msvideo
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov dword [ebp - 0x14], ebx
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6278
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.audio_mp3
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push 0x5a6278
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.audio_mpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebx + ebx*2]
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6278
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.audio_x_mpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a624c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_mpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push str.MPEG
lea ecx, [ebp - 0x18]
call fcn.00542347
mov dword [ebp - 0x14], ebx
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a624c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_mpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push str.MPEG
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a624c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_mpg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, 1
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push str.MPEG
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a624c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_mpg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push str.MPEG
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a620c
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_quicktime
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a61f8
lea ecx, [ebp - 0x18]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a61f4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_ms_asf
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push 0x5a61e0
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_ms_wmv
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a61cc
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_tiff
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push str.TIFF
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a61b4
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_pdf
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a61a0
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.audio_wav
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
mov dword [ebp - 0x14], ebx
push eax
mov ecx, esi
call fcn.0041b880
push 0x5a61a0
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.audio_x_wav
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov dword [ebp - 0x14], ebx
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6184
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.audio_x_ms_wma
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push 0x5a64ac
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_msdownload
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6154
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_flv
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a6154
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_flv
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a6138
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_bmp
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov dword [ebp - 0x14], ebx
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6138
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_x_bmp
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push 0x5a6138
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_x_windows_bmp
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6108
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_gif
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a60f8
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_jpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push str.jpeg
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_jpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a60e0
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_jpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push str.jfif
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_jpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a60f8
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_pjpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], 1
call fcn.0041b880
push str.jpeg
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_pjpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a60e0
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_pjpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
mov dword [ebp - 0x14], edi
push 0xffffffffffffffff
lea eax, [ebx + 1]
mov ecx, esi
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push str.jfif
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_pjpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a60c8
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_png
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], 1
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a60c8
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_x_png
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov ebx, 1
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a60ac
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.image_x_icon
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.0041b880
push 0x5a6098
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.application_x_msdownload
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x14], edi
mov ecx, esi
lea eax, [ebx + 1]
push eax
call fcn.0041b700
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x1c]
lea edx, [ebx + ebx*2]
push ecx
lea ecx, [eax + edx*4]
call fcn.00408ea0
push 0x5a6094
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_mpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a6094
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_mpeg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ebx, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x14], edi
lea edx, [ebx + 1]
push edx
call fcn.0041b700
mov edx, dword [esi + 4]
lea ecx, [ebx + ebx*2]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edx + ecx*4]
call fcn.00408ea0
push 0x5a6094
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_x_mpg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
push 0x5a6094
lea ecx, [ebp - 0x18]
call fcn.00542347
push str.video_mpg
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov eax, dword [esi + 8]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x14], edi
call fcn.0041b880
lea eax, [ebp - 0x20]
push eax
push 0x20019
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push str.SOFTWAREClasses
push reloc.WSOCK32.dll_bind
call edi
test eax, eax
jne 0x41ae02
push eax
push eax
push eax
push eax
push eax
lea ecx, [ebp - 0x38]
push eax
lea edx, [ebp - 0x28]
push ecx
push edx
push eax
push eax
push eax
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
jne 0x41adf8
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x41adf8
mov dword [ebp - 0x30], 0
xor ebx, ebx
test ebx, ebx
jne 0x41adf8
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x13c]
push 0x104
push ecx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
mov ebx, eax
test ebx, ebx
jne 0x41adf0
cmp byte [ebp - 0x13c], 0x2e
jne 0x41adf0
lea ecx, [ebp - 0x13b]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00542347
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x24]
push edx
push 0x20019
lea eax, [ebp - 0x13c]
push ebx
push eax
push ecx
call edi
test eax, eax
jne 0x41adf0
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x13c]
push edx
push eax
push ebx
push ebx
push str.Content_Type
push ecx
mov dword [ebp - 0x2c], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x41ade6
lea edx, [ebp - 0x13c]
lea ecx, [ebp - 0x1c]
push edx
call fcn.00542347
mov eax, dword [ebp - 0x34]
push 0xffffffffffffffff
mov dword [ebp - 0x14], 1
mov edi, dword [eax + 0x20]
lea esi, [eax + 0x18]
lea ecx, [edi + 1]
push ecx
mov ecx, esi
call fcn.0041b700
mov ecx, dword [esi + 4]
lea eax, [edi + edi*2]
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ecx + eax*4]
call fcn.00408ea0
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x30]
jmp 0x41ad18
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x20]
push ecx
push 0x20019
push 0
push str.MIMEDatabaseContent_Type
push connect
call edi
test eax, eax
jne 0x41af1c
push eax
push eax
push eax
mov ecx, dword [ebp - 0x20]
push eax
push eax
push eax
lea edx, [ebp - 0x38]
lea eax, [ebp - 0x2c]
push edx
push eax
push 0
push 0
push 0
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
jne 0x41af12
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x41af12
xor ebx, ebx
xor esi, esi
test esi, esi
jne 0x41af12
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x13c]
push 0x104
push edx
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
mov esi, eax
test esi, esi
jne 0x41af0c
lea ecx, [ebp - 0x13c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00542347
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x24]
push edx
push 0x20019
lea eax, [ebp - 0x13c]
push esi
push eax
push ecx
call edi
test eax, eax
jne 0x41af0c
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x13c]
push edx
push eax
push esi
push esi
push str.Extension
push ecx
mov dword [ebp - 0x28], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x41af02
cmp byte [ebp - 0x13c], 0x2e
jne 0x41af02
lea edx, [ebp - 0x13b]
lea ecx, [ebp - 0x18]
push edx
call fcn.00542347
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x1c]
push edx
mov dword [ebp - 0x14], 1
lea ecx, [eax + 0x2c]
mov eax, dword [eax + 0x34]
push eax
call fcn.0041b880
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc ebx
jmp 0x41ae56
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.005421be
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.005421be
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret