Function at 0x10025520
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x49c
mov eax, dword [0x1008a00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x14]
push 0x400
mov dword [0x1009054c], eax
lea eax, [ebp - 0x470]
push 0
push eax
mov dword [0x10090548], esi
call fcn.10008270
add esp, 0xc
test esi, esi
je 0x10025586
mov esi, dword [esi]
test esi, esi
je 0x10025586
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0x10090548]
mov ecx, esi
mov edx, dword [esi]
mov dword [eax], edx
call fcn.1002e780
lea ecx, [ebp - 0x470]
call fcn.1002ea10
test eax, eax
je 0x100258e0
lea ecx, [ebp - 0x470]
call fcn.1002d850
mov esi, eax
call fcn.10001640
mov ecx, eax
test ecx, ecx
je 0x100258ef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x490]
push esi
mov dword [ebp - 0x490], eax
call fcn.10003150
test al, al
jne 0x100255f6
test esi, esi
jne 0x100255db
xor ecx, ecx
jmp 0x100255e9
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100255e0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x490]
call fcn.10003830
push ebx
push edi
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0x776c6853
push eax
mov word [ebp - 0x38], 0x6c64
mov word [ebp - 0x3b], 0x6970
mov byte [ebp - 0x39], 0x2e
mov word [ebp - 0x36], 0x6c
mov byte [ebp - 0x3c], 0x61
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x100256bd
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x26], 0x65766f6d
push eax
push edi
mov dword [ebp - 0x21], 0x6e657478
mov word [ebp - 0x2c], 0x6150
mov word [ebp - 0x29], 0x5268
mov word [ebp - 0x1d], 0x6973
mov word [ebp - 0x1a], 0x416e
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x1b], 0x6f
mov byte [ebp - 0x22], 0x45
mov byte [ebp - 0x2a], 0x74
mov byte [ebp - 0x27], 0x65
call ebx
mov esi, dword [ebp - 0x490]
mov dword [ebp - 0x494], eax
test eax, eax
je 0x100256b4
cmp dword [esi - 4], 1
jle 0x100256a4
push dword [esi - 0xc]
lea ecx, [ebp - 0x490]
call fcn.10003270
mov esi, dword [ebp - 0x490]
mov eax, dword [ebp - 0x494]
push esi
call eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x490]
call fcn.10002f20
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x100256c3
mov esi, dword [ebp - 0x490]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4d], 0x33697061
push eax
mov dword [ebp - 0x49], 0x6c642e32
mov word [ebp - 0x50], 0x6441
mov word [ebp - 0x45], 0x6c
mov byte [ebp - 0x4e], 0x76
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x100258c6
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x72617453
push eax
push edi
mov dword [ebp - 0x6b], 0x76726553
mov word [ebp - 0x64], 0x41
mov word [ebp - 0x67], 0x6369
mov byte [ebp - 0x65], 0x65
mov byte [ebp - 0x6c], 0x74
call ebx
mov dword [ebp - 0x498], eax
lea eax, [ebp - 0x2c]
push eax
push edi
mov dword [ebp - 0x29], 0x65537972
mov word [ebp - 0x2c], 0x7551
mov dword [ebp - 0x23], 0x53656369
mov word [ebp - 0x1b], 0x73
mov word [ebp - 0x25], 0x7672
mov word [ebp - 0x1e], 0x7461
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x1c], 0x75
mov byte [ebp - 0x1f], 0x74
call ebx
cmp dword [ebp - 0x498], 0
mov dword [ebp - 0x34], eax
je 0x100258c6
test eax, eax
je 0x100258c6
push 0xf003f
call fcn.1002e6d0
add esp, 4
mov dword [ebp - 0x494], eax
test eax, eax
je 0x100258aa
lea eax, [ebp - 0x14]
mov word [ebp - 0xe], 0x3233
push eax
xor edi, edi
mov dword [ebp - 0xb], 0x6c6c64
mov dword [ebp - 0x12], 0x69706176
mov word [ebp - 0x14], 0x6441
mov byte [ebp - 0xc], 0x2e
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x49c], eax
test eax, eax
je 0x1002589f
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x58], 0x41656369
push ecx
push eax
mov word [ebp - 0x60], 0x704f
mov dword [ebp - 0x5d], 0x7265536e
mov byte [ebp - 0x54], 0
mov byte [ebp - 0x5e], 0x65
mov byte [ebp - 0x59], 0x76
call ebx
test eax, eax
je 0x10025800
push 0x14
push esi
push dword [ebp - 0x494]
call eax
mov edi, eax
push dword [ebp - 0x49c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x1002589f
lea eax, [ebp - 0x48c]
push eax
push edi
call dword [ebp - 0x34]
test eax, eax
je 0x10025898
cmp dword [ebp - 0x488], 1
jne 0x10025898
mov esi, 0x1388
lea eax, [ebp - 0x14]
mov word [ebp - 0x33], 0x656c
push eax
mov word [ebp - 0x30], 0x70
mov byte [ebp - 0x34], 0x53
mov byte [ebp - 0x31], 0x65
mov word [ebp - 0x10], 0x6c65
mov dword [ebp - 0xd], 0x6c642e32
mov byte [ebp - 0xe], 0x33
mov word [ebp - 9], 0x6c
mov dword [ebp - 0x14], 0x6e72654b
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [ebp - 0x34]
push ecx
push eax
call ebx
test eax, eax
je 0x1002587b
push esi
call eax
push 0
push 0
push edi
call dword [ebp - 0x498]
test eax, eax
jne 0x10025898
add esi, 0x1388
cmp esi, 0x61a8
jl 0x10025831
mov ecx, edi
call fcn.1002ecc0
mov ecx, dword [ebp - 0x494]
call fcn.1002ecc0
lea ecx, [ebp - 0x490]
call fcn.10002450
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006166
mov esp, ebp
pop ebp
ret
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x100258de
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.10006166
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10001300
int3