Function at 0x10005fe0
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10081233
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x1009d084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], 0
push 0xb8
lea ecx, [ebp - 0x1e0]
call fcn.10005cb0
push 1
push 0x40
push 0x20
push str.unpack_config.txt
lea ecx, [ebp - 0x1e0]
call fcn.10007e40
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x1e0]
call fcn.10002ff0
movzx edx, al
test edx, edx
je 0x10006232
mov dword [ebp - 0x204], 0
lea ecx, [ebp - 0x70]
call fcn.10009d70
mov byte [ebp - 4], 1
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x1e0]
push ecx
call fcn.1000db20
add esp, 8
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x220]
add ecx, dword [eax + 4]
call fcn.10002ff0
movzx ecx, al
test ecx, ecx
je 0x10006216
mov edx, dword [ebp - 0x204]
add edx, 1
mov dword [ebp - 0x204], edx
lea ecx, [ebp - 0x70]
call fcn.10009800
movzx eax, al
test eax, eax
je 0x100060d0
jmp 0x10006076
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x208], ecx
cmp dword [ebp - 0x208], 1
je 0x10006104
cmp dword [ebp - 0x208], 2
je 0x1000617b
cmp dword [ebp - 0x208], 3
je 0x100061d9
jmp 0x10006211
push 0xb0
lea ecx, [ebp - 0x120]
call fcn.10006c00
push 1
lea ecx, [ebp - 0x120]
call fcn.10006d80
mov byte [ebp - 4], 2
lea edx, [ebp - 0x110]
lea eax, [ebp - 0x70]
push eax
push edx
call fcn.1000df80
add esp, 8
mov dword [ebp - 0x274], 0
push 0x10003590
lea ecx, [ebp - 0x120]
call fcn.10007f70
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x24c]
call fcn.10007f50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x120]
call fcn.10006bd0
jmp 0x10006211
push 0xa
push 0
lea edx, [ebp - 0x70]
push edx
call fcn.10001610
add esp, 0xc
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 3
jne 0x100061a3
mov byte [0x100a026e], 1
jmp 0x100061d7
cmp dword [ebp - 0x1f0], 4
jne 0x100061b5
mov byte [0x100a026e], 2
jmp 0x100061d7
cmp dword [ebp - 0x1f0], 5
jne 0x100061c7
mov byte [0x100a026e], 3
jmp 0x100061d7
cmp dword [ebp - 0x1f0], 6
jne 0x100061d7
mov byte [0x100a026e], 4
jmp 0x10006211
push 0xa
push 0
lea eax, [ebp - 0x70]
push eax
call fcn.10001610
add esp, 0xc
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 1
jne 0x10006201
mov byte [0x100a026d], 1
jmp 0x10006211
cmp dword [ebp - 0x224], 2
jne 0x10006211
mov byte [0x100a026d], 2
jmp 0x10006076
lea ecx, [ebp - 0x1e0]
call fcn.10007d40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x70]
call fcn.10009aa0
jmp 0x1000642f
mov byte [ebp - 0x50], 0x43
mov byte [ebp - 0x4f], 0x50
mov byte [ebp - 0x4e], 0x79
mov byte [ebp - 0x4d], 0x74
mov byte [ebp - 0x4c], 0x68
mov byte [ebp - 0x4b], 0x6f
mov byte [ebp - 0x4a], 0x6e
mov byte [ebp - 0x49], 0x4e
mov byte [ebp - 0x48], 0x6f
mov byte [ebp - 0x47], 0x6e
mov byte [ebp - 0x46], 0x50
mov byte [ebp - 0x45], 0x6c
mov byte [ebp - 0x44], 0x61
mov byte [ebp - 0x43], 0x79
mov byte [ebp - 0x42], 0x65
mov byte [ebp - 0x41], 0x72
mov byte [ebp - 0x40], 0x3a
mov byte [ebp - 0x3f], 0x3a
mov byte [ebp - 0x3e], 0x4c
mov byte [ebp - 0x3d], 0x6f
mov byte [ebp - 0x3c], 0x61
mov byte [ebp - 0x3b], 0x64
mov byte [ebp - 0x3a], 0x4e
mov byte [ebp - 0x39], 0x6f
mov byte [ebp - 0x38], 0x6e
mov byte [ebp - 0x37], 0x50
mov byte [ebp - 0x36], 0x6c
mov byte [ebp - 0x35], 0x61
mov byte [ebp - 0x34], 0x79
mov byte [ebp - 0x33], 0x65
mov byte [ebp - 0x32], 0x72
mov byte [ebp - 0x31], 0x44
mov byte [ebp - 0x30], 0x61
mov byte [ebp - 0x2f], 0x74
mov byte [ebp - 0x2e], 0x61
mov byte [ebp - 0x2d], 0x3a
mov byte [ebp - 0x2c], 0x20
mov byte [ebp - 0x2b], 0x25
mov byte [ebp - 0x2a], 0x73
mov dword [ebp - 0x128], str.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
push 8
lea ecx, [ebp - 0x28]
call fcn.10006c20
lea ecx, [ebp - 0x50]
call fcn.10006cf0
mov dword [ebp - 0x26c], eax
lea ecx, [ebp - 0x26c]
push ecx
lea edx, [ebp - 0x128]
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.1000e030
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.10008170
test eax, eax
jne 0x1000634e
push 0
push 0
push str.SPattern_init_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10008120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x278], esp
lea edx, [ebp - 0x28]
push edx
call fcn.10008140
call fcn.10004b10
add esp, 8
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jne 0x100063b9
push 0
push 0
push str.SearchPattern_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10008120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
mov byte [ebp - 0x1e1], 0
lea ecx, [ebp - 0x1e1]
push ecx
lea ecx, [ebp - 0x50]
call fcn.10006d00
lea ecx, [ebp - 0x28]
call fcn.100080e0
mov edx, dword [ebp - 0x228]
push edx
call fcn.10004c10
add esp, 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x10006423
push 0
push 0
push str.SearchFunction_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10008120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.10008120
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x10006471
push 0
push 0
push str.LoadLibraryA_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
push 0x10093bb8
mov eax, dword [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jne 0x100064ba
push 0
push 0
push str.GetProcAddress_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
push 0xc
lea ecx, [ebp - 0x1c]
call fcn.10006c40
lea ecx, [ebp - 0x1c]
call fcn.10009330
mov byte [ebp - 4], 4
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x124], ecx
lea ecx, [ebp - 0x1c]
call fcn.100091e0
cmp eax, 3
je 0x10006520
mov edx, dword [ebp - 0x124]
movzx eax, byte [edx]
cmp eax, 0xe8
jne 0x1000650f
lea ecx, [ebp - 0x124]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.10006ba0
mov edx, dword [ebp - 0x124]
add edx, 1
mov dword [ebp - 0x124], edx
jmp 0x100064e3
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
call fcn.10009230
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x230]
call fcn.10009210
mov dword [ebp - 0x260], eax
jmp 0x1000655c
mov ecx, dword [ebp - 0x1f4]
add ecx, 4
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x1f4]
cmp edx, dword [ebp - 0x260]
je 0x10006578
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x27c], eax
jmp 0x1000654d
push 0
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov ecx, dword [eax]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x1f8], 0
jne 0x100065c7
mov eax, dword [ebp - 0x124]
sub eax, 1
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
cmp edx, 0xe8
jne 0x100065c5
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x1f8], eax
jmp 0x10006590
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + 1]
mov eax, dword [ebp - 0x1f8]
lea ecx, [eax + edx + 5]
mov dword [0x100a0270], ecx
cmp dword [0x100a0270], 0
jne 0x1000661d
push 0
push 0
push str.Address1_find_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
mov dword [ebp - 0x20c], 0
push 0
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov edx, dword [eax]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x21c]
add ecx, 0x40
cmp dword [ebp - 0x1e8], ecx
jae 0x100066bf
mov edx, dword [ebp - 0x1e8]
mov ax, word [edx]
mov word [ebp - 0x1fc], ax
movzx ecx, word [ebp - 0x1fc]
cmp ecx, 0x15ff
jne 0x100066ae
mov edx, dword [ebp - 0x1e8]
mov eax, dword [edx + 2]
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx]
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x234]
jne 0x100066ac
mov ecx, dword [ebp - 0x1e8]
mov dword [ebp - 0x20c], ecx
jmp 0x100066bf
mov edx, dword [ebp - 0x1e8]
add edx, 1
mov dword [ebp - 0x1e8], edx
jmp 0x10006645
cmp dword [ebp - 0x20c], 0
je 0x10006725
lea ecx, [ebp - 0x1c]
call fcn.10009240
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x124], eax
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.100092c0
lea ecx, [ebp - 0x1c]
call fcn.100091e0
cmp eax, 3
je 0x10006725
mov edx, dword [ebp - 0x124]
movzx eax, byte [edx]
cmp eax, 0xe8
jne 0x10006714
lea ecx, [ebp - 0x124]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.10006ba0
mov edx, dword [ebp - 0x124]
add edx, 1
mov dword [ebp - 0x124], edx
jmp 0x100066e8
cmp dword [0x100a0274], 0
jne 0x100069f6
push 0
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov eax, dword [eax]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x214]
add edx, 0x20
cmp dword [ebp - 0x1ec], edx
jae 0x100067af
mov eax, dword [ebp - 0x1ec]
mov cx, word [eax]
mov word [ebp - 0x200], cx
movzx edx, word [ebp - 0x200]
cmp edx, 0xd8b
jne 0x1000679e
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + 2]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x270]
mov eax, dword [edx]
mov dword [0x100a0274], eax
jmp 0x100067af
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
mov dword [ebp - 0x1ec], ecx
jmp 0x10006750
cmp dword [0x100a0274], 0
je 0x100069f6
movzx edx, byte [0x100a026d]
cmp edx, 2
jne 0x100068e0
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov eax, dword [eax]
mov dword [ebp - 0x238], eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov ecx, dword [eax]
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x238]
push edx
mov eax, dword [ebp - 0x23c]
push eax
call fcn.10005f20
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10006836
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov esi, eax
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov edx, dword [eax]
mov eax, dword [esi]
mov ecx, dword [edx + 1]
lea edx, [eax + ecx + 5]
mov dword [0x100a027c], edx
jmp 0x1000689e
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov eax, dword [eax]
mov dword [ebp - 0x240], eax
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov ecx, dword [eax]
mov dword [ebp - 0x244], ecx
mov edx, dword [ebp - 0x240]
push edx
mov eax, dword [ebp - 0x244]
push eax
call fcn.10005f20
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1000689e
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov esi, eax
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov edx, dword [eax]
mov eax, dword [esi]
mov ecx, dword [edx + 1]
lea edx, [eax + ecx + 5]
mov dword [0x100a027c], edx
cmp dword [0x100a027c], 0
jne 0x100068db
push 0
push 0
push 0x10093bec
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
jmp 0x100069f6
mov byte [0x100a026d], 1
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov eax, dword [eax]
mov dword [ebp - 0x248], eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x25c]
push eax
call fcn.10005f20
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10006951
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov esi, eax
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov edx, dword [eax]
mov eax, dword [esi]
mov ecx, dword [edx + 1]
lea edx, [eax + ecx + 5]
mov dword [0x100a027c], edx
jmp 0x100069b9
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov eax, dword [eax]
mov dword [ebp - 0x250], eax
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x250]
push edx
mov eax, dword [ebp - 0x254]
push eax
call fcn.10005f20
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x100069b9
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov esi, eax
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov edx, dword [eax]
mov eax, dword [esi]
mov ecx, dword [edx + 1]
lea edx, [eax + ecx + 5]
mov dword [0x100a027c], edx
cmp dword [0x100a027c], 0
jne 0x100069f6
push 0
push 0
push 0x10093c00
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
cmp dword [0x100a027c], 0
jne 0x10006b1e
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov esi, eax
push 1
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov eax, dword [eax]
mov ecx, dword [esi]
mov edx, dword [eax + 1]
lea eax, [ecx + edx + 5]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jne 0x10006a67
push 0
push 0
push str.Address2.1_find_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
call dword [ebp - 0x218]
mov dword [0x100a0274], eax
cmp dword [0x100a0274], 0
jne 0x10006aaf
push 0
push 0
push str.Address2.2_find_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
mov byte [0x100a026d], 1
mov byte [0x100a026e], 1
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov esi, eax
push 2
lea ecx, [ebp - 0x1c]
call fcn.100091a0
mov ecx, dword [eax]
mov edx, dword [esi]
mov eax, dword [ecx + 1]
lea ecx, [edx + eax + 5]
mov dword [0x100a027c], ecx
cmp dword [0x100a027c], 0
jne 0x10006b1e
push 0
push 0
push str.Address3_find_fail
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
jmp 0x10006b7f
mov dword [ebp - 0x58], 0
lea edx, [ebp - 0x58]
push edx
push 0
push 0
push 0x10005d20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x10006b61
cmp dword [ebp - 0x210], 0xffffffff
je 0x10006b61
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10009310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.10005c80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10030d05
mov esp, ebp
pop ebp
ret