Function at 0x41ea70
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.00408650
mov dword [esp + 0x11ec], 0x43b041bc
mov dword [esp + 0x11f0], 0x47814581
mov dword [esp + 0x11f4], 0x4bb94981
mov dword [esp + 0x11f8], 0x4fbc4db8
mov dword [esp + 0x11fc], 0x738e7189
mov dword [esp + 0x1200], 0x77857581
mov dword [esp + 0x1204], 0x7b8879bd
mov word [esp + 0x1208], 0x7d7c
mov dword [esp + 0x120a], 0
mov byte [esp + 0x120e], 0
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x22
ja 0x41eb5f
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
lea edx, [eax + ecx]
add edx, 0x20daae90
add eax, 0x90
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0x30
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x23
jb 0x41eb00
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.0043f630
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446d54]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x38]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x5c]
call fcn.0043fa40
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d5c]
xor eax, eax
jmp 0x420471
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], 0
cmp ecx, dword [esp + 0x38]
setb al
xor edi, edi
jmp dword [eax*4 + 0x446d64]
mov edx, dword [esp + 4]
mov word [edx], 0
mov eax, dword [case.0x41eb84.8]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 8]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x446d7c]
movzx ecx, word [esp + 0x11ec]
xor ebp, ebp
test cx, cx
je 0x420268
lea eax, [esp + 0x11ec]
jmp 0x420242
inc edi
xor eax, eax
cmp edi, dword [esp + 0x38]
setb al
jmp dword [eax*4 + 0x446d64]
mov esi, dword [esp + 0x64]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41ec53
mov eax, 0xffffffff
push eax
call fcn.00408680
add esp, 4
mov dword [esp + 0x60], esi
mov ebx, eax
lea eax, [esp + 0x60]
push eax
push ebx
push edi
push dword [esp + 0x48]
call fcn.0043f750
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d84]
jmp dword [0x446e04]
lea eax, [esp + 0x54]
push dword [esp + 0x3c]
push 0
push 0x20019
push eax
push ebx
call fcn.0043f630
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d8c]
jmp dword [0x446e04]
mov dword [esp + 0x44], edi
mov dword [esp + 0x7c], 0x79ed7b0f
mov dword [esp + 0x80], 0x65f86715
mov dword [esp + 0x84], 0x61ff63f5
mov dword [esp + 0x88], 0x6d046ff1
mov dword [esp + 0x8c], 0x690e6bf0
mov dword [esp + 0x90], 0x95019711
mov dword [esp + 0x94], 0x91fe9306
mov dword [esp + 0x98], 0x9d079f01
mov dword [esp + 0x9c], 0x99ba9b01
mov dword [esp + 0xa0], 0x85ed87eb
mov dword [esp + 0xa4], 0x811f8319
mov dword [esp + 0xa8], 0x8de78fef
mov dword [esp + 0xac], 0x89188b1b
mov dword [esp + 0xb0], 0xb596b7e1
mov dword [esp + 0xb4], 0xb129b3c9
mov dword [esp + 0xb8], 0xbd23bfde
mov dword [esp + 0xbc], 0xb927bb3b
mov dword [esp + 0xc0], 0xa5cda724
mov dword [esp + 0xc4], 0xa1c6a337
mov dword [esp + 0xc8], 0xad30afd0
mov dword [esp + 0xcc], 0xa9c0ab3d
mov dword [esp + 0xd0], 0xd542d73f
mov dword [esp + 0xd4], 0xd14fd3bf
mov dword [esp + 0xd8], 0xdd99dfb4
mov dword [esp + 0xdc], 0xd983db81
mov dword [esp + 0xe0], 0xc58bc783
mov dword [esp + 0xe4], 0xc188c38e
mov dword [esp + 0xe8], 0xcd92cf90
mov dword [esp + 0xec], 0xc997cb93
mov dword [esp + 0xf0], 0xf5a9f797
mov dword [esp + 0xf4], 0xf19ef3ab
mov dword [esp + 0xf8], 0xfdb0ffad
mov dword [esp + 0xfc], 0xf9a2fba4
mov dword [esp + 0x100], 0xe5b6e7b7
mov dword [esp + 0x104], 0xe1bde3b4
mov dword [esp + 0x108], 0xedb2efb0
mov dword [esp + 0x10c], 0xe9b4eba2
mov dword [esp + 0x110], 0x154c17a7
mov dword [esp + 0x114], 0x114b134e
mov dword [esp + 0x118], 0x1d7a1f4a
mov dword [esp + 0x11c], 0x1b1c
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa3
ja 0x41eeea
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0xa755d3eb
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x69
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
jb 0x41eea0
lea edi, [esp + 0xf20]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x11c]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xfc0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xb1658f43
mov dword [esp + 0x80], 0xb520b355
mov dword [esp + 0x84], 0xb923b725
mov dword [esp + 0x88], 0xbd5cbb29
mov dword [esp + 0x8c], 0xa142bf28
mov dword [esp + 0x90], 0xa549a359
mov dword [esp + 0x94], 0xa942a74a
mov dword [esp + 0x98], 0xad33ab39
mov dword [esp + 0x9c], 0x518eaf39
mov dword [esp + 0xa0], 0x55a6539e
mov dword [esp + 0xa4], 0x599357a8
mov dword [esp + 0xa8], 0x5dc85bcf
mov dword [esp + 0xac], 0x41b95fce
mov dword [esp + 0xb0], 0x45d643ae
mov dword [esp + 0xb4], 0x49a147b2
mov dword [esp + 0xb8], 0x4ddf4bda
mov dword [esp + 0xbc], 0x71df4fa7
mov dword [esp + 0xc0], 0x758e739e
mov dword [esp + 0xc4], 0x799d778d
mov dword [esp + 0xc8], 0x7d9e7b96
mov dword [esp + 0xcc], 0x61e77fed
mov dword [esp + 0xd0], 0x654263f5
mov dword [esp + 0xd4], 0x698167ab
mov dword [esp + 0xd8], 0x6dff6bfd
mov dword [esp + 0xdc], 0x11876f8f
mov dword [esp + 0xe0], 0x15fc13fb
mov dword [esp + 0xe4], 0x193617fd
mov dword [esp + 0xe8], 0x1d8d1bed
mov dword [esp + 0xec], 0x18b1ffe
mov dword [esp + 0xf0], 0x597039b
mov dword [esp + 0xf4], 0x9e10790
mov dword [esp + 0xf8], 0xdf60be7
mov dword [esp + 0xfc], 0x319c0ffc
mov dword [esp + 0x100], 0x35d433a1
mov dword [esp + 0x104], 0x39da37df
mov dword [esp + 0x108], 0x3daf3bdf
mov dword [esp + 0x10c], 0x21cf3fc0
mov dword [esp + 0x110], 0x25b623b7
mov dword [esp + 0x114], 0x29b727c8
mov dword [esp + 0x118], 0x2dc72bb9
mov dword [esp + 0x11c], 0xd1f52fd0
mov dword [esp + 0x120], 0xd50bd305
mov dword [esp + 0x124], 0xd913d703
mov dword [esp + 0x128], 0xdd1cdb1e
mov dword [esp + 0x12c], 0xc10adf0c
mov dword [esp + 0x130], 0xc517c313
mov dword [esp + 0x134], 0xc915c717
mov dword [esp + 0x138], 0xcd2ecb1b
mov dword [esp + 0x13c], 0xf10ccf19
mov dword [esp + 0x140], 0xf52af328
mov dword [esp + 0x144], 0xf926f737
mov dword [esp + 0x148], 0xfd29fb28
mov dword [esp + 0x14c], 0xe12aff2c
mov dword [esp + 0x150], 0xe530e322
mov dword [esp + 0x154], 0xe930e727
mov dword [esp + 0x158], 0xed33eb3e
mov dword [esp + 0x15c], 0x9112ef3a
mov word [esp + 0x160], 0x9390
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xea
ja 0x41f215
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
lea edx, [eax + ecx]
add eax, 0x5d
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x324f475d
mov dword [esp + 0xa7c], edx
mov eax, dword [esp + 0xa7c]
add al, 0x2f
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xeb
jb 0x41f1c0
mov dword [esp + 0x40], ebx
lea ebx, [esp + 0x1106]
lea eax, [esp + 0x7c]
mov edi, ebx
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x160]
mov ecx, 1
lea edi, [esp + 0x11ea]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xc95dcbbf
mov dword [esp + 0x80], 0xc548c755
mov dword [esp + 0x84], 0xc14fc355
mov dword [esp + 0x88], 0xfd64ff51
mov dword [esp + 0x8c], 0xf99efb70
mov dword [esp + 0x90], 0xf56cf789
mov dword [esp + 0x94], 0xf165f36e
mov dword [esp + 0x98], 0xed75ef6d
mov dword [esp + 0x9c], 0xe9a5eb88
mov dword [esp + 0xa0], 0xe5b4e7a5
mov dword [esp + 0xa4], 0xe186e3b4
mov dword [esp + 0xa8], 0x1d951f91
mov dword [esp + 0xac], 0x198e1b90
mov dword [esp + 0xb0], 0x15871789
mov dword [esp + 0xb4], 0x11761381
mov dword [esp + 0xb8], 0xd800f60
mov dword [esp + 0xbc], 0x9900b9d
mov dword [esp + 0xc0], 0x592079f
mov dword [esp + 0xc4], 0x18f039f
mov dword [esp + 0xc8], 0x3d4f3f64
mov dword [esp + 0xcc], 0x39b63bb7
mov dword [esp + 0xd0], 0x35a737ac
mov dword [esp + 0xd4], 0x31a733a5
mov dword [esp + 0xd8], 0x2d692f54
mov dword [esp + 0xdc], 0x29632b61
mov dword [esp + 0xe0], 0x255b2763
mov dword [esp + 0xe4], 0x2158235e
mov dword [esp + 0xe8], 0x5d125f70
mov dword [esp + 0xec], 0x59175b13
mov dword [esp + 0xf0], 0x55195717
mov dword [esp + 0xf4], 0x51ce531b
mov dword [esp + 0xf8], 0x4d304f1d
mov dword [esp + 0xfc], 0x49024b04
mov dword [esp + 0x100], 0x45164737
mov dword [esp + 0x104], 0x410d4314
mov dword [esp + 0x108], 0x7d327f10
mov dword [esp + 0x10c], 0x79347b02
mov dword [esp + 0x110], 0x753c7707
mov dword [esp + 0x114], 0x713b733e
mov dword [esp + 0x118], 0x6d0a6f3a
mov word [esp + 0x11c], 0x6b6c
lea eax, [esp + 0x11c]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
ja 0x41f4a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
lea edx, [eax + ecx]
add eax, 0xd3
and eax, ecx
sub edx, eax
add edx, 0x361cb1d3
mov ecx, edx
xor ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0xe1
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x41f440
lea edi, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0xf1e]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x29852b77
mov dword [esp + 0x80], 0x2d982f8d
mov dword [esp + 0x84], 0x3187339d
mov dword [esp + 0x88], 0x359c3781
mov dword [esp + 0x8c], 0x39663b80
mov dword [esp + 0x90], 0x3d943f69
mov dword [esp + 0x94], 0x1ad0396
mov dword [esp + 0x98], 0x5ad07a5
mov dword [esp + 0x9c], 0x97d0b58
mov dword [esp + 0xa0], 0xd7c0f7c
mov dword [esp + 0xa4], 0x114e137c
mov dword [esp + 0xa8], 0x15ad1741
mov dword [esp + 0xac], 0x19b61ba0
mov dword [esp + 0xb0], 0x1daf1fa9
mov dword [esp + 0xb4], 0x613e63b1
mov dword [esp + 0xb8], 0x65d06730
mov dword [esp + 0xbc], 0x69c06bd5
mov dword [esp + 0xc0], 0x6dc26fc7
mov dword [esp + 0xc4], 0x71c773c7
mov dword [esp + 0xc8], 0x7527772c
mov dword [esp + 0xcc], 0x79ce7bcf
mov dword [esp + 0xd0], 0x7dcf7fd4
mov dword [esp + 0xd4], 0x41ef43cd
mov dword [esp + 0xd8], 0x4539471c
mov dword [esp + 0xdc], 0x49334b31
mov dword [esp + 0xe0], 0x4d0b4f33
mov dword [esp + 0xe4], 0x51185306
mov dword [esp + 0xe8], 0x55225720
mov dword [esp + 0xec], 0x592f5b23
mov dword [esp + 0xf0], 0x5d295f2f
mov dword [esp + 0xf4], 0xa106a32b
mov dword [esp + 0xf8], 0xa5e0a7d5
mov dword [esp + 0xfc], 0xa9d2abdc
mov dword [esp + 0x100], 0xaddeafef
mov dword [esp + 0x104], 0xb1c5b3dc
mov dword [esp + 0x108], 0xb5c2b7c0
mov dword [esp + 0x10c], 0xb9ccbbf2
mov dword [esp + 0x110], 0xbdc4bfff
mov dword [esp + 0x114], 0x81fb83c6
mov dword [esp + 0x118], 0x85da87fa
mov dword [esp + 0x11c], 0x8b84
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa3
ja 0x41f719
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
movzx edx, byte [esp + eax + 0x7c]
lea eax, [ecx + edx]
add eax, 0x14930607
add ecx, 0x14930607
mov esi, edx
not esi
or esi, ecx
lea ecx, [edx + esi]
inc ecx
sub eax, ecx
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xa7c], ecx
mov eax, dword [esp + 0xa7c]
add al, 0xdd
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
jb 0x41f6b0
lea eax, [esp + 0x1064]
lea edx, [esp + 0x7c]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x1104]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x7c], 0x29452b57
mov dword [esp + 0x80], 0x2db82f4d
mov dword [esp + 0x84], 0x51c753bd
mov dword [esp + 0x88], 0x553c57c1
mov dword [esp + 0x8c], 0x59265bc0
mov dword [esp + 0x90], 0x5d345f29
mov dword [esp + 0x94], 0x412d4336
mov dword [esp + 0x98], 0x452d4725
mov dword [esp + 0x9c], 0x491d4b38
mov dword [esp + 0xa0], 0x4d1c4f13
mov dword [esp + 0xa4], 0x710e731c
mov dword [esp + 0xa8], 0x75ed7701
mov dword [esp + 0xac], 0x79167be0
mov dword [esp + 0xb0], 0x7def7fe9
mov dword [esp + 0xb4], 0x611e6311
mov dword [esp + 0xb8], 0x65f06710
mov dword [esp + 0xbc], 0x69006bf5
mov dword [esp + 0xc0], 0x6d026f07
mov dword [esp + 0xc4], 0x91079307
mov dword [esp + 0xc8], 0x95e797ec
mov dword [esp + 0xcc], 0x990e9b0f
mov dword [esp + 0xd0], 0x9d0f9ff4
mov dword [esp + 0xd4], 0x81ef830d
mov dword [esp + 0xd8], 0x85d987fc
mov dword [esp + 0xdc], 0x89d38bd1
mov dword [esp + 0xe0], 0x8dcb8fd3
mov dword [esp + 0xe4], 0xb1f8b3c6
mov dword [esp + 0xe8], 0xb5e2b7e0
mov dword [esp + 0xec], 0xb9efbbe3
mov dword [esp + 0xf0], 0xbde9bfef
mov dword [esp + 0xf4], 0xa1c6a3eb
mov dword [esp + 0xf8], 0xa5e0a7f5
mov dword [esp + 0xfc], 0xa9f2abfc
mov dword [esp + 0x100], 0xadfeafef
mov dword [esp + 0x104], 0xd185d3fc
mov dword [esp + 0x108], 0xd582d780
mov dword [esp + 0x10c], 0xd98cdb92
mov dword [esp + 0x110], 0xdd84df9f
mov dword [esp + 0x114], 0xc19bc386
mov dword [esp + 0x118], 0xc5bac79a
mov word [esp + 0x11c], 0xcbc4
lea ecx, [esp + 0x11c]
mov byte [ecx + 6], 0
mov dword [ecx + 2], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa6
ja 0x41f9a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
lea esi, [ecx + edx]
add esi, 0x42cab837
add ecx, 0x42cab837
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0xed
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa7
jb 0x41f940
lea edx, [esp + 0xfc2]
lea ebp, [esp + 0x7c]
mov esi, ebp
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x11c]
lea edi, [esp + 0x1062]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xf20]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
lea ecx, [esp + 0xe7e]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446d94]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], 0x40474645
mov word [esp + 0x80], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 5
ja 0x41fa99
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
lea esi, [ecx - 0x6c35488f]
add ecx, edx
add ecx, 0x93cab771
not edx
or esi, edx
sub edx, esi
lea ecx, [ecx + edx*2]
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0xcb
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 6
jb 0x41fa40
mov ecx, dword [0x44bbd0]
test ecx, ecx
je 0x4201e0
mov edx, dword [esp + 0x7c]
xor esi, esi
mov edi, dword [0x44bbd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4201d4
inc esi
cmp ecx, esi
jne 0x41fac0
jmp 0x4201e0
mov ecx, dword [esp + 0x58]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446d94]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + ecx + 0x68]
mov dword [esp + 0x7c], 0xe9baebb4
mov dword [esp + 0x80], 0xedbeefb8
mov dword [esp + 0x84], 0xd182d3bc
mov dword [esp + 0x88], 0xd56ed780
mov word [esp + 0x8c], 0xdbd4
lea ecx, [esp + 0x11c]
mov byte [ecx - 0x8c], 0
mov word [ecx - 0x8e], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x14
ja 0x41fbb4
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
lea esi, [ecx + edx]
add ecx, 0x57
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x772c0857
mov dword [esp + 0xa7c], esi
mov ecx, dword [esp + 0xa7c]
add cl, 0x4d
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x15
jb 0x41fb60
movzx ecx, word [eax]
lea esi, [esp + 0x87c]
test cx, cx
je 0x41fbe1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41fbd0
mov word [esi], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x41fc11
lea ecx, [esp + 0x7e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fc00
mov word [esi], 0
mov eax, dword [case.0x41fa04.4]
nop
nop
nop
nop
nop
jmp eax
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x48], esi
jmp dword [eax*4 + 0x446dac]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x446dac]
mov word [esi - 2], di
lea eax, [esp + 0x50]
lea ecx, [esp + 0x87c]
push dword [esp + 0x54]
push 0
push 0x20019
push eax
push ecx
call fcn.0043f630
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446dc4]
mov dword [esp + 0x5c], 0x800
mov dword [esp + 0x4c], edi
mov dword [esp + 0x30], 0x400
xor esi, esi
mov dword [esp + 0xc], 0
jmp 0x41fcc2
mov ebp, dword [esp + 4]
mov dword [ebp], 0x20003a
add ebp, 4
mov dword [esp + 4], ebp
mov al, 1
mov dword [esp + 0xc], eax
lea ebp, [esp + 0x7c]
mov esi, dword [esp + 0x10]
inc esi
lea eax, [esp + 0x30]
lea edi, [esp + 0xa7c]
lea ecx, [esp + 0x34]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
push ebp
mov dword [esp + 0x24], esi
push esi
push dword [esp + 0x68]
call fcn.0043fd30
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446dcc]
test byte [esp + 0xc], 1
sete al
cmp dword [esp + 0x34], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446dd4]
xor eax, eax
cmp dword [esp + 0x34], 3
sete al
jmp dword [eax*4 + 0x446de4]
mov eax, dword [case.0x4201cd.16]
mov esi, dword [esp + 0x10]
nop
nop
nop
jmp eax
mov dword [esp + 0x18], 0x913b9f5f
mov dword [esp + 0x1c], 0x95039335
mov dword [esp + 0x20], 0x89089703
mov dword [esp + 0x24], 0x8d8a8b1c
mov byte [esp + 0x28], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x10
ja 0x41fdbe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + ecx]
add edx, 0xe3a4ec65
add eax, 0xe3a4ec65
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x11
jb 0x41fd80
movzx ebx, word [esp + 0x18]
test bx, bx
je 0x41fe0c
lea eax, [esp + 0x7c]
lea edx, [esp + 0x18]
mov ebp, eax
jmp 0x41fde8
movzx ebx, word [edx]
test bx, bx
je 0x41fe0c
movzx esi, word [eax]
test si, si
je 0x41fe0a
add eax, 2
add edx, 2
lea ecx, [ebp + 2]
cmp si, bx
je 0x41fe02
mov ebp, ecx
mov eax, ecx
je 0x41fde0
lea edx, [esp + 0x18]
jmp 0x41fde0
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x446ddc]
xor eax, eax
cmp dword [esp + 0x34], 3
sete al
lea ebp, [esp + 0x7c]
jmp dword [eax*4 + 0x446de4]
mov dword [esp + 0x18], 0x37d739e8
mov dword [esp + 0x1c], 0x33bd35bb
mov dword [esp + 0x20], 0xcf3d31bb
mov dword [esp + 0x24], 0xcb36cd42
mov word [esp + 0x28], 0xc9c8
lea eax, [esp + 0x2a]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x41feae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0x493ae376
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xb2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x41fe80
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x7c]
test di, di
je 0x41ffda
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x18]
mov eax, ecx
jmp 0x41fedc
movzx edi, word [edx]
test di, di
je 0x41ffda
movzx esi, word [ecx]
test si, si
je 0x41ffd8
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp si, di
je 0x41fefa
mov eax, ebx
mov ecx, ebx
je 0x41fed0
lea edx, [esp + 0x18]
jmp 0x41fed0
mov eax, dword [esp + 0x30]
cmp eax, 2
jb 0x41fca1
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x41ff64
mov dword [esp + 0xc], ecx
xor ebx, ebx
lea edi, [esp + 0xa7c]
mov ebp, dword [esp + 4]
nop
nop
nop
nop
nop
nop
movzx esi, word [edi]
xor ecx, ecx
test si, si
setne cl
lea edi, [edi + ecx*2]
mov word [ebp], si
add ebp, 2
inc ebx
cmp edx, ebx
jne 0x41ff40
mov dword [esp + 4], ebp
sub eax, ebx
mov ecx, dword [esp + 0xc]
cmp ecx, 3
mov ebp, dword [esp + 4]
jb 0x41fca5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x41ff80
jmp 0x41fca5
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x10]
jmp dword [ecx*4 + 0x446dec]
mov eax, dword [esp + 0x30]
cmp eax, 2
jae 0x41fffe
mov edx, dword [esp + 4]
jmp 0x4200bd
shr eax, 1
lea esi, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xa7c]
and edi, 3
je 0x420048
mov dword [esp + 8], esi
xor ebx, ebx
mov ebp, dword [esp + 4]
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [ebp], si
add ebp, 2
inc ebx
cmp edi, ebx
jne 0x420020
sub eax, ebx
mov edx, ebp
lea ebp, [esp + 0x7c]
mov esi, dword [esp + 8]
jmp 0x42004c
mov edx, dword [esp + 4]
cmp esi, 3
mov esi, dword [esp + 0x10]
jb 0x4200bd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, edx
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
lea edx, [ebp + 8]
lea ecx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x420060
lea ebp, [esp + 0x7c]
mov esi, dword [esp + 0x10]
mov word [edx], 0xa
add edx, 2
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 8], eax
inc esi
jmp 0x41fcc2
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], 0x40474645
mov word [esp + 0x1c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x42014f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
lea esi, [ecx - 0x6c35488f]
add ecx, edx
add ecx, 0x93cab771
not edx
or esi, edx
sub edx, esi
lea ecx, [ecx + edx*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xcb
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x420110
mov ecx, dword [0x44bbd0]
test ecx, ecx
je 0x420190
mov edx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [0x44bbd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x420180
inc esi
cmp ecx, esi
jne 0x420170
jmp 0x420190
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x4201a2
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x4c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x446dac]
push eax
push 1
push dword [0x44bbd8]
push ecx
call fcn.0043c6e0
add esp, 0x10
mov edi, dword [esp + 0x4c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x446dac]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x420208
nop
nop
nop
nop
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
jmp dword [0x446e04]
push ebx
call fcn.00408690
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x38]
setb al
jmp dword [eax*4 + 0x446d64]
push eax
push 1
push dword [0x44bbd8]
push ecx
call fcn.0043c6e0
add esp, 0x10
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
jmp dword [0x446e04]
add ebp, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 4]
je 0x420268
cmp eax, edx
jae 0x420268
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x420230
mov edx, ecx
jmp 0x420230
lea eax, [ebp + 1]
mov dword [esp + 0xc], eax
push eax
mov esi, edx
call fcn.00408680
add esp, 4
mov edi, eax
lea eax, [esp + 0x11ec]
cmp eax, esi
setb al
mov dword [esp + 8], edi
test ebp, ebp
jle 0x420367
mov edi, dword [esp + 8]
test al, al
je 0x420367
mov edi, dword [esp + 8]
lea eax, [edi + ebp]
mov dword [esp + 0x10], eax
add dword [esp + 0xc], edi
lea edx, [esp + 0x11ee]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [edx - 2]
test bx, bx
je 0x420367
cmp bx, 0x7f
ja 0x4202e0
mov byte [edi], bl
mov esi, 1
jmp 0x420350
mov eax, edi
not eax
add eax, dword [esp + 0xc]
movzx ecx, bx
cmp eax, 2
jb 0x420320
cmp ecx, 0x7ff
ja 0x420320
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov esi, 2
jmp 0x420350
xor esi, esi
cmp eax, 3
jb 0x420350
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov esi, 3
nop
nop
nop
nop
nop
nop
add edi, esi
cmp edi, dword [esp + 0x10]
jae 0x420367
lea eax, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, eax
jb 0x4202c0
mov byte [edi], 0
mov dword [esp + 0x7c], 0xb3aea9d9
mov dword [esp + 0x80], 0x5743bab5
mov dword [esp + 0x84], 0x50545249
mov dword [esp + 0x88], 0x5f5f3617
mov dword [esp + 0x8c], 0x405d5a44
mov dword [esp + 0x90], 0x40443d1f
mov dword [esp + 0x94], 0x525a585a
mov dword [esp + 0x98], 0x434e0743
mov word [esp + 0x9c], 0xf94c
mov dword [esp + 0x9e], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x25
ja 0x420445
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x2a5313fa
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov ecx, eax
not ecx
and ecx, 0xe2
and eax, 0x1d
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x26
jb 0x4203f0
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x2200]
push ebp
mov esi, dword [esp + 0xc]
push esi
push eax
call fcn.00409230
jmp dword [0x446e0c]
push esi
mov esi, eax
call fcn.00408690
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
int3
jmp 0x446d98
cli
inc ecx
add dh, dh
cli
idiv dl
inc ecx
add byte [eax], ah
cld
inc ecx
add byte [eax], ah
cld
inc ecx
add byte [edx], ah
cld
inc ecx
add byte [eax], ah
cld
inc ecx
add al, ah
cli
inc ecx
add byte [ecx - 4], dl
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esp + eax + 0x42], bh
add byte [eax - 4], al
inc ecx
add byte [ecx - 0x1fffbe04], al
add byte [edx], al
idiv esp
inc ecx
add byte [ebx], dl
std
inc ecx
add byte [eax - 3], al
inc ecx
add byte [edx], bl
inc byte [ecx]
adc bh, bh
inc ecx
add byte [edi*8 - 0x1d0ffbf], ah
inc ecx
add cl, al
cld
inc ecx
add ah, ch
inc dword [ecx]
xor ch, bh
inc ecx
add byte [eax], dh
std
inc ecx
add byte [eax], dh
std
inc ecx
add cl, al
cld
inc ecx
add dh, ch
add dword [edx], eax
xor ah, ch
inc ecx
add byte [edx + 4], ah
inc edx
add byte [edi + 4], ch
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x3dffbdf9], dh
adc byte [edx], al
ret 0x4210