Function at 0x410b87
Capabilities:
Contain obfuscated stackstrings
Extract resource via kernel32 functions
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x444dc6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x2a3c
call fcn.00444790
push edi
push 0x2349
push 0x68
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x29ac], eax
cmp dword [ebp - 0x29ac], 0
jne 0x410be6
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00410735
add esp, 4
test eax, eax
je 0x410bdf
jmp 0x410c6d
xor eax, eax
jmp 0x4114b5
mov edx, dword [ebp - 0x29ac]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x289c], eax
cmp dword [ebp - 0x289c], 0
jne 0x410c21
push 0x10
push 0x4f8244
push 0x4f824c
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x4114b5
mov ecx, dword [ebp - 0x289c]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [0x52da14], eax
cmp dword [0x52da14], 0
jne 0x410c57
push 0x10
push 0x4f8268
push str.Cant_load_dll_from_Res_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x4114b5
mov edx, dword [ebp - 0x29ac]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
push 0x2658
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
mov ecx, dword [0x52da14]
lea edx, [ecx + eax - 0x2658]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x1ff
div ecx
mov dword [0x52dcfc], edx
mov byte [ebp - 0x2684], 0x14
mov byte [ebp - 0x2683], 0x28
mov byte [ebp - 0x2682], 0x30
mov byte [ebp - 0x2681], 0x60
mov byte [ebp - 0x2680], 0xc8
mov byte [ebp - 0x267f], 0x30
mov byte [ebp - 0x267e], 0x45
mov byte [ebp - 0x267d], 0x12
mov byte [ebp - 0x267c], 0x18
mov byte [ebp - 0x267b], 0x61
mov byte [ebp - 0x267a], 0xe
mov byte [ebp - 0x2679], 0
mov byte [ebp - 0x2678], 0x22
mov byte [ebp - 0x2677], 0
mov byte [ebp - 0x2676], 0x20
mov byte [ebp - 0x2675], 0
mov byte [ebp - 0x2674], 0x90
mov byte [ebp - 0x2673], 0x66
mov byte [ebp - 0x2672], 0xe
mov byte [ebp - 0x2671], 0
mov byte [ebp - 0x2670], 0xe8
mov byte [ebp - 0x266f], 2
mov byte [ebp - 0x266e], 0x7f
mov byte [ebp - 0x266d], 0x3a
mov byte [ebp - 0x266c], 0x6b
mov byte [ebp - 0x266b], 0x23
mov byte [ebp - 0x266a], 0x36
mov byte [ebp - 0x2669], 0x20
mov byte [ebp - 0x2668], 0x80
mov byte [ebp - 0x2667], 0x60
mov byte [ebp - 0x2666], 0x30
mov byte [ebp - 0x2665], 0
push 0x4cc
lea edx, [ebp - 0x2684]
push edx
push 0x64
mov eax, dword [ebp + 0xc]
add eax, 0x128
push eax
call fcn.004030c1
add esp, 0x10
mov dword [ebp - 0x2894], 0
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x2a14], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x2a14], 0
je 0x410de2
mov ecx, dword [ebp - 0x2a14]
call fcn.004068a0
mov dword [ebp - 0x2a38], eax
jmp 0x410dec
mov dword [ebp - 0x2a38], 0
mov ecx, dword [ebp - 0x2a38]
mov dword [ebp - 0x2a10], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2a10]
mov dword [ebp - 0x2890], edx
mov al, byte [0x52dd30]
mov byte [ebp - 0x288c], al
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x288b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x288c]
push ecx
call fcn.0041069d
add esp, 4
push 0x2658
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x2664]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov ecx, 1
test ecx, ecx
je 0x411408
mov dword [ebp - 0x29c8], 0xffffffa4
push 0x2658
lea edx, [ebp - 0x2664]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 0x570]
cmp edx, 1
jne 0x410ec1
lea eax, [ebp - 0x29a8]
push eax
mov ecx, dword [ebp - 0x2894]
push ecx
mov ecx, dword [ebp - 0x2890]
call fcn.00409a20
mov dword [ebp - 0x29c8], eax
lea edx, [ebp - 0x29a8]
push edx
mov ecx, dword [ebp - 0x2890]
call fcn.00406a10
jmp 0x410ef4
lea eax, [ebp - 0x29a8]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x560]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x564]
push ecx
mov edx, dword [ebp - 0x2894]
push edx
mov ecx, dword [ebp - 0x2890]
call fcn.004099d2
mov dword [ebp - 0x29c8], eax
cmp dword [ebp - 0x29c8], 0
je 0x410fa2
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [eax + 0x558]
cmp ecx, 1
jne 0x410f4a
cmp dword [0x52dc78], 0
jne 0x410f4a
mov dword [0x52dc78], 1
lea edx, [ebp - 0x288c]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00410969
add esp, 8
test eax, eax
je 0x410f4a
mov dword [ebp - 0x2894], 0
jmp 0x410e4f
mov ecx, dword [ebp - 0x2890]
mov dword [ebp - 0x2a1c], ecx
mov edx, dword [ebp - 0x2a1c]
mov dword [ebp - 0x2a18], edx
cmp dword [ebp - 0x2a18], 0
je 0x410f85
push 1
mov eax, dword [ebp - 0x2a18]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2a18]
call dword [edx]
mov dword [ebp - 0x2a3c], eax
jmp 0x410f8f
mov dword [ebp - 0x2a3c], 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.004104d5
add esp, 4
xor eax, eax
jmp 0x4114b5
lea ecx, [ebp - 0x29a8]
push ecx
push 0x10
mov edx, dword [ebp + 0xc]
add edx, 0x118
push edx
call fcn.00402f75
add esp, 0xc
test eax, eax
jne 0x410fc6
jmp 0x4113f4
lea eax, [ebp - 0x29a8]
push eax
push 0x118
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00402f75
add esp, 0xc
test eax, eax
jne 0x410fe7
jmp 0x4113f4
mov edx, dword [ebp + 0xc]
add edx, 0x5f4
push edx
push 0x118
mov eax, dword [ebp + 0xc]
push eax
call fcn.00403349
add esp, 0xc
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 4]
test edx, edx
jne 0x411022
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [eax + 0x558]
cmp ecx, 1
jne 0x4111ac
lea edx, [ebp - 0x29a8]
push edx
lea eax, [ebp - 0x29e4]
push eax
mov ecx, dword [ebp - 0x2890]
call fcn.0040d3fd
test eax, eax
je 0x411044
jmp 0x4113f4
mov cl, byte [0x52dd34]
mov byte [ebp - 0x29e0], cl
xor edx, edx
mov dword [ebp - 0x29df], edx
mov dword [ebp - 0x29db], edx
mov dword [ebp - 0x29d7], edx
mov dword [ebp - 0x29d3], edx
lea eax, [ebp - 0x29a8]
push eax
lea ecx, [ebp - 0x29e0]
push ecx
mov ecx, dword [ebp - 0x2890]
call fcn.0040d691
test eax, eax
je 0x41108c
jmp 0x4113f4
lea edx, [ebp - 0x29e0]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x105
push eax
call sub.MSVCRT.dll__stricmp
add esp, 8
test eax, eax
je 0x4110ad
jmp 0x4113f4
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 0x126]
cmp edx, 1
jne 0x4111ac
cmp dword [0x52dd28], 0
jne 0x411143
mov dword [0x52dd28], 1
lea eax, [ebp - 0x288c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00410969
add esp, 8
test eax, eax
jne 0x411143
mov edx, dword [ebp - 0x2890]
mov dword [ebp - 0x2a24], edx
mov eax, dword [ebp - 0x2a24]
mov dword [ebp - 0x2a20], eax
cmp dword [ebp - 0x2a20], 0
je 0x411126
push 1
mov ecx, dword [ebp - 0x2a20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2a20]
call dword [edx]
mov dword [ebp - 0x2a40], eax
jmp 0x411130
mov dword [ebp - 0x2a40], 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.004104d5
add esp, 4
xor eax, eax
jmp 0x4114b5
mov cl, byte [0x52dd38]
mov byte [ebp - 0x2a08], cl
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x2a07]
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x29a8]
push edx
lea eax, [ebp - 0x2a08]
push eax
mov ecx, dword [ebp - 0x2890]
call fcn.0040b202
mov dword [ebp - 0x2a0c], eax
cmp dword [ebp - 0x2a0c], 0
je 0x41118b
jmp 0x4113f4
lea ecx, [ebp - 0x2a08]
push ecx
call dword [0x52dc68]
mov dword [ebp - 0x2a0c], eax
cmp dword [ebp - 0x2a0c], 0
je 0x4111ac
jmp 0x4113f4
mov edx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [edx + 0x570]
cmp eax, 3
jne 0x411210
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 0x2a]
test edx, edx
je 0x411210
lea eax, [ebp - 0x29a8]
push eax
mov ecx, dword [ebp - 0x2890]
call fcn.00406a10
lea ecx, [ebp - 0x29a8]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x568]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x56c]
push edx
mov eax, dword [ebp - 0x2894]
push eax
mov ecx, dword [ebp - 0x2890]
call fcn.00409984
test eax, eax
je 0x411210
jmp 0x4113f4
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 0x570]
cmp edx, 1
jne 0x41124a
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [eax + 0x29]
test ecx, ecx
je 0x411248
lea edx, [ebp - 0x29a8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040e6e4
add esp, 8
test eax, eax
jne 0x411248
jmp 0x4113f4
jmp 0x411272
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 0x2a]
test edx, edx
je 0x411272
lea eax, [ebp - 0x29a8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0040e6e4
add esp, 8
test eax, eax
jne 0x411272
jmp 0x4113f4
mov edx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [edx + 0x2b]
test eax, eax
je 0x41129a
lea ecx, [ebp - 0x29a8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040e88a
add esp, 8
test eax, eax
jne 0x41129a
jmp 0x4113f4
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [eax + 0x570]
cmp ecx, 1
je 0x4112d2
mov edx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [edx + 0x29]
test eax, eax
je 0x4112d2
lea ecx, [ebp - 0x29a8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040e510
add esp, 8
test eax, eax
jne 0x4112d2
jmp 0x4113f4
cmp dword [0x52dd28], 0
je 0x4112e1
call dword [0x52dc44]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x118]
push ecx
push 0x4f828c
lea edx, [ebp - 0x29b8]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x11c]
push ecx
push 0x4f8290
lea edx, [ebp - 0x29c4]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x29a8]
push eax
lea ecx, [ebp - 0x29c4]
push ecx
lea edx, [ebp - 0x29b8]
push edx
push 0
lea eax, [ebp - 0x28a0]
push eax
mov ecx, dword [ebp - 0x2890]
call fcn.00409453
test eax, eax
jne 0x4113f4
lea ecx, [ebp - 0x29a8]
push ecx
lea edx, [ebp - 0x29c4]
push edx
lea eax, [ebp - 0x29b8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00410407
add esp, 0x10
test eax, eax
jne 0x411377
jmp 0x4113f4
lea edx, [ebp - 0x29a8]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx + 0x2b]
test edx, edx
je 0x4113a5
lea eax, [ebp - 0x29a8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [0x52dcf4]
mov edx, dword [ebp - 0x2890]
mov dword [ebp - 0x2a2c], edx
mov eax, dword [ebp - 0x2a2c]
mov dword [ebp - 0x2a28], eax
cmp dword [ebp - 0x2a28], 0
je 0x4113e0
push 1
mov ecx, dword [ebp - 0x2a28]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2a28]
call dword [edx]
mov dword [ebp - 0x2a44], eax
jmp 0x4113ea
mov dword [ebp - 0x2a44], 0
mov eax, 1
jmp 0x4114b5
mov eax, dword [ebp - 0x2894]
add eax, 1
mov dword [ebp - 0x2894], eax
jmp 0x410e4f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x55c]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x222
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x254
push ecx
push 0
call fcn.0041240f
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x2898], eax
mov edx, dword [ebp - 0x2898]
push edx
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x28a4], eax
push 0
mov eax, dword [ebp - 0x28a4]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0x28a4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x2890]
mov dword [ebp - 0x2a34], edx
mov eax, dword [ebp - 0x2a34]
mov dword [ebp - 0x2a30], eax
cmp dword [ebp - 0x2a30], 0
je 0x4114a9
push 1
mov ecx, dword [ebp - 0x2a30]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2a30]
call dword [edx]
mov dword [ebp - 0x2a48], eax
jmp 0x4114b3
mov dword [ebp - 0x2a48], 0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret