Function at 0x402980
Capabilities:
Encrypt data using rc4 ksa
Write file on windows

Disassembly:
mov eax, 0x2dfc
call fcn.0042e520
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x25]
mov byte [esp + 0x24], bl
mov byte [esp + 0x1224], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf9
xor eax, eax
lea edi, [esp + 0x1225]
push 0x43178c
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str..._log.txt
stosb byte es:[edi], al
call dword [0x472ec4]
mov esi, dword [esp + 0x2e18]
add esp, 8
test esi, esi
mov dword [esp + 0x20], eax
jne 0x4029ee
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x2dfc
ret
mov eax, dword [0x472b24]
mov ecx, 0x200
sar eax, 5
mov dword [esp + 0x18], eax
xor eax, eax
lea edi, [esp + 0x224]
mov edx, dword [0x472b28]
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0x1e0c]
rep stosd dword es:[edi], eax
mov ecx, 0x80
mov edi, 0x472b60
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0x260c]
mov ebp, edx
mov byte [esp + 0x22d], al
mov byte [esp + 0x22e], al
mov byte [esp + 0x22f], al
mov byte [esp + 0x230], al
mov byte [esp + 0x231], al
mov byte [esp + 0x232], al
mov byte [esp + 0x233], al
mov byte [esp + 0x234], al
mov byte [esp + 0x235], al
rep stosd dword es:[edi], eax
mov al, byte [esi]
mov byte [esp + 0x10], 0
sar ebp, 5
cmp al, 7
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x224], 1
mov byte [esp + 0x225], 2
mov byte [esp + 0x226], 0x55
mov byte [esp + 0x227], 0xaa
mov byte [esp + 0x228], 0xd
mov byte [esp + 0x229], 0x61
mov byte [esp + 0x22a], 1
mov byte [esp + 0x22b], 8
mov byte [esp + 0x22c], 0xfc
jbe 0x402fb9
mov ecx, 0x80
xor eax, eax
mov edi, 0x472b60
rep stosd dword es:[edi], eax
mov bl, byte [esi]
mov ecx, 0x200
lea edi, [esp + 0x224]
rep stosd dword es:[edi], eax
mov ecx, ebx
mov eax, 0x92492493
and ecx, 0xff
mov byte [esp + 0x228], 8
imul ecx
add edx, ecx
mov byte [esp + 0x22a], bl
sar edx, 2
mov eax, edx
shr eax, 0x1f
lea edx, [edx + eax + 1]
mov eax, edx
mov byte [esp + 0x225], dl
sar eax, 8
mov byte [esp + 0x224], al
mov eax, dword [0x472b28]
lea ebp, [edx + edx*8 + 4]
mov edx, ebp
sar eax, 8
sar edx, 8
mov byte [esp + 0x226], al
mov al, byte [0x472b28]
add dl, 0x10
cmp ecx, 1
mov byte [esp + 0x227], al
mov byte [esp + 0x229], dl
jl 0x402bc2
mov eax, 1
lea edi, [esp + 0x22b]
sub eax, esi
lea ebx, [esi + 1]
mov dword [esp + 0x14], eax
jmp 0x402b82
mov eax, dword [esp + 0x14]
add eax, ebx
mov esi, 7
cdq
idiv esi
cmp edx, 1
jne 0x402bb9
mov dl, byte [esp + 0x10]
mov byte [edi], 8
inc dl
inc edi
mov byte [esp + 0x10], dl
mov eax, dword [esp + 0x10]
and eax, 0xff
and eax, 0x8000000f
jns 0x402bb4
dec eax
or eax, 0xfffffff0
inc eax
add al, 0x20
mov byte [edi], al
inc edi
mov dl, byte [ebx]
inc ebx
mov byte [edi], dl
inc edi
dec ecx
jne 0x402b7e
push 0xb
push 0x14
push 0x14
push 0xbb8
call dword [0x472f40]
lea eax, [esp + 0x261c]
push 0x800
lea ecx, [esp + 0x238]
push eax
push ecx
push ebp
call dword [0x473a5c]
movsx edx, ax
push 0
push 0
push 0
push 0
mov dword [esp + 0x40], edx
call dword [0x472f40]
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x163c]
lea edx, [esp + 0xa54]
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0xa54]
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0xa54]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
push eax
push ecx
push str._X____X
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa64]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x40
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, 5
and ecx, 3
cmp ebp, ebx
rep movsb byte es:[edi], byte [esi]
jle 0x402d3d
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0xa24]
cmp ebx, 5
rep stosd dword es:[edi], eax
jne 0x402ccb
cmp byte [esp + 0x229], 0x10
je 0x402d01
mov eax, dword [esp + 0x229]
lea ecx, [esp + 0xa24]
and eax, 0xff
push eax
push 0x431770
push ecx
jmp 0x402cf8
jle 0x402d01
lea eax, [ebx - 4]
mov ecx, 9
cdq
idiv ecx
test edx, edx
je 0x402d01
cmp edx, 1
je 0x402d01
xor edx, edx
lea eax, [esp + 0xa24]
mov dl, byte [esp + ebx + 0x224]
push edx
push 0x431770
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edi, [esp + 0xa24]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x160c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc ebx
cmp ebx, ebp
rep movsb byte es:[edi], byte [esi]
jl 0x402c90
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x24]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x160c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x160c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x431764
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0xa24]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0xfa
lea edi, [esp + 0x1224]
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0xa24]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str._X____X
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa34]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x1224]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xa24]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
xor ebp, ebp
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x2614]
mov ecx, ebx
and ecx, 3
xor ebx, ebx
test al, al
rep movsb byte es:[edi], byte [esi]
jb 0x402f2d
lea eax, [esp + 0x2614]
sub eax, 0x472b60
mov dword [esp + 0x14], eax
jmp 0x402e70
mov eax, dword [esp + 0x14]
cmp ebp, 0x1e
jg 0x402f2d
mov dl, byte [eax + ebp + 0x472b60]
mov ecx, 0x200
mov byte [ebp + 0x472b60], dl
xor eax, eax
lea edi, [esp + 0xa24]
and edx, 0xff
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0xa28]
push 0x431770
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa30]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1224]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xa24]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x2614]
mov ecx, edx
and ecx, 3
inc ebp
and eax, 0xff
inc ebx
cmp ebp, eax
rep movsb byte es:[edi], byte [esi]
jle 0x402e6c
mov esi, dword [esp + 0x20]
push 2
push 0
push esi
call dword [sym.imp.MSVCRT.dll_fseek]
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [sym.imp.MSVCRT.dll_fwrite]
repne scasb al, byte es:[edi]
not ecx
push esi
dec ecx
push 1
push ecx
lea ecx, [esp + 0x3c]
push ecx
call ebp
push esi
push 1
push 1
push 0x431764
call ebp
lea edi, [esp + 0x1250]
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
lea edx, [esp + 0x1258]
push ecx
push edx
call ebp
push esi
push 1
push 1
push 0x431764
call ebp
add esp, 0x4c
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
jge 0x403505
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x2dfc
ret
and eax, 0xff
jl 0x402fd8
lea ecx, [eax + 1]
lea edi, [esp + 0x22e]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x4351ca]
mov ecx, edx
sar ecx, 8
mov byte [esp + 0x22d], dl
cmp al, 1
lea edx, [esp + 0x1e0c]
push 0x800
lea eax, [esp + 0x228]
push edx
push eax
mov byte [esp + 0x238], cl
push 0x12
jne 0x403012
call fcn.00403560
jmp 0x403018
call dword [0x472ee4]
movsx ecx, ax
mov dword [esp + 0x20], ecx
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x161c]
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0xa34]
rep stosd dword es:[edi], eax
mov edi, 0x431764
or ecx, 0xffffffff
add esp, 0x10
lea edx, [esp + 0x160c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push ebp
lea ecx, [esp + 0xa2c]
push str._X____X
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa34]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x22e]
mov ecx, ebp
and ecx, 3
xor ebp, ebp
test al, al
rep movsb byte es:[edi], byte [esi]
jb 0x40312f
xor eax, eax
lea ecx, [esp + 0xa24]
mov al, byte [esp + ebp + 0x22e]
push eax
push 0x431770
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa30]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x22e]
mov ecx, edx
and ecx, 3
inc ebp
and eax, 0xff
cmp ebp, eax
rep movsb byte es:[edi], byte [esi]
jle 0x4030cb
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x24]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x160c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x160c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x431764
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0xa24]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0xfa
lea edi, [esp + 0x1224]
rep stosd dword es:[edi], eax
mov ecx, 0x200
lea edi, [esp + 0xa24]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str._X____X
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa34]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x1224]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xa24]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1e14]
mov ecx, ebp
and ecx, 3
cmp al, 0x10
rep movsb byte es:[edi], byte [esi]
jb 0x40335a
mov ecx, dword [esp + 0x1e15]
and eax, 0xff
sub eax, 0x10
and ecx, 0xff
shl eax, 8
xor ebp, ebp
add eax, ecx
js 0x403430
lea eax, [esp + 0x1e15]
sub eax, 0x472b60
mov dword [esp + 0x14], eax
jmp 0x403280
mov eax, dword [esp + 0x14]
cmp ebp, 0xfd
jg 0x403430
mov dl, byte [eax + ebp + 0x472b60]
mov ecx, 0x200
mov byte [ebp + 0x472b60], dl
and edx, 0xff
push edx
xor eax, eax
lea edi, [esp + 0xa28]
lea edx, [esp + 0xa28]
push 0x431770
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa30]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1224]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xa24]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1e14]
mov ecx, edx
and ecx, 3
and eax, 0xff
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1e15]
sub eax, 0x10
shl eax, 8
and ecx, 0xff
inc ebp
add eax, ecx
inc ebx
cmp ebp, eax
jle 0x40327c
jmp 0x403430
xor ebp, ebp
xor ebx, ebx
test al, al
jb 0x403430
lea eax, [esp + 0x1e14]
sub eax, 0x472b60
mov dword [esp + 0x14], eax
jmp 0x40337c
mov eax, dword [esp + 0x14]
mov dl, byte [eax + ebx + 0x472b60]
mov ecx, 0x200
mov byte [ebx + 0x472b60], dl
and edx, 0xff
push edx
xor eax, eax
lea edi, [esp + 0xa28]
lea edx, [esp + 0xa28]
push 0x431770
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0xa30]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1224]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xa24]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1e14]
mov ecx, edx
and ecx, 3
inc ebp
and eax, 0xff
inc ebx
cmp ebp, eax
rep movsb byte es:[edi], byte [esi]
jle 0x403378
mov ebp, dword [esp + 0x20]
push 2
push 0
push ebp
call dword [sym.imp.MSVCRT.dll_fseek]
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
mov esi, dword [sym.imp.MSVCRT.dll_fwrite]
repne scasb al, byte es:[edi]
not ecx
push ebp
dec ecx
push 1
push ecx
lea ecx, [esp + 0x3c]
push ecx
call esi
push ebp
push 1
push 1
push 0x431764
call esi
lea edi, [esp + 0x1250]
or ecx, 0xffffffff
xor eax, eax
push ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
lea edx, [esp + 0x1258]
push ecx
push edx
call esi
push ebp
push 1
push 1
push 0x431764
call esi
mov edi, 0x431764
or ecx, 0xffffffff
xor eax, eax
add esp, 0x4c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x160c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
jge 0x403505
lea eax, [esp + 0x1224]
lea ecx, [esp + 0x24]
push eax
push ecx
push 0x472ac0
call fcn.0042e2a0
add esp, 0xc
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2dfc
ret
cmp byte [0x472b61], 0x7f
jne 0x403550
cmp byte [0x472b63], 0x78
je 0x403550
lea edx, [esp + 0x1224]
lea eax, [esp + 0x24]
push edx
push eax
push 0x472ac0
call fcn.0042e2a0
add esp, 0xc
xor eax, eax
mov al, byte [0x472b61]
xor ecx, ecx
mov cl, byte [0x472b63]
pop edi
shl eax, 0x18
pop esi
pop ebp
add eax, ecx
pop ebx
add esp, 0x2dfc
ret
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x2dfc
ret