Function at 0x403a10
Capabilities:
Encode data using xor
Get graphical window text

Disassembly:
push 0xffffffffffffffff
push 0x428b09
mov eax, dword fs:[0]
push eax
sub esp, 0x4a4
mov eax, dword [0x431060]
xor eax, esp
mov dword [esp + 0x4a0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x431060]
xor eax, esp
push eax
lea eax, [esp + 0x4b8]
mov dword fs:[0], eax
push 0x3f
xor ebp, ebp
lea eax, [esp + 0x231]
mov esi, ecx
push ebp
push eax
mov dword [esp + 0x28], esi
mov byte [esp + 0x238], 0
call fcn.00417ce0
add esp, 0xc
push 0xff
lea ecx, [esp + 0x2b1]
push ebp
push ecx
mov byte [esp + 0x2b8], 0
call fcn.00417ce0
lea edx, [esp + 0x238]
add esp, 0xc
push edx
call fcn.00401200
add esp, 4
lea ecx, [esp + 0x2ac]
call fcn.00402ca0
mov eax, 0x432f80
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403ab0
sub eax, edx
jne 0x403ac5
mov edi, 0x13e
jmp 0x4040fb
mov eax, 0x432fa0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403ad0
sub eax, edx
jne 0x403ae5
mov edi, 0x13f
jmp 0x4040fb
cmp word [0x432fc0], bp
jne 0x403af8
mov edi, 0x140
jmp 0x4040fb
cmp word [0x432fc4], bp
jne 0x403b0b
mov edi, 0x141
jmp 0x4040fb
mov edx, dword [esi + 4]
push 4
lea eax, [esp + 0x230]
push eax
lea ecx, [esp + 0x2b4]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
je 0x403b36
mov edi, 0x14b
jmp 0x4040fb
push 0x103
lea eax, [esp + 0x3b1]
push ebp
push eax
mov byte [esp + 0x3b8], 0
call fcn.00417ce0
mov edx, dword [esi + 4]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
add esp, 0xc
push 0x104
lea ecx, [esp + 0x3b0]
push ecx
push 0x3e8
push edx
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [esp + 0x3ac]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403b83
sub eax, edx
jne 0x403b98
mov edi, 0x193
jmp 0x4040fb
call fcn.00405c80
mov edi, eax
cmp edi, ebp
jne 0x4040fb
lea eax, [esp + 0x15c]
call fcn.00404210
mov dword [esp + 0x4c0], ebp
mov eax, 0xf
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ebp
mov byte [esp + 0x34], 0
mov dword [esp + 0x158], eax
mov dword [esp + 0x154], ebp
mov byte [esp + 0x144], 0
mov byte [esp + 0x4c0], 2
push 0x42e20b
lea ecx, [esp + 0xdc]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], ebp
call fcn.00401940
push 0x42e20b
lea ecx, [esp + 0xa4]
mov byte [esp + 0x4c4], 3
call fcn.00401940
push 0x42e20b
lea ecx, [esp + 0x6c]
mov byte [esp + 0x4c4], 4
call fcn.00401940
push 0x42e20b
lea ecx, [esp + 0xc0]
mov byte [esp + 0x4c4], 5
call fcn.00401940
push 0x42e20b
lea ecx, [esp + 0x114]
mov byte [esp + 0x4c4], 6
call fcn.00401940
push 0x42e20b
lea ecx, [esp + 0x88]
mov byte [esp + 0x4c4], 7
call fcn.00401940
push 0x42e20b
lea ecx, [esp + 0xf8]
mov byte [esp + 0x4c4], 8
call fcn.00401940
lea esi, [esp + 0x18]
mov byte [esp + 0x4c0], 9
call fcn.00408300
lea eax, [esp + 0x20]
push eax
call fcn.00408430
lea ecx, [esp + 0x18]
add esp, 4
push ecx
call fcn.00408900
add esp, 4
lea ecx, [esp + 0xd8]
call fcn.00408510
lea ecx, [esp + 0xa0]
call fcn.004085e0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
push 0x3e8
push eax
call ebx
lea edx, [esp + 0x68]
mov ecx, eax
call fcn.00408b00
lea ecx, [esp + 0xbc]
push ecx
call fcn.00408bf0
add esp, 4
lea edx, [esp + 0x110]
push edx
call fcn.00409020
lea eax, [esp + 0x88]
add esp, 4
push eax
call fcn.004094a0
lea ecx, [esp + 0xf8]
add esp, 4
push ecx
call fcn.004098a0
mov edi, eax
add esp, 4
cmp edi, ebp
jne 0x403f2a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0xe0]
mov dword [esp + 0x16c], ecx
push edx
lea ecx, [esp + 0x174]
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], eax
call fcn.00401c00
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x190]
call fcn.00401c00
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x1ac]
call fcn.00401c00
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x1c8]
call fcn.00401c00
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1e4]
call fcn.00401c00
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x200]
call fcn.00401c00
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0xfc]
push edx
lea ecx, [esp + 0x21c]
call fcn.00401c00
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebp
mov byte [esp + 0x50], 0
lea eax, [esp + 0x4c]
lea esi, [esp + 0x15c]
mov byte [esp + 0x4c0], 0xa
call fcn.00402500
lea eax, [esp + 0x12c]
push eax
sub esp, 0x1c
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00401980
mov ecx, 0x7c
call fcn.00406f30
mov edi, eax
add esp, 0x20
cmp edi, ebp
jne 0x404059
cmp dword [esp + 0x12c], 0xd3
je 0x403eec
lea ecx, [esp + 0x4c]
mov edi, 0x132
call fcn.004019b0
lea ecx, [esp + 0xf4]
call fcn.004019b0
lea ecx, [esp + 0x84]
call fcn.004019b0
lea ecx, [esp + 0x110]
call fcn.004019b0
lea ecx, [esp + 0xbc]
call fcn.004019b0
lea ecx, [esp + 0x68]
call fcn.004019b0
lea ecx, [esp + 0xa0]
call fcn.004019b0
lea ecx, [esp + 0xd8]
call fcn.004019b0
lea esi, [esp + 0x12c]
call fcn.004043b0
cmp dword [esp + 0x48], 0x10
jb 0x4040d3
mov ecx, dword [esp + 0x34]
push ecx
jmp 0x4040cb
cmp dword [esp + 0x158], 0x10
mov ecx, dword [esp + 0x144]
jae 0x403f04
lea ecx, [esp + 0x144]
mov eax, dword [esp + 0x154]
lea edi, [esp + 0x24]
call fcn.00402570
test al, al
jne 0x403f9c
lea ecx, [esp + 0x4c]
mov edi, 0x149
call fcn.004019b0
lea ecx, [esp + 0xf4]
call fcn.004019b0
lea ecx, [esp + 0x84]
call fcn.004019b0
lea ecx, [esp + 0x110]
call fcn.004019b0
lea ecx, [esp + 0xbc]
call fcn.004019b0
lea ecx, [esp + 0x68]
call fcn.004019b0
lea ecx, [esp + 0xa0]
call fcn.004019b0
lea ecx, [esp + 0xd8]
call fcn.004019b0
lea esi, [esp + 0x12c]
call fcn.004043b0
cmp dword [esp + 0x48], 0x10
jb 0x4040d3
mov edx, dword [esp + 0x34]
push edx
jmp 0x4040cb
mov edx, dword [esp + 0x24]
mov esi, ebx
shl esi, 0x10
mov eax, ebx
and eax, 0xff00
add esi, eax
mov ecx, ebx
shr ecx, 8
shl esi, 8
and ecx, 0xff00
mov eax, ebx
add esi, ecx
shr eax, 0x18
mov dword [esp + 0x18], 0x18
add esi, eax
movzx edi, bl
mov ecx, esi
xor ecx, edx
xor ecx, 0x39ba2d71
mov eax, ecx
shl eax, 0x10
mov edx, ecx
and edx, 0xff00
add eax, edx
mov edx, ecx
shr edx, 8
and edx, 0xff00
shl eax, 8
add eax, edx
shr ecx, 0x18
add eax, ecx
mov ecx, edi
rol eax, cl
mov cl, byte [esp + 0x18]
add cl, 2
movzx ecx, cl
sub eax, ebx
xor eax, 0x7ac9127b
mov edx, eax
shl edx, 0x10
mov ebp, eax
and ebp, 0xff00
add edx, ebp
mov ebp, eax
shl edx, 8
shr ebp, 8
and ebp, 0xff00
add edx, ebp
shr eax, 0x18
add edx, eax
sub edx, ebx
ror edx, cl
sub dword [esp + 0x18], 1
jns 0x403fd0
test bl, 1
jne 0x40404b
sub edx, ebx
jmp 0x40404d
add edx, ebx
xor ebp, ebp
mov edi, edx
cmp edx, ebp
je 0x40413e
lea ecx, [esp + 0x4c]
call fcn.004019b0
lea ecx, [esp + 0xf4]
call fcn.004019b0
lea ecx, [esp + 0x84]
call fcn.004019b0
lea ecx, [esp + 0x110]
call fcn.004019b0
lea ecx, [esp + 0xbc]
call fcn.004019b0
lea ecx, [esp + 0x68]
call fcn.004019b0
lea ecx, [esp + 0xa0]
call fcn.004019b0
lea ecx, [esp + 0xd8]
call fcn.004019b0
lea esi, [esp + 0x12c]
call fcn.004043b0
cmp dword [esp + 0x48], 0x10
jb 0x4040d3
mov eax, dword [esp + 0x34]
push eax
call fcn.004160ce
add esp, 4
lea esi, [esp + 0x15c]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebp
mov byte [esp + 0x34], 0
mov dword [esp + 0x4c0], 0xffffffff
call fcn.00404280
push 0x3f
lea ecx, [esp + 0x271]
push ebp
push ecx
mov byte [esp + 0x278], 0
call fcn.00417ce0
add esp, 0xc
lea ecx, [esp + 0x26c]
call fcn.00403400
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
push eax
lea esi, [esp + 0x270]
call fcn.0040f310
add esp, 4
jmp 0x4041e4
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push edx
call fcn.004043e0
lea ecx, [esp + 0x4c]
call fcn.004019b0
lea ecx, [esp + 0xf4]
call fcn.004019b0
lea ecx, [esp + 0x84]
call fcn.004019b0
lea ecx, [esp + 0x110]
call fcn.004019b0
lea ecx, [esp + 0xbc]
call fcn.004019b0
lea ecx, [esp + 0x68]
call fcn.004019b0
lea ecx, [esp + 0xa0]
call fcn.004019b0
lea ecx, [esp + 0xd8]
call fcn.004019b0
lea esi, [esp + 0x12c]
call fcn.004043b0
cmp dword [esp + 0x48], 0x10
jb 0x4041c7
mov eax, dword [esp + 0x34]
push eax
call fcn.004160ce
add esp, 4
lea esi, [esp + 0x15c]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebp
mov byte [esp + 0x34], 0
call fcn.00404280
mov ecx, dword [esp + 0x4b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4a0]
xor ecx, esp
call fcn.00415dd3
add esp, 0x4b0
ret