Function at 0x402526
Capabilities:
Create process on windows

Disassembly:
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [0x401046], eax
push 3
push dword [0x401046]
call dword [sym.imp.USER32.DLL_LoadIconA]
mov dword [0x40104a], eax
push 0
push 0x10
push 0x10
push 1
push 3
push dword [0x401046]
call dword [sym.imp.USER32.DLL_LoadImageA]
mov dword [0x40105e], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.DLL_LoadCursorA]
mov dword [0x40104e], eax
push 0x401032
call dword [sym.imp.USER32.DLL_RegisterClassExA]
or eax, eax
je 0x402136
push 0
call dword [sym.imp.USER32.DLL_GetSystemMetrics]
xor edx, edx
sub eax, dword [0x401022]
mov ecx, 2
div ecx
mov ebx, eax
push 1
call dword [sym.imp.USER32.DLL_GetSystemMetrics]
xor edx, edx
sub eax, dword [0x401026]
mov ecx, 2
div ecx
push 0
push dword [0x401046]
push 0
push 0
push dword [0x401026]
push dword [0x401022]
push eax
push ebx
push 0xa0000
call 0x4020e5
push ebx
arpl word [edx + 0x61], si
je 0x40211d
push 0x52207365
inc ebp
push ebx
and byte [ebp + 0x6e], dh
jo 0x402127
arpl word [ebx + 0x65], bp
jb 0x4020eb
cmp bh, byte [edx]
and byte [eax + 0x70], bl
outsd dx, dword [esi]
pop edx
das
je 0x4020fa
and byte [edx], bh
cmp ah, byte [eax]
jbe 0x402144
jb 0x402101
xor dword [esi], ebp
xor byte [eax], al
push section..data
push 0
call dword [sym.imp.USER32.DLL_CreateWindowExA]
add bh, bh
adc eax, sym.imp.USER32.DLL_CreateWindowExA
test eax, eax
je 0x402136
mov dword [0x40101e], eax
push 5
add byte [edx + 5], ch
push dword [0x40101e]
call dword [sym.imp.USER32.DLL_ShowWindow]
inc eax
add bh, bh
adc eax, sym.imp.USER32.DLL_ShowWindow
push 0
push 0
push 0
push 0x401002
call dword [sym.imp.USER32.DLL_GetMessageA]
or eax, eax
je 0x402136
sbb byte [eax + 2], ch
adc byte [eax], al
push 0x401002
call dword [sym.imp.USER32.DLL_TranslateMessage]
push 0x401002
inc eax
add byte [eax + 2], ch
adc byte [eax], al
call dword [sym.imp.USER32.DLL_DispatchMessageA]
jmp 0x402109
push dword [0x40100a]
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
in eax, 0x53
push esi
push edi
cmp dword [ebp + 0xc], 1
jne 0x402437
push 0
push 0
push 0x12c
push dword [ebp + 8]
push 0x104
push 0x190
push 0xa
push 0xa
push 0x50000807
call 0x402177
add al, ch
push cs
add byte [eax], al
add byte [ebx + 0x79], dl
jae 0x4021d4
jb 0x4021e7
push esi
imul esp, dword [ebp + 0x77], 0x68003233
add byte [edx], al
add byte [eax], al
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov dword [0x401062], eax
mov dword [0x4016a3], 0xffff0000
mov dword [0x40169f], 0
mov dword [0x4016a7], 1
mov dword [0x4016bb], 0x208
push 0
push 0
push 0xffffffffffffffff
push dword [ebp + 8]
push 0x41
push 0x53
push 3
push 0x1a4
add byte [eax], al
push 0x50000007
call 0x4021eb
and byte [eax], ah
jne 0x402252
jo 0x402247
arpl word [ebx + 0x20], bp
and byte [eax], al
call 0x4021f7
inc edx
push ebp
imul esp, dword [eax], 0x20
add al, ch
pop es
add byte [eax], al
add byte [edx + 0x55], al
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
push 0
push 0
push 0x65
push dword [ebp + 8]
push 0x12
push 0x43
push 0x16
push 0x1ac
push 0x50008000
call 0x402222
outsd dx, dword [esi]
jo 0x402285
outsb dx, byte [esi]
add al, ch
pop es
add byte [eax], al
add byte [edx + 0x55], al
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
push 0
push 0
push 0x67
push dword [ebp + 8]
push 0x12
push 0x43
push 0x2b
push 0x1ac
push 0x58008000
add dword [eax], eax
add byte [eax], ch
add byte [eax], 0x58
call 0x40225a
add byte [eax], al
jae 0x4022ca
popal
jb 0x4022cd
add al, ch
pop es
add byte [eax], al
add byte [edx + 0x55], al
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
push 0
push 0
push 0xffffffffffffffff
push dword [ebp + 8]
push 0x41
push 0x53
push 0x46
push 0x1a4
push 0x50000007
call 0x402299
and byte [eax], ah
and byte [eax], ah
jo 0x4022f3
add byte [eax - 0x18], dl
or eax, 0x20000000
and byte [eax], ah
and byte [eax + 0x61], dh
arpl word [ebx + 0x20], bp
and byte [eax], ah
and byte [eax], al
call 0x4022a5
inc edx
push ebp
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
push 0
push 0
push 0x66
push dword [ebp + 8]
push 0x12
push 0x43
push 0x58
push 0x1ac
push 0x50008000
call 0x4022d0
outsd dx, dword [esi]
jo 0x402333
add byte [edi + 0x70], ch
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
add al, ch
pop es
add byte [eax], al
add byte [edx + 0x55], al
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
push 0
push 0
push 0x68
push dword [ebp + 8]
push 0x12
push 0x43
push 0x6e
push 0x1ac
push 0x58008000
call 0x402308
jae 0x402378
popal
jb 0x40237b
add al, ch
pop es
add byte [eax], al
add byte [edx + 0x55], al
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
push 0
push 0
push 0x69
push dword [ebp + 8]
push 0x12
push 0x42
push 0x113
push 0x1ac
push 0x50008000
call 0x402342
js 0x4023a9
je 0x402342
call 0x40234e
inc edx
push ebp
push esp
push esp
dec edi
dec esi
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov dword [0x401b57], 8
mov dword [0x401b5b], 0x20
push 0x401b57
call dword [sym.imp.COMCTL32.DLL_InitCommonControlsEx]
push 0
push dword [0x401046]
xor eax, 0x401046
inc eax
add byte [eax - 0x38], ch
add byte [eax], al
add bh, bh
jne 0x40238d
push 0xc8
push dword [ebp + 8]
push 0x12
push 0x190
push 0x113
adc eax, dword [ecx]
add byte [eax], al
push 0xa
push 0x50800003
push 0
call 0x4023b1
insd dword es:[edi], dx
jae 0x402405
je 0x402410
jae 0x402405
jo 0x40241a
outsd dx, dword [esi]
jb 0x402411
jae 0x402421
xor esi, dword [edx]
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov dword [0x401066], eax
push 0
push 0
push 0x6a
push dword [ebp + 8]
push 0x20
push 0x20
push 0x93
push 0x1ac
push 0x5080090e
call 0x4023e5
popal
bound ebp, qword [edi + 0x75]
je 0x4023e5
call 0x4023f1
push ebx
push esp
inc ecx
push esp
dec ecx
inc ebx
add byte [edx], ch
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov ebx, eax
push 0x15c
push dword [0x401046]
call dword [sym.imp.USER32.DLL_LoadBitmapA]
add bh, bh
adc eax, sym.imp.USER32.DLL_LoadBitmapA
push eax
push 0
push 0x172
jb 0x402413
add dword [eax], eax
add byte [eax], al
add byte [ebx - 1], dl
adc eax, sym.imp.USER32.DLL_SendMessageA
push ebx
call dword [sym.imp.USER32.DLL_SendMessageA]
add byte [eax - 0x77], ch
jg 0x40241f
push 0x7f89
push 0
add byte [edx], ch
add bh, bh
adc eax, sym.imp.USER32.DLL_LoadCursorA
call dword [sym.imp.USER32.DLL_LoadCursorA]
push eax
push 0xfffffffffffffff4
push ebx
call dword [sym.imp.USER32.DLL_SetClassLongA]
jmp 0x4025d0
cmp dword [ebp + 0xc], 0x111
jne 0x40254a
cmp dword [ebp + 0x10], 0x66
jne 0x402454
call fcn.004025d7
jmp 0x402545
cmp dword [ebp + 0x10], 0x68
jne 0x402464
call fcn.00402cd1
jmp 0x402545
cmp dword [ebp + 0x10], 0x65
jne 0x402474
call fcn.004031f1
jmp 0x402545
cmp dword [ebp + 0x10], 0x67
jne 0x402484
call fcn.00403885
jmp 0x402545
cmp dword [ebp + 0x10], 0x6a
jne 0x402530
push 0x144
call 0x4024aa
inc ecx
bound ebp, qword [edi + 0x75]
je 0x4024be
jbe 0x402505
jb 0x402515
imul ebp, dword [edi + 0x6e], 0x302e3120
add byte [eax - 0x6c], ch
adc byte [eax], al
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_MessageBoxA]
cmp eax, 6
jne 0x40252e
push 3
push 0
add ebp, dword [edx]
push 0
call 0x40251c
insd dword es:[edi], dx
popal
imul ebp, dword [esp + esi*2 + 0x6f], 0x6f70783a
jp 0x402539
je 0x40251a
insd dword es:[di], dx
popal
imul ebp, dword [esi + ebp + 0x63], 0x733f6d6f
jne 0x402549
push 0x65
arpl word [ebp + edi + 0x53], si
arpl word [edx + 0x61], si
je 0x402555
push 0x52207365
inc ebp
push ebx
and byte [ebp + 0x6e], dh
jo 0x40255f
arpl word [ebx + 0x65], bp
jb 0x402529
bound ebp, qword [edi + 0x64]
jns 0x402545
jns 0x402545
push edi
insb byte es:[edi], dx
insb byte es:[edi], dx
and byte [edi + ebp*2 + 0x6e], ah
sub al, 0x20
insd dword es:[edi], dx
popal
je 0x40257c
and dword [eax], esp
cmp ebp, dword [ecx]
add al, ch
add eax, 0x6f000000
sub dword [eax], eax
call 0x402526
outsd dx, dword [esi]
jo 0x402589
outsb dx, byte [esi]
add byte [edx], ch
call dword [sym.imp.SHELL32.DLL_ShellExecuteA]
adc eax, sym.imp.SHELL32.DLL_ShellExecuteA
jmp 0x402545
cmp dword [ebp + 0x10], 0x69
jne 0x402545
push 0
push 0
push 0x10
add byte [edx + 0x10], ch
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_SendMessageA]
jmp 0x4025d0
add byte [ecx + 0x2010c7d], al
add byte [eax], al
cmp dword [ebp + 0xc], 0x201
jne 0x40256d
call dword [sym.imp.USER32.DLL_ReleaseCapture]
push 0
xchg byte [edx + 0x40], al
add byte [edx], ch
push 2
push 0xa1
push dword [ebp + 8]
add byte [eax], al
add bh, bh
jne 0x40256d
call dword [sym.imp.USER32.DLL_SendMessageA]
jmp 0x4025d0
cmp dword [ebp + 0xc], 2
jne 0x4025ad
push dword [0x40106a]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
push dword [0x401076]
inc eax
inc eax
add bh, bh
xor eax, 0x401076
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
push dword [0x40104a]
inc eax
add bh, bh
xor eax, 0x40104a
call dword [sym.imp.USER32.DLL_DestroyIcon]
push dword [0x40105e]
call dword [sym.imp.USER32.DLL_DestroyIcon]
push 0
call dword [sym.imp.USER32.DLL_PostQuitMessage]
jmp 0x4025d0
cmp dword [ebp + 0xc], 0x4e
jne 0x4025be
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.00403d99
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_DefWindowProcA]
pop edi
pop esi
pop ebx
leave
ret 0x10