Function at 0x427526
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21fc
call fcn.0040c5a0
mov dword [esp + 0x11fc], 0x19c41bb8
mov dword [esp + 0x1200], 0xe52fe7d3
mov dword [esp + 0x1204], 0xe13fe333
mov dword [esp + 0x1208], 0xed30ef3c
mov dword [esp + 0x120c], 0xe94eeb4b
mov dword [esp + 0x1210], 0xf52bf733
mov dword [esp + 0x1214], 0xf12cf33f
mov dword [esp + 0x1218], 0xfff0
mov byte [esp + 0x121c], 0
mov dword [esp + 0xa8c], 0
mov eax, dword [esp + 0xa8c]
cmp eax, 0x20
ja 0x425d86
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa8c]
mov ecx, dword [esp + 0xa8c]
movzx ecx, byte [esp + ecx + 0x11fc]
mov edx, eax
xor edx, 0x1f9fecfb
and eax, 0x1f9fecfb
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov ecx, eax
xor ecx, 0xe7
and eax, 0x18
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xa8c]
mov byte [esp + ecx + 0x11fc], al
inc dword [esp + 0xa8c]
mov eax, dword [esp + 0xa8c]
cmp eax, 0x21
jb 0x425d20
lea eax, [esp + 0x40]
lea esi, [esp + 0x11fc]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.00444210
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc34]
lea eax, [esp + 0x74]
lea ecx, [esp + 0x3c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x60]
call fcn.004446d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc3c]
xor eax, eax
jmp 0x42784b
mov dword [esp + 8], esi
mov eax, dword [case.0x425da7.6]
nop
nop
nop
nop
jmp eax
xor ecx, ecx
lea eax, [esp + 0x8e]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x2a]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x30], eax
lea edx, [esp + 0x12e]
lea ebp, [esp + 0x12e]
xor eax, eax
mov dword [esp + 0x44], 0
cmp ecx, dword [esp + 0x3c]
setb al
lea ecx, [esp + 0x172]
mov dword [esp + 0x50], ecx
lea edi, [esp + 0x12e]
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x44bc54]
mov edi, dword [esp + 8]
mov word [edi], 0
mov eax, dword [esp + 0x44]
mov edx, eax
and dl, 1
mov ecx, dword [case.0x425da7.13]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
movzx ecx, dl
jmp dword [ecx*4 + 0x44bc6c]
movzx ecx, word [esp + 0x11fc]
xor ebx, ebx
test cx, cx
je 0x427644
lea eax, [esp + 0x11fc]
jmp 0x42761e
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x74]
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x425ee4
mov eax, 0xffffffff
push eax
call fcn.0040c640
add esp, 4
mov esi, eax
mov dword [esp + 0x70], ebx
lea eax, [esp + 0x70]
push eax
push esi
push dword [esp + 0x18]
push dword [esp + 0x4c]
call fcn.00444350
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc74]
jmp dword [0x44bd54]
lea eax, [esp + 0x4c]
push dword [esp + 0x40]
push 0
push 0x20019
push eax
mov dword [esp + 0x64], esi
push esi
call fcn.00444210
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bc7c]
mov dword [esp + 0x8c], 0xe945eb57
mov dword [esp + 0x90], 0xed78ef4d
mov dword [esp + 0x94], 0xd147d37d
mov dword [esp + 0x98], 0xd57cd741
mov dword [esp + 0x9c], 0xd966db40
mov dword [esp + 0xa0], 0xdd71df61
mov dword [esp + 0xa4], 0xc166c34e
mov dword [esp + 0xa8], 0xc55fc751
mov dword [esp + 0xac], 0xc9aacb51
mov dword [esp + 0xb0], 0xcd65cf7b
mov dword [esp + 0xb4], 0x31a73359
mov dword [esp + 0xb8], 0x359f3797
mov dword [esp + 0xbc], 0x39a83b9b
mov dword [esp + 0xc0], 0x3d5e3f91
mov dword [esp + 0xc4], 0x21b92389
mov dword [esp + 0xc8], 0x25b32786
mov dword [esp + 0xcc], 0x29bf2bbb
mov dword [esp + 0xd0], 0x2d852fbc
mov dword [esp + 0xd4], 0x11ae13bf
mov dword [esp + 0xd8], 0x158017a0
mov dword [esp + 0xdc], 0x19b01b85
mov dword [esp + 0xe0], 0x1db21fb7
mov dword [esp + 0xe4], 0x19703b7
mov dword [esp + 0xe8], 0x55907bc
mov dword [esp + 0xec], 0x9530b51
mov dword [esp + 0xf0], 0xd4b0f53
mov dword [esp + 0xf4], 0x71387346
mov dword [esp + 0xf8], 0x75227720
mov dword [esp + 0xfc], 0x792f7b23
mov dword [esp + 0x100], 0x7d297f2f
mov dword [esp + 0x104], 0x61c6632b
mov dword [esp + 0x108], 0x65206735
mov dword [esp + 0x10c], 0x69326b3c
mov dword [esp + 0x110], 0x6d3e6f2f
mov dword [esp + 0x114], 0x5105533c
mov dword [esp + 0x118], 0x55025700
mov dword [esp + 0x11c], 0x590c5b12
mov dword [esp + 0x120], 0x5d045f1f
mov dword [esp + 0x124], 0x411b4306
mov dword [esp + 0x128], 0x45fa471a
lea eax, [esp + 0x12c]
mov word [esp + 0x12c], 0x4b44
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 0x88c], 0
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xa6
ja 0x4261bb
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x88c]
mov edx, dword [esp + 0x88c]
movzx edx, byte [esp + edx + 0x8c]
mov esi, ecx
xor esi, 0x2b3678d7
and ecx, 0x2b3678d7
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
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 + 0xa8c], ecx
mov ecx, dword [esp + 0xa8c]
mov edx, ecx
not edx
and edx, 0x33
and ecx, 0xcc
sub ecx, edx
mov edx, dword [esp + 0x88c]
mov byte [esp + edx + 0x8c], cl
inc dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xa7
jb 0x426140
lea edi, [esp + 0xf30]
lea edx, [esp + 0x8c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xfd0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x8c], 0xf36bf105
mov dword [esp + 0x90], 0xef7ced0f
mov dword [esp + 0x94], 0xeb79e97f
mov dword [esp + 0x98], 0xe778e573
mov dword [esp + 0x9c], 0xe306e16c
mov dword [esp + 0xa0], 0x9f079d73
mov dword [esp + 0xa4], 0x9b06990e
mov dword [esp + 0xa8], 0x97199503
mov dword [esp + 0xac], 0x93b29103
mov dword [esp + 0xb0], 0x8f628d7a
mov dword [esp + 0xb4], 0x8b49896c
mov dword [esp + 0xb8], 0x87148509
mov dword [esp + 0xbc], 0x831f8112
mov dword [esp + 0xc0], 0xbf32bd2a
mov dword [esp + 0xc4], 0xbb27b956
mov dword [esp + 0xc8], 0xb725b526
mov dword [esp + 0xcc], 0xb325b129
mov dword [esp + 0xd0], 0xaf4aad3a
mov dword [esp + 0xd4], 0xab33a947
mov dword [esp + 0xd8], 0xa73aa532
mov dword [esp + 0xdc], 0xa32da137
mov dword [esp + 0xe0], 0x5f7e5dcf
mov dword [esp + 0xe4], 0x5bc759ad
mov dword [esp + 0xe8], 0x57c555c7
mov dword [esp + 0xec], 0x53cd51b1
mov dword [esp + 0xf0], 0x4fd84dd5
mov dword [esp + 0xf4], 0x4b6a49d7
mov dword [esp + 0xf8], 0x47cb45b7
mov dword [esp + 0xfc], 0x43d141a2
mov dword [esp + 0x100], 0x7fed7df5
mov dword [esp + 0x104], 0x7be779f4
mov dword [esp + 0x108], 0x779275e1
mov dword [esp + 0x10c], 0x73e07180
mov dword [esp + 0x110], 0x6ff06dfb
mov dword [esp + 0x114], 0x6bfe69f1
mov dword [esp + 0x118], 0x67f565f9
mov dword [esp + 0x11c], 0x63956184
mov dword [esp + 0x120], 0x1f921d91
mov dword [esp + 0x124], 0x1b8d198c
mov dword [esp + 0x128], 0x178d1583
mov dword [esp + 0x12c], 0x13db11f4
mov dword [esp + 0x130], 0xfc10ddf
mov dword [esp + 0x134], 0xbc909c5
mov dword [esp + 0x138], 0x7f805fa
mov dword [esp + 0x13c], 0x3ce01d0
mov dword [esp + 0x140], 0x3fed3ded
mov dword [esp + 0x144], 0x3beb39e9
mov dword [esp + 0x148], 0x37aa35e5
mov dword [esp + 0x14c], 0x33f031e3
mov dword [esp + 0x150], 0x2fe62de4
mov dword [esp + 0x154], 0x2bfa29e9
mov dword [esp + 0x158], 0x27f725f4
mov dword [esp + 0x15c], 0x23ee21f0
mov dword [esp + 0x160], 0xdf0cdd1e
mov dword [esp + 0x164], 0xdb14d919
mov dword [esp + 0x168], 0xd719d51a
mov dword [esp + 0x16c], 0xd336d11e
lea eax, [esp + 0x170]
mov word [esp + 0x170], 0xcdcc
mov ecx, dword [esp + 0x50]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp + 0x88c], 0
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xe8
ja 0x4264ee
mov ecx, dword [esp + 0x88c]
mov edx, dword [esp + 0x88c]
movzx edx, byte [esp + edx + 0x8c]
mov esi, ecx
xor esi, 0x3f9bdaac
and ecx, 0x3f9bdaac
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xa8c], ecx
mov ecx, dword [esp + 0xa8c]
add cl, 0xa4
mov edx, dword [esp + 0x88c]
mov byte [esp + edx + 0x8c], cl
inc dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xe9
jb 0x426490
lea edi, [esp + 0xfd2]
lea edx, [esp + 0x8c]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x10b6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x8c], 0xd165cf03
mov dword [esp + 0x90], 0xd560d375
mov dword [esp + 0x94], 0xd963d765
mov dword [esp + 0x98], 0xdd7cdb69
mov dword [esp + 0x9c], 0xa102df68
mov dword [esp + 0xa0], 0xa504a371
mov dword [esp + 0xa4], 0xa90da702
mov dword [esp + 0xa8], 0xad0dab0d
mov dword [esp + 0xac], 0xb15daf70
mov dword [esp + 0xb0], 0xb55cb345
mov dword [esp + 0xb4], 0xb96ab744
mov dword [esp + 0xb8], 0xbd0dbb69
mov dword [esp + 0xbc], 0x8112bf08
mov dword [esp + 0xc0], 0x85338331
mov dword [esp + 0xc4], 0x895a8729
mov dword [esp + 0xc8], 0x8d388b58
mov dword [esp + 0xcc], 0x91288f3d
mov dword [esp + 0xd0], 0x953e933b
mov dword [esp + 0xd4], 0x99239733
mov dword [esp + 0xd8], 0x9d4b9b44
mov dword [esp + 0xdc], 0x612a9f2b
mov dword [esp + 0xe0], 0x65d363cc
mov dword [esp + 0xe4], 0x69cb67d5
mov dword [esp + 0xe8], 0x6d916bb4
mov dword [esp + 0xec], 0x71976f99
mov dword [esp + 0xf0], 0x75b77387
mov dword [esp + 0xf4], 0x79b077b2
mov dword [esp + 0xf8], 0x7d8e7b88
mov dword [esp + 0xfc], 0x418b7f8f
mov dword [esp + 0x100], 0x45b143b3
mov dword [esp + 0x104], 0x49e247b7
mov dword [esp + 0x108], 0x4d884bbd
mov dword [esp + 0x10c], 0x51b64fb4
mov dword [esp + 0x110], 0x55a25393
mov dword [esp + 0x114], 0x59a557a4
mov dword [esp + 0x118], 0x5dae5ba8
mov dword [esp + 0x11c], 0x21ac5f9e
mov dword [esp + 0x120], 0x25d423e3
mov dword [esp + 0x124], 0x29df27d2
mov dword [esp + 0x128], 0x2df62bde
lea eax, [esp + 0x12c]
mov word [esp + 0x12c], 0x2f2c
mov byte [ebp + 4], 0
mov dword [ebp], 0
mov dword [esp + 0x88c], 0
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xa6
ja 0x426776
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x88c]
mov edx, dword [esp + 0x88c]
movzx edx, byte [esp + edx + 0x8c]
mov esi, ecx
xor esi, 0x8fbfbd2d
add ecx, ecx
and ecx, 0x1f7f7a5a
mov edi, ecx
and edi, esi
xor ecx, esi
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esp + 0xa8c], ecx
mov ecx, dword [esp + 0xa8c]
add cl, 0x1f
mov edx, dword [esp + 0x88c]
mov byte [esp + edx + 0x8c], cl
inc dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xa7
jb 0x426710
lea edi, [esp + 0xe8e]
lea edx, [esp + 0x8c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xf2e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x8c], 0x13fb11e5
mov dword [esp + 0x90], 0x1f8c1dff
mov dword [esp + 0x94], 0x1b89198f
mov dword [esp + 0x98], 0x7e80593
mov dword [esp + 0x9c], 0x3e6019c
mov dword [esp + 0xa0], 0xfe00dfb
mov dword [esp + 0xa4], 0xbe309e6
mov dword [esp + 0xa8], 0x37db35d7
mov dword [esp + 0xac], 0x33e331d4
mov dword [esp + 0xb0], 0x3fe83de0
mov dword [esp + 0xb4], 0x3bde39e8
mov dword [esp + 0xb8], 0x27bb25d3
mov dword [esp + 0xbc], 0x23b621bc
mov dword [esp + 0xc0], 0x2fb92dbb
mov dword [esp + 0xc4], 0x2bce29c3
mov dword [esp + 0xc8], 0xd744d524
mov dword [esp + 0xcc], 0xd33cd147
mov dword [esp + 0xd0], 0xdf4add35
mov dword [esp + 0xd4], 0xdb49d935
mov dword [esp + 0xd8], 0xc731c520
mov dword [esp + 0xdc], 0xc35ec15d
mov dword [esp + 0xe0], 0xcf59cd58
mov dword [esp + 0xe4], 0xcb21c95f
mov dword [esp + 0xe8], 0xf72ff510
mov dword [esp + 0xec], 0xf32df123
mov dword [esp + 0xf0], 0xff3dfd21
mov dword [esp + 0xf4], 0xfb34f936
mov dword [esp + 0xf8], 0xe73ae534
mov dword [esp + 0xfc], 0xe331e131
mov dword [esp + 0x100], 0xef3fed3d
mov dword [esp + 0x104], 0xeb06e939
mov dword [esp + 0x108], 0x97549547
mov dword [esp + 0x10c], 0x934a9148
mov dword [esp + 0x110], 0x9f4e9d5d
mov dword [esp + 0x114], 0x9b4b9948
mov dword [esp + 0x118], 0x875a8554
mov dword [esp + 0x11c], 0x83508142
mov dword [esp + 0x120], 0x8f508d4d
mov dword [esp + 0x124], 0x8b558956
mov dword [esp + 0x128], 0xb752b56a
lea edx, [esp + 0x12c]
mov word [esp + 0x12c], 0xb1b0
mov eax, dword [esp + 4]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x88c], 0
mov eax, dword [esp + 0x88c]
cmp eax, 0xa6
mov ebp, dword [esp + 8]
ja 0x4269fb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
movzx ecx, byte [esp + ecx + 0x8c]
mov esi, eax
xor esi, 0x2b8fe7c4
and eax, 0x2b8fe7c4
lea eax, [esi + eax*2]
xor eax, ecx
mov dword [esp + 0xa8c], eax
mov eax, dword [esp + 0xa8c]
add al, 0x2c
mov ecx, dword [esp + 0x88c]
mov byte [esp + ecx + 0x8c], al
inc dword [esp + 0x88c]
mov eax, dword [esp + 0x88c]
cmp eax, 0xa7
jb 0x4269a0
lea eax, [esp + 0x115a]
lea esi, [esp + 0x8c]
mov edi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x11fa]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x8c], 0x239b217d
mov dword [esp + 0x90], 0x27942587
mov dword [esp + 0x94], 0x3b893987
mov dword [esp + 0x98], 0x3f983d83
mov dword [esp + 0x9c], 0x339e3184
mov dword [esp + 0xa0], 0x3790356b
mov dword [esp + 0xa4], 0xbb309ae
mov dword [esp + 0xa8], 0xfab0daf
mov dword [esp + 0xac], 0x37301ac
mov dword [esp + 0xb0], 0x7780571
mov dword [esp + 0xb4], 0x1bb61968
mov dword [esp + 0xb8], 0x1fab1d43
mov dword [esp + 0xbc], 0x13ae11a4
mov dword [esp + 0xc0], 0x17a915ab
mov dword [esp + 0xc4], 0x6bc669d3
mov dword [esp + 0xc8], 0x6fdc6d3c
mov dword [esp + 0xcc], 0x63c461df
mov dword [esp + 0xd0], 0x67da65dd
mov dword [esp + 0xd4], 0x7bc979dd
mov dword [esp + 0xd8], 0x7f217dd0
mov dword [esp + 0xdc], 0x73c671c5
mov dword [esp + 0xe0], 0x77c975c8
mov dword [esp + 0xe4], 0x4bf149f7
mov dword [esp + 0xe8], 0x4f074de0
mov dword [esp + 0xec], 0x43354133
mov dword [esp + 0xf0], 0x47054531
mov dword [esp + 0xf4], 0x5b1c591e
mov dword [esp + 0xf8], 0x5f2a5d2c
mov dword [esp + 0xfc], 0x53215121
mov dword [esp + 0x100], 0x57275525
mov dword [esp + 0x104], 0xab0ea9d9
mov dword [esp + 0x108], 0xafecaddf
mov dword [esp + 0x10c], 0xa3eaa1e8
mov dword [esp + 0x110], 0xa7d6a5e5
mov dword [esp + 0x114], 0xbbcbb9c8
mov dword [esp + 0x118], 0xbfcabdcc
mov dword [esp + 0x11c], 0xb3c0b1f2
mov dword [esp + 0x120], 0xb7c0b5f5
mov dword [esp + 0x124], 0x8bfd89fe
mov dword [esp + 0x128], 0x8f228dfa
lea ebx, [esp + 0x12c]
mov dword [esp + 0x12c], 0x8180
mov dword [esp + 0x88c], 0
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xa3
ja 0x426c63
nop
nop
nop
mov ecx, dword [esp + 0x88c]
mov edx, dword [esp + 0x88c]
movzx edx, byte [esp + edx + 0x8c]
add ecx, 0x42884408
xor ecx, edx
mov dword [esp + 0xa8c], ecx
mov ecx, dword [esp + 0xa8c]
add cl, 0xd8
mov edx, dword [esp + 0x88c]
mov byte [esp + edx + 0x8c], cl
inc dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
cmp ecx, 0xa4
jb 0x426c10
lea edx, [esp + 0x10b8]
lea esi, [esp + 0x8c]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x1158]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xf30]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0xfd2]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0xe8e]
mov dword [esp + 0x80], ecx
mov ecx, dword [case.0x425da7.23]
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x44bc9c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44bca4]
mov edi, dword [esp + 0x4c]
jmp dword [0x44bcac]
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + ecx + 0x78]
mov dword [esp + 0x8c], 0x499a4b9c
mov dword [esp + 0x90], 0x45964798
mov dword [esp + 0x94], 0x41924394
mov dword [esp + 0x98], 0x7d967f90
mov word [esp + 0x9c], 0x7b7c
mov dword [esp + 0x9e], 0
mov dword [esp + 0x88c], 0
mov ecx, dword [esp + 0x88c]
cmp ecx, 0x15
ja 0x426de0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x88c]
mov edx, dword [esp + 0x88c]
movzx edx, byte [esp + edx + 0x8c]
add ecx, 0x2a00793
xor ecx, edx
mov dword [esp + 0xa8c], ecx
mov ecx, dword [esp + 0xa8c]
add cl, 0x21
mov edx, dword [esp + 0x88c]
mov byte [esp + edx + 0x8c], cl
inc dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
cmp ecx, 0x16
jb 0x426d90
movzx ecx, word [eax]
lea esi, [esp + 0x88c]
test cx, cx
je 0x426e11
add eax, 2
nop
nop
nop
nop
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 0x426e00
mov word [esi], 0
movzx eax, word [esp + 0x8c]
test ax, ax
je 0x426e41
mov ecx, dword [esp + 0x58]
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 0x426e30
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x60], esi
jmp dword [eax*4 + 0x44bcec]
mov esi, dword [esp + 0x54]
jmp dword [0x44bd54]
cmp dword [ebx + edx*8], 0x625b6034
je 0x427430
inc edx
cmp eax, edx
jne 0x427420
jmp case.0x425da7.30
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
je case.0x425da7.30
push edi
push 1
push dword [0x4505c4]
push eax
call fcn.004403a0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x8c], 0x989b9a9d
mov byte [esp + 0x90], 0
mov dword [esp + 0x88c], 0
mov eax, dword [esp + 0x88c]
cmp eax, 4
ja 0x4274e1
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
movzx ecx, byte [esp + ecx + 0x8c]
mov edx, eax
xor edx, 0xcede9c5b
add eax, eax
and eax, 0x9dbd38b6
mov esi, eax
and esi, edx
xor eax, edx
lea eax, [eax + esi*2]
xor eax, ecx
mov dword [esp + 0xa8c], eax
mov eax, dword [esp + 0xa8c]
add al, 0x39
mov ecx, dword [esp + 0x88c]
mov byte [esp + ecx + 0x8c], al
inc dword [esp + 0x88c]
mov eax, dword [esp + 0x88c]
cmp eax, 5
jb 0x427480
mov eax, dword [0x4505bc]
test eax, eax
je 0x427520
mov ecx, dword [esp + 0x8c]
xor edx, edx
mov ebx, dword [0x4505c0]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x625b6034
je 0x427510
inc edx
cmp eax, edx
jne 0x427500
jmp 0x427520
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
jne 0x4275d2
nop
nop
nop
nop
jmp dword [0x44bcb8]
mov dword [esp + 0x8c], 0x989b9a9d
mov byte [esp + 0x90], 0
mov dword [esp + 0x88c], 0
mov eax, dword [esp + 0x88c]
cmp eax, 4
ja 0x4275b1
mov eax, dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
movzx ecx, byte [esp + ecx + 0x8c]
mov edx, eax
xor edx, 0xcede9c5b
add eax, eax
and eax, 0x9dbd38b6
mov esi, eax
and esi, edx
xor eax, edx
lea eax, [eax + esi*2]
xor eax, ecx
mov dword [esp + 0xa8c], eax
mov eax, dword [esp + 0xa8c]
add al, 0x39
mov ecx, dword [esp + 0x88c]
mov byte [esp + ecx + 0x8c], al
inc dword [esp + 0x88c]
mov eax, dword [esp + 0x88c]
cmp eax, 5
jb 0x427550
mov eax, dword [0x4505bc]
test eax, eax
je case.0x425da7.30
mov ecx, dword [esp + 0x8c]
xor edx, edx
mov ebx, dword [0x4505c0]
jmp 0x427420
push edi
push 1
push dword [0x4505c4]
push eax
call fcn.004403a0
add esp, 0x10
jmp dword [0x44bcb8]
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x427644
cmp eax, edi
jae 0x427644
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x427610
mov edx, ecx
jmp 0x427610
mov eax, ebx
and eax, 1
mov dword [esp + 0x30], ebx
mov ecx, ebx
xor ecx, 1
lea ebp, [ecx + eax*2]
push ebp
call fcn.0040c640
add esp, 4
lea edx, [eax + ebp]
dec edx
lea ecx, [esp + 0x11fc]
cmp ecx, edi
setb cl
mov ebx, eax
mov dword [esp + 0xc], eax
cmp eax, edx
jae 0x427735
mov ebx, dword [esp + 0xc]
test cl, cl
je 0x427735
mov esi, edx
mov ebx, dword [esp + 0xc]
mov eax, ebx
add eax, ebp
mov dword [esp + 4], eax
lea ebp, [esp + 0x11fe]
nop
nop
nop
movzx edx, word [ebp - 2]
test dx, dx
je 0x427735
cmp dx, 0x7f
ja 0x4276c0
mov byte [ebx], dl
mov edi, 1
jmp 0x427720
mov ecx, ebx
not ecx
add ecx, dword [esp + 4]
movzx eax, dx
cmp ecx, 2
jb 0x4276f0
cmp eax, 0x7ff
ja 0x4276f0
mov eax, edx
shr eax, 6
add al, 0xc0
mov byte [ebx], al
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 1], dl
mov edi, 2
jmp 0x427720
xor edi, edi
cmp ecx, 3
jb 0x427720
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [ebx], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ebx + 1], al
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 2], dl
mov edi, 3
nop
nop
nop
nop
nop
nop
nop
add ebx, edi
cmp ebx, esi
jae 0x427735
lea eax, [ebp + 2]
cmp ebp, dword [esp + 8]
mov ebp, eax
jb 0x4276a0
mov byte [ebx], 0
mov dword [esp + 0x8c], 0x15161727
mov dword [esp + 0x90], 0xf1011e1b
mov dword [esp + 0x94], 0xf4080e07
mov dword [esp + 0x98], 0xf9f52a49
mov dword [esp + 0x9c], 0x4070600
mov dword [esp + 0xa0], 0xfc002341
mov dword [esp + 0xa4], 0xf6faf4f2
mov dword [esp + 0xa8], 0xd06bd05
mov dword [esp + 0xac], 0x8708
mov dword [esp + 0x88c], 0
mov eax, dword [esp + 0x88c]
cmp eax, 0x23
ja 0x427819
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x88c]
mov ecx, dword [esp + 0x88c]
movzx ecx, byte [esp + ecx + 0x8c]
mov edx, eax
xor edx, 0x2536fbe9
and eax, 0x2536fbe9
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xa8c], eax
mov eax, dword [esp + 0xa8c]
add al, 0x73
mov ecx, dword [esp + 0x88c]
mov byte [esp + ecx + 0x8c], al
inc dword [esp + 0x88c]
mov eax, dword [esp + 0x88c]
cmp eax, 0x24
jb 0x4277c0
lea eax, [esp + 0x8c]
mov ecx, dword [esp + 0x2210]
push dword [esp + 0x30]
mov esi, dword [esp + 0x10]
push esi
push eax
call fcn.0040d160
jmp dword [0x44bd5c]
and al, 1
add esp, 0x21fc
pop esi
pop edi
pop ebx
pop ebp
ret