Function at 0x40d080
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x92c
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push eax
call fcn.00414940
mov eax, dword [esp + 0x944]
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
cmp eax, 3
jne 0x40d488
mov ecx, dword [0x429564]
mov di, word [0x423e9e]
mov bl, byte [0x423e9c]
mov dl, byte [0x423e98]
cmp ecx, 1
jne 0x40d149
mov eax, dword [0x4244dc]
cmp eax, 0xc
jb 0x40d2cd
mov cl, dl
cmp cl, 7
jne 0x40d760
mov ecx, dword [0x423ea0]
mov byte [0x423e9c], 2
mov dword [0x422f48], ecx
mov cl, byte [0x422f44]
test cl, cl
jne 0x40d112
cmp eax, 0x10
jb 0x40d112
mov edx, dword [0x423ea4]
mov dword [0x422f44], edx
push 5
call fcn.004047d0
add esp, 4
push eax
lea eax, [esp + 0x40]
push 0x41f074
push eax
call ebp
push 1
lea ecx, [esp + 0x4c]
push 0
push ecx
call fcn.00409af0
mov eax, 2
add esp, 0x18
mov dword [0x429564], eax
jmp 0x40d495
cmp ecx, 2
jne 0x40d280
mov eax, dword [0x4244dc]
cmp eax, 0x10
jb 0x40d2cd
cmp di, 0x314
ja 0x40d2cd
xor esi, esi
mov si, di
add esi, 0x10
cmp eax, esi
jl 0x40d2cd
cmp dl, 7
jne 0x40d2cd
cmp bl, 4
jne 0x40d2cd
mov eax, dword [0x422f40]
mov esi, eax
shl esi, 0x1e
shr eax, 2
add esi, eax
mov eax, dword [0x423ea0]
cmp esi, eax
jne 0x40d2cd
mov dl, byte [0x423e9d]
xor esi, esi
mov dword [0x429564], esi
mov byte [0x41e33e], dl
call fcn.0040dca0
mov eax, dword [0x422f40]
mov ecx, eax
mov dword [0x428355], eax
shr ecx, 0x10
xor ecx, eax
mov ax, word [0x423e9e]
cmp ax, 0x20
mov word [0x423e94], cx
jb 0x40d257
cmp ax, si
jbe 0x40d218
mov al, byte [esi + 0x423ea8]
mov edx, esi
and edx, 7
mov cl, 8
sub cl, dl
mov bl, al
shr bl, cl
mov ecx, edx
xor edx, edx
shl al, cl
add bl, al
mov byte [esi + 0x423ea8], bl
mov dx, word [0x423e9e]
inc esi
cmp esi, edx
jl 0x40d1eb
mov al, byte [0x428684]
push 0x423ea8
test al, 2
je 0x40d24f
call fcn.004169f0
add esp, 4
test eax, eax
jne 0x40d257
mov eax, dword [0x428cd4]
push 0x13734
push 0x12f
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x40d257
call fcn.0040d810
add esp, 4
call fcn.0040b330
push 3
call fcn.0040f0b0
add esp, 4
mov dword [0x429440], 1
call fcn.0040f6d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x92c
ret
xor esi, esi
cmp ecx, esi
jne 0x40d2cf
cmp dword [0x429440], esi
je 0x40d2cf
mov eax, dword [0x41e16c]
cmp eax, 3
jl 0x40d2cf
cmp eax, 0x64
jge 0x40d2cf
cmp dl, 7
jne 0x40d2cf
cmp bl, 6
jne 0x40d2cf
mov cx, word [0x423e9e]
cmp cx, word [0x428378]
jne 0x40d760
pop edi
pop esi
pop ebp
mov byte [0x42954a], 0xa
pop ebx
add esp, 0x92c
ret
xor esi, esi
test dword [0x42874c], 0x80000
jne 0x40d439
cmp dl, 7
jne 0x40d439
cmp bl, 6
jne 0x40d439
mov eax, dword [0x429434]
mov ebx, 0xa
cmp eax, esi
je 0x40d40f
mov dword [0x429434], esi
call fcn.004158b0
push 1
push 1
push 0x11
mov byte [0x41e1c6], 1
mov byte [0x429499], 0xff
mov dword [0x42842c], ebx
mov dword [0x428cc0], esi
call fcn.004047d0
add esp, 4
push eax
call fcn.00409af0
add esp, 0xc
call fcn.0040dca0
mov edx, dword [0x428cc8]
push esi
push 0x12f
push edx
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0x4a
call fcn.004047d0
push eax
call fcn.0040a1e0
mov eax, dword [0x428cd4]
add esp, 8
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
push esi
mov dword [0x42946c], 1
mov dword [0x4283c0], esi
call dword [sym.imp.USER32.dll_MessageBeep]
mov al, byte [0x427624]
test al, 1
mov byte [0x4294f9], al
jne 0x40d3ad
push 0x4283d4
call fcn.00406c80
add esp, 4
mov word [0x423e94], ax
jmp 0x40d3bb
mov cx, word [0x428355]
mov word [0x423e94], cx
test byte [0x429498], 4
je 0x40d3d2
mov edx, dword [0x428cd4]
push esi
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.004107d0
xor eax, eax
push esi
mov dword [0x424a9c], eax
mov dword [0x424aa0], eax
mov dword [0x424aa4], eax
mov dword [0x424aa8], eax
mov dword [0x424aac], eax
call fcn.004089e0
push esi
call fcn.0040b260
push 3
call fcn.0040f0b0
mov di, word [0x423e9e]
add esp, 0xc
cmp dword [0x42842c], ebx
jl 0x40d760
cmp di, word [0x428378]
jne 0x40d760
pop edi
pop esi
mov byte [0x42954a], bl
pop ebp
pop ebx
add esp, 0x92c
ret
cmp ecx, 2
jne 0x40d760
cmp dl, 7
jne 0x40d760
cmp bl, 8
jne 0x40d760
xor ecx, ecx
lea edx, [esp + 0x3c]
mov cl, byte [0x423e9d]
push ecx
push str.Login_Error_lu
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
push 1
lea eax, [esp + 0x4c]
push esi
push eax
call fcn.00409af0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x92c
ret
mov eax, dword [0x429564]
test eax, eax
je 0x40d760
dec eax
mov dword [0x42956c], 4
je 0x40d70d
dec eax
jne 0x40d760
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x15c]
mov byte [esp + 0x141], cl
mov ecx, dword [esp + 0x141]
and ecx, 0xff
mov byte [esp + 0x13c], 7
mov edx, ecx
mov byte [esp + 0x13d], 0
shr ecx, 2
mov byte [esp + 0x140], 3
push eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x32
mov edi, 0x427e50
rep stosd dword es:[edi], eax
call fcn.004087d0
mov eax, dword [esp + 0x145]
mov ecx, 0x32
and eax, 0xff
mov esi, 0x427e50
add esp, 4
lea edi, [esp + eax + 0x15c]
rep movsd dword es:[edi], dword [esi]
movzx cx, byte [esp + 0x141]
mov ax, word [0x422a2a]
mov edx, dword [0x422a26]
add ecx, 0xe8
mov word [esp + 0x146], ax
mov word [esp + 0x13e], cx
mov ecx, dword [0x422f44]
mov dword [esp + 0x148], ecx
mov ecx, dword [0x422f3c]
xor eax, eax
mov dword [esp + 0x142], edx
test ecx, ecx
mov dword [esp + 0x14c], eax
je 0x40d592
mov eax, 1
mov dword [esp + 0x14c], eax
mov ecx, dword [0x4294a0]
test ecx, ecx
je 0x40d5b3
mov ecx, dword [0x42874c]
test ch, 8
je 0x40d5a9
or al, 2
or ah, 2
mov dword [esp + 0x14c], eax
mov ecx, dword [0x42868c]
test ecx, 0x8000000
je 0x40d5e1
mov dl, byte [0x429498]
and edx, 0x60
shl edx, 5
shr ecx, 0x10
or eax, edx
and ecx, 0x1000
or eax, ecx
mov dword [esp + 0x14c], eax
push 9
call fcn.0040f0b0
add esp, 4
test al, al
je 0x40d607
mov eax, dword [esp + 0x14c]
or ah, 0x22
add eax, 0x4000000
or al, 2
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x13e]
mov eax, dword [0x422f48]
and ecx, 0xffff
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], 0x1312fc7
mov dword [esp + 0x158], 0x7e
lea edx, [esp + ecx + 0x13c]
mov dword [edx], 0
mov eax, dword [esp + 0x13e]
and eax, 0xffff
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
shl eax, 2
mov word [esp + 0x13e], ax
mov esi, dword [esp + 0x13e]
and esi, 0xffff
xor eax, eax
mov ecx, esi
shr ecx, 2
test ecx, ecx
jle 0x40d68f
lea edx, [esp + 0x13c]
mov edi, dword [edx]
add edx, 4
xor eax, edi
dec ecx
jne 0x40d685
imul eax, eax, 0x12c4b7e
mov dword [esp + 0x154], eax
mov dword [0x422f40], eax
mov al, byte [0x422f44]
mov dword [esp + 0x158], 0
test al, al
jne 0x40d6eb
push 0x422f44
call fcn.0040a1d0
add esp, 4
push eax
lea eax, [esp + 0x40]
push str.Login_Error__read_souip_error__s_
push eax
call ebp
push 1
lea ecx, [esp + 0x4c]
push 0
push ecx
call fcn.00409af0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x92c
ret
mov eax, dword [0x429490]
lea edx, [esp + 0x13c]
push esi
push edx
push eax
call fcn.0040af50
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x92c
ret
mov edx, dword [0x429490]
lea ecx, [esp + 0x13c]
push 8
push ecx
push edx
mov byte [esp + 0x148], 7
mov byte [esp + 0x149], 1
mov word [esp + 0x14a], 8
mov byte [esp + 0x14c], 1
mov byte [esp + 0x14d], 0
mov byte [esp + 0x14e], 0
mov byte [esp + 0x14f], 0
call fcn.0040af50
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x92c
ret