Function at 0x423320
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1e0
mov esi, esp
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 4], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0x188], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x18c], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x164], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x70], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x44], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x198], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x19c], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0x15c], esp
sub esp, 0x28
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x154], eax
mov esp, eax
push eax
sub esp, 0x100
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x190], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x168], eax
mov esp, eax
push eax
sub esp, 0x1fc
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x1a0], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x16c], eax
mov esp, eax
push eax
sub esp, 0x1fc
mov dword [esi + 0x9c], esp
push eax
mov dword [esi + 0x1a4], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x170], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x1ac], esp
push eax
mov dword [esi + 0x1a8], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x60], eax
mov esp, eax
push eax
sub esp, 0xa8
mov dword [esi + 0x4c], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1b0], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1b4], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x38], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x5c], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x58], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1b8], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x80], eax
mov esp, eax
push eax
sub esp, 0x20
mov dword [esi + 0xa0], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xa4], eax
mov esp, eax
push eax
sub esp, 8
mov dword [esi + 0x1bc], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x7c], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x64], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x1c0], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x174], eax
mov esp, eax
push eax
sub esp, 0x2c
mov dword [esi + 0xa8], esp
sub esp, 0x30
mov dword [esi + 0x1c4], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x178], eax
mov esp, eax
push eax
sub esp, 0x28
mov dword [esi + 0x150], esp
push eax
mov dword [esi + 0x40], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x74], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x17c], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb0], eax
mov esp, eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x180], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0x160], esp
sub esp, 0x348
mov dword [esi + 0x6c], esp
sub esp, 0xdc
mov dword [esi + 0x158], esp
sub esp, 0xc
mov dword [esi + 0x194], esp
sub esp, 0xc
mov dword [esi + 0x90], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x50], eax
mov esp, eax
push eax
sub esp, 0x14
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push 0x1000
call fcn.004090a0
add esp, 4
mov dword [esi + 0x130], 0x9b4ab85a
mov dword [esi + 0x134], 0xa1fee589
mov word [esi + 0x138], 0x6544
mov dword [esi + 0x13e], 0
mov dword [esi + 0x13a], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0x11
ja 0x423665
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x130]
mov edx, 0x4d
sub edx, ebx
add ebx, 0x69492b2
xor edx, ebx
and edx, ecx
xor edx, ebx
mov dword [esi + 0xc0], edx
mov edx, dword [esi + 0xc0]
add dl, 0x22
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x130], dl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x12
jb 0x423620
mov dword [esi + 0xac], eax
mov dword [esi + 0x94], edi
mov eax, dword [0x43b8b4]
mov dword [esi + 0x10], 0x70926c8a
mov dword [esi + 0x14], 0x2e502b2b
mov dword [esi + 0x18], 0x4a383c4f
mov dword [esi + 0x1c], 0x31313438
mov word [esi + 0x20], 0x816a
mov byte [esi + 0x22], 0xa2
mov dword [esi + 0x23], 0
mov dword [esi + 0x27], 0
mov dword [esi + 0x2a], 0
mov dword [esi + 0x84], 0
mov ecx, dword [esi + 0x84]
cmp ecx, 0x1d
ja 0x42371e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x84]
movzx edx, byte [esi + edx + 0x10]
mov edi, 0x97
sub edi, ecx
add ecx, 0xe8ed9e68
xor edi, ecx
and edi, edx
xor edi, ecx
mov dword [esi + 0xc0], edi
mov ecx, dword [esi + 0xc0]
add cl, 0x28
mov edx, dword [esi + 0x84]
mov byte [esi + edx + 0x10], cl
inc dword [esi + 0x84]
mov ecx, dword [esi + 0x84]
cmp ecx, 0x1e
jb 0x4236d0
mov ecx, dword [str.WpM2Co__SUSELL]
mov dword [esi + 0xc0], 0x4c12313b
mov dword [esi + 0xc4], 0x4e4a3d49
mov dword [esi + 0xc8], 0x67380347
mov dword [esi + 0xcc], 0x53042513
mov dword [esi + 0xd0], 0x60575659
mov dword [esi + 0xd4], 0x5e555c54
mov dword [esi + 0xd8], 0x26c25c5c
mov dword [esi + 0xdc], 0x2c2b772a
mov dword [esi + 0xe0], 0x271f0c58
mov dword [esi + 0xe4], 0x2e285d26
mov dword [esi + 0xe8], 0x5b622417
mov dword [esi + 0xec], 0x303b317a
mov dword [esi + 0xf0], 0x370231
mov dword [esi + 0xf4], 0x33033830
mov dword [esi + 0xf8], 0xa134380c
mov dword [esi + 0xfc], 0x820757d
mov dword [esi + 0x100], 0x5e330601
mov dword [esi + 0x104], 0x5e7d40
mov dword [esi + 0x108], 0x41340d35
mov dword [esi + 0x10c], 0x2e1b467a
mov dword [esi + 0x110], 0x635d5266
mov dword [esi + 0x114], 0x535e5d50
mov dword [esi + 0x118], 0x3f685e84
mov dword [esi + 0x11c], 0x97aeb941
mov byte [esi + 0x120], 0x76
mov word [esi + 0x129], 0
mov dword [esi + 0x125], 0
mov dword [esi + 0x121], 0
mov dword [esi + 0xb4], 0
mov edx, dword [esi + 0xb4]
cmp edx, 0x6a
ja 0x4238a4
nop
nop
nop
mov edx, dword [esi + 0xb4]
mov edi, dword [esi + 0xb4]
movzx edi, byte [esi + edi + 0xc0]
mov ebx, 0xdc
sub ebx, edx
add edx, 0x4fbd4423
xor ebx, edx
and ebx, edi
xor ebx, edx
mov dword [esi + 0x84], ebx
mov edx, dword [esi + 0x84]
add dl, 0xb
mov edi, dword [esi + 0xb4]
mov byte [esi + edi + 0xc0], dl
inc dword [esi + 0xb4]
mov edx, dword [esi + 0xb4]
cmp edx, 0x6b
jb 0x423850
movzx edx, byte [esi + 0xc0]
mov edi, dword [esi + 0xac]
mov ebx, edi
test dl, dl
je 0x4238cb
mov ebx, edi
lea edi, [esi + 0xc1]
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x4238c0
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x4238eb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x4238e0
mov byte [ebx], 0
movzx ecx, byte [esi + 0x10]
test cl, cl
je 0x42390b
lea edx, [esi + 0x11]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x423900
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42392b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x423920
mov byte [ebx], 0
movzx eax, byte [esi + 0x130]
test al, al
je 0x42394b
lea ecx, [esi + 0x131]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x423940
mov byte [ebx], 0
push 0
call fcn.00435070
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43e59c]