Function at 0x4074d0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x70
mov eax, dword [0x4260c0]
xor eax, esp
mov dword [esp + 0x6c], eax
fldz
xor eax, eax
mov word [esp + 4], ax
fst qword [esp + 8]
fstp qword [esp + 0x10]
xor ecx, ecx
fldz
mov word [esp], cx
fst dword [esp]
push ebx
xor ebx, ebx
mov dx, word [esp + 8]
movsx eax, dx
add eax, 0x13e49367
mov dword [esp + 4], eax
mov byte [esp + 0x6f], bl
push esi
fild dword [esp + 8]
push edi
fmul qword [0x423928]
fstp qword [0x423928]
inc dword [esp + 0x10]
movsx eax, byte [ecx + 0x424b38]
cdq
mov esi, 0x1a
idiv esi
inc ecx
add dl, 0x61
mov byte [esp + ecx + 0x6f], dl
cmp ecx, 7
jne 0x407528
fld qword [esp + 0x14]
xor ecx, ecx
fsub qword [0x41f350]
push 0xbb6
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
fsub qword [0x41f790]
fadd qword [esp + 0x18]
fstp qword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov word [esp + 0x10], cx
fstp dword [esp + 0x10]
call fcn.0040b819
push 0xbb6
mov esi, eax
push 0x424b38
push esi
call fcn.0040b8f0
mov eax, dword [0x4278c4]
sub eax, 0x423004
lea edi, [esi + 0xbb6]
add esp, 0x10
add eax, 0x424b38
mov ecx, esi
cmp esi, edi
je 0x4075ba
lea ecx, [ecx]
mov dl, byte [eax]
xor byte [ecx], dl
inc ecx
inc eax
cmp ecx, edi
jne 0x4075b0
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld dword [0x423984]
fsub qword [0x41f788]
mov dword [0x4278b8], eax
mov eax, dword [0x4278b8]
push 1
mov dword [esp + 0x28], 0x30
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], 0x406a70
mov dword [esp + 0x34], ebx
fstp dword [0x423984]
push esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], eax
call fcn.00401c40
mov ecx, dword [0x42577c]
mov edx, 0x928cc06b
sub edx, ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
add esp, 8
push 0x7f00
mov dword [esp + 0x40], eax
fadd dword [0x424b10]
push ebx
fstp dword [0x424b10]
call dword [sym.imp.USER32.dll_LoadCursorA]
fld dword [0x423618]
mov dword [esp + 0x40], eax
fsub qword [0x41f350]
lea eax, [esp + 0x70]
mov dword [esp + 0x44], 6
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
fstp dword [0x423618]
fld dword [0x423618]
push 1
fmul qword [0x424a00]
fstp qword [0x424a00]
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
fldz
push 0xbb6
push ebx
mov dword [esp + 0x14], ebx
fstp dword [esp + 0x14]
push esi
call fcn.0040b750
push esi
call fcn.0040b6bb
mov dx, word [0x4244e8]
fld dword [esp + 0x1c]
mov ecx, dword [0x425950]
movsx eax, dx
sub eax, ecx
add eax, 0x45f7d427
mov dword [esp + 0x1c], eax
xor edx, edx
push 0x15
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
mov dword [esp + 0x20], ebx
fldz
mov word [esp + 0x20], dx
fstp dword [esp + 0x20]
call fcn.0040b819
mov esi, eax
mov eax, dword [0x425f2c]
mov dword [esi], eax
mov ecx, dword [0x425f30]
mov dword [esi + 4], ecx
mov edx, dword [0x425f34]
mov dword [esi + 8], edx
mov eax, dword [0x425f38]
add esp, 0x14
mov dword [esi + 0xc], eax
mov ecx, dword [0x425f3c]
mov dword [esi + 0x10], ecx
mov dl, byte [0x425f40]
mov byte [esi + 0x14], dl
mov eax, dword [0x4278c4]
sub eax, 0x423004
lea edi, [esi + 0x15]
add eax, 0x425f2c
mov ecx, esi
cmp esi, edi
je 0x40774a
nop
mov dl, byte [eax]
xor byte [ecx], dl
inc ecx
inc eax
cmp ecx, edi
jne 0x407740
mov eax, dword [0x4278b8]
push ebx
push eax
push ebx
push ebx
push ebx
push connect
push ebx
push connect
push 0xc80000
push esi
lea ecx, [esp + 0x98]
push ecx
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
fldz
mov edi, eax
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esp + 0xc], ebx
fstp dword [esp + 0xc]
push esi
mov byte [esi + 0x14], al
call fcn.0040b6bb
movzx edx, word [0x4244e8]
fld dword [esp + 0x10]
mov ecx, dword [0x425950]
movsx eax, dx
sub eax, ecx
add eax, 0x45f7d427
mov dword [esp + 0x10], eax
add esp, 4
fisub dword [esp + 0xc]
fstp dword [esp + 0xc]
movzx edx, word [esp + 0x10]
movsx eax, dx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fsub qword [0x425808]
fld dword [0x425778]
fsub qword [0x41f780]
fcompp
fnstsw ax
fld qword [0x425808]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x425808]
test ah, 5
jp 0x407885
fld qword [0x423208]
fadd st(1)
fstp qword [0x423208]
fld qword [0x425a30]
fadd qword [0x41f778]
fld qword [esp + 0x14]
fsub qword [0x423208]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x40785f
mov ecx, dword [0x425770]
mov dx, word [esp + 0x10]
fld dword [0x424a50]
or eax, 0xffffffff
fstp st(0)
add dword [0x425770], eax
add dword [esp + 0x10], eax
fsubr dword [0x424a50]
fstp dword [0x424a50]
jmp 0x407887
dec dword [esp + 0x10]
fstp st(0)
mov ax, word [esp + 0x10]
movsx ecx, ax
sub ecx, 0x76e734af
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
jmp 0x407887
fstp st(0)
cmp edi, ebx
je 0x4078f9
push 1
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
fld qword [0x41f770]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
fstp qword [esp + 0x14]
push ebx
push ebx
push ebx
lea edx, [esp + 0x60]
push edx
call esi
test eax, eax
je 0x4078e3
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebp
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageA]
lea eax, [esp + 0x58]
push eax
call edi
lea ecx, [esp + 0x58]
push ecx
call ebp
push ebx
push ebx
push ebx
lea edx, [esp + 0x64]
push edx
call esi
test eax, eax
jne 0x4078c6
pop ebp
mov eax, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0040bc94
add esp, 0x70
ret
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040bc94
add esp, 0x70
ret