Function at 0x425b96
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e4
call fcn.004085c0
mov dword [esp + 0x11e4], 0x316c3f50
mov dword [esp + 0x11e8], 0x356b3377
mov dword [esp + 0x11ec], 0x4963376f
mov dword [esp + 0x11f0], 0x4d184b1c
mov dword [esp + 0x11f4], 0x41224f27
mov dword [esp + 0x11f8], 0x45174317
mov dword [esp + 0x11fc], 0x59144703
mov word [esp + 0x1200], 0x5b58
mov dword [esp + 0x1202], 0
mov word [esp + 0x1206], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x11e4]
lea edx, [eax - 0x48a04acb]
and edx, ecx
add ecx, eax
add ecx, 0xb75fb535
add edx, edx
sub ecx, edx
add cl, 0xf7
mov byte [esp + eax + 0x11e4], cl
mov ecx, eax
or ecx, 0x604dcd89
and eax, 9
add eax, ecx
add eax, 0x9fb23278
cmp eax, 0x24
jb case.default.0x42522e
lea eax, [esp + 0x30]
lea ebx, [esp + 0x11e4]
push 0
push 0
push 0x20019
push eax
push ebx
call fcn.00441160
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4473f4]
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x70]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x50]
call fcn.004415b0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4473fc]
xor eax, eax
jmp case.0x426033.41
mov dword [esp + 0x40], 0
mov eax, dword [case.0x42522e.1615711630]
lea edi, [esp + 0x2c]
lea ebp, [esp + 0x28]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, dword [esp + 0x70]
setb al
jmp dword [eax*4 + 0x447414]
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0x6c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x4252b8
mov eax, 0xffffffff
push eax
call fcn.004086e0
add esp, 4
mov dword [esp + 0x2c], esi
mov esi, eax
push edi
push eax
push dword [esp + 0x40]
push dword [esp + 0x3c]
call fcn.004412a0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447424]
jmp dword [0x4474d4]
push dword [esp + 0x30]
push 0
push 0x20019
push ebp
push esi
call fcn.00441160
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44742c]
jmp dword [0x4474d4]
mov dword [esp + 0x34], esi
mov dword [esp], ebx
mov dword [esp + 0x74], 0xd77fc91d
mov dword [esp + 0x78], 0xd36cd57b
mov dword [esp + 0x7c], 0xdf61d163
mov dword [esp + 0x80], 0xdb70dd6f
mov dword [esp + 0x84], 0xa702d964
mov dword [esp + 0x88], 0xa30ba57f
mov dword [esp + 0x8c], 0xaf02a112
mov dword [esp + 0x90], 0xab11ad1f
mov dword [esp + 0x94], 0xb756a917
mov dword [esp + 0x98], 0xb31fb561
mov dword [esp + 0x9c], 0xbf01b10f
mov dword [esp + 0xa0], 0xbb11bd1d
mov dword [esp + 0xa4], 0x8734b911
mov dword [esp + 0xa8], 0x8362852f
mov dword [esp + 0xac], 0x8f33815f
mov dword [esp + 0xb0], 0x8b358d22
mov dword [esp + 0xb4], 0x97298931
mov dword [esp + 0xb8], 0x933f9528
mov dword [esp + 0xbc], 0x9f3a9125
mov dword [esp + 0xc0], 0x9b249d4c
mov dword [esp + 0xc4], 0x67cc992b
mov dword [esp + 0xc8], 0x63d665cd
mov dword [esp + 0xcc], 0x6fd161cd
mov dword [esp + 0xd0], 0x6b936dc8
mov dword [esp + 0xd4], 0x778d6997
mov dword [esp + 0xd8], 0x73bd7589
mov dword [esp + 0xdc], 0x7fb471ba
mov dword [esp + 0xe0], 0x7b867d8c
mov dword [esp + 0xe4], 0x47b97989
mov dword [esp + 0xe8], 0x43b345b5
mov dword [esp + 0xec], 0x4fe241b1
mov dword [esp + 0xf0], 0x4b844db3
mov dword [esp + 0xf4], 0x57ae49b0
mov dword [esp + 0xf8], 0x53a25595
mov dword [esp + 0xfc], 0x5faf51a0
mov dword [esp + 0x100], 0x5ba65dac
mov dword [esp + 0x104], 0x27d85996
mov dword [esp + 0x108], 0x23d825e5
mov dword [esp + 0x10c], 0x2fd521da
mov dword [esp + 0x110], 0x2b8e2dd6
mov word [esp + 0x114], 0x2928
mov dword [esp + 0x116], 0
mov eax, 1
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax - 1]
movzx edi, byte [esp + eax + 0x73]
mov esi, ecx
or esi, 0xc110aeae
or edx, 0xc110aeae
add edx, esi
lea esi, [eax + edx]
mov ebx, edi
not ebx
or ebx, esi
lea esi, [edi + ebx]
inc esi
mov ebx, esi
or ebx, 0xfd
inc ebx
mov ebp, esi
and ebp, 0xfd
imul ebp, ebx
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
add edx, edi
add edx, ebp
sub edx, esi
add edx, eax
add dl, 0x9a
mov byte [esp + eax + 0x73], dl
inc eax
dec ecx
cmp eax, 0xa7
jne 0x4254f0
lea eax, [esp + 0x74]
lea edi, [esp + 0xa5c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0xafc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x59e55b17
mov dword [esp + 0x78], 0x5de85ffd
mov dword [esp + 0x7c], 0x51e753ed
mov dword [esp + 0x80], 0x55ec57e1
mov dword [esp + 0x84], 0xa906abe0
mov dword [esp + 0x88], 0xad11af01
mov dword [esp + 0x8c], 0xa106a31e
mov dword [esp + 0x90], 0xa52fa711
mov dword [esp + 0x94], 0xb9dabb11
mov dword [esp + 0x98], 0xbdeabfea
mov dword [esp + 0x9c], 0xb1f7b310
mov dword [esp + 0xa0], 0xb500b73b
mov dword [esp + 0xa4], 0x89318b02
mov dword [esp + 0xa8], 0x8d3a8f3a
mov dword [esp + 0xac], 0x81398326
mov dword [esp + 0xb0], 0x85338736
mov dword [esp + 0xb4], 0x992b9b3b
mov dword [esp + 0xb8], 0x9d329f2a
mov dword [esp + 0xbc], 0x912d9335
mov dword [esp + 0xc0], 0x95329722
mov dword [esp + 0xc4], 0xe963eb25
mov dword [esp + 0xc8], 0xed8eef5d
mov dword [esp + 0xcc], 0xe159e3bf
mov dword [esp + 0xd0], 0xe553e755
mov dword [esp + 0xd4], 0xf943fb43
mov dword [esp + 0xd8], 0xfd4cff47
mov dword [esp + 0xdc], 0xf192f345
mov dword [esp + 0xe0], 0xf57df7a5
mov dword [esp + 0xe4], 0xc97fcb52
mov dword [esp + 0xe8], 0xcd7bcf47
mov dword [esp + 0xec], 0xc179c378
mov dword [esp + 0xf0], 0xc56ac773
mov dword [esp + 0xf4], 0xd96cdb94
mov dword [esp + 0xf8], 0xdd64df69
mov dword [esp + 0xfc], 0xd16ed363
mov dword [esp + 0x100], 0xd563d76b
mov dword [esp + 0x104], 0x297b2b78
mov dword [esp + 0x108], 0x2d9a2fa3
mov dword [esp + 0x10c], 0x21932390
mov dword [esp + 0x110], 0x259b2791
mov dword [esp + 0x114], 0x39753b88
mov dword [esp + 0x118], 0x3d773f4d
mov dword [esp + 0x11c], 0x31773377
mov dword [esp + 0x120], 0x356c376a
mov dword [esp + 0x124], 0x97e0b44
mov dword [esp + 0x128], 0xd7b0f7f
mov dword [esp + 0x12c], 0x175037b
mov dword [esp + 0x130], 0x5a20777
mov dword [esp + 0x134], 0x195c1b71
mov dword [esp + 0x138], 0x1d561f50
mov dword [esp + 0x13c], 0x1162135b
mov dword [esp + 0x140], 0x15611760
mov dword [esp + 0x144], 0x691e6b64
mov dword [esp + 0x148], 0x6d186f2e
mov dword [esp + 0x14c], 0x6128632b
mov dword [esp + 0x150], 0x652f672a
mov dword [esp + 0x154], 0x79d67b2e
mov word [esp + 0x158], 0x7f78
mov dword [esp + 0x15a], 0
mov eax, 0x3dc4cfef
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x3dc4cf7b]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x55
mov byte [esp + eax - 0x3dc4cf7b], cl
inc eax
cmp eax, 0x3dc4d0d9
jne 0x425800
mov ebp, dword [esp]
lea edx, [esp + 0x74]
lea edi, [esp + 0xafe]
jmp dword [0x447434]
mov edx, dword [esp + 0x1c]
add edx, 4
xor eax, eax
mov ecx, edx
mov dword [esp + 0x1c], edx
cmp edx, 0x14
setne al
jmp dword [eax*4 + 0x447444]
jmp dword [0x44744c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax + 0x4c]
mov dword [esp + 0x74], 0x7f2e7928
mov dword [esp + 0x78], 0x63327d2c
mov dword [esp + 0x7c], 0x67366130
mov dword [esp + 0x80], 0x6b126534
mov dword [esp + 0x84], 0x6968
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xea
xor dl, byte [esp + ecx + 0x74]
add dl, 0x6e
mov byte [esp + ecx + 0x74], dl
inc ecx
cmp ecx, 0x14
jne 0x4258a0
movzx ecx, word [eax]
lea edx, [esp + 0xbe4]
test cx, cx
je 0x4258e1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4258d0
mov word [edx], 0
jmp case.0x42522e.1615711646
mov word [edx], 0
jmp dword [0x447454]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax + 0x4c]
mov dword [esp + 0x74], 0x7f2e7928
mov dword [esp + 0x78], 0x63327d2c
mov dword [esp + 0x7c], 0x67366130
mov dword [esp + 0x80], 0x6b126534
mov dword [esp + 0x84], 0x6968
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xea
xor dl, byte [esp + ecx + 0x74]
add dl, 0x6e
mov byte [esp + ecx + 0x74], dl
inc ecx
cmp ecx, 0x14
jne 0x425940
movzx ecx, word [eax]
lea edx, [esp + 0xbe4]
test cx, cx
je 0x4258f0
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x425970
jmp 0x4258f0
movzx eax, word [esp + 0x74]
test ax, ax
je 0x4259b1
lea ecx, [esp + 0x76]
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4259a0
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x24], edx
jmp dword [eax*4 + 0x44745c]
inc esi
xor eax, eax
cmp si, 0x35
setb al
mov edx, dword [esp + 0x24]
mov ecx, esi
jmp dword [eax*4 + 0x44745c]
mov word [edx - 2], cx
push dword [esp + 0x28]
push 0
push 0x20019
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0xbf4]
push eax
mov esi, ecx
call fcn.00441160
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447464]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x68], 0x800
mov dword [esp + 0x20], 0x400
xor edx, edx
mov dword [esp + 0x44], 0
lea ecx, [esp + 0x74]
nop
nop
nop
nop
nop
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0xde8]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x74]
push eax
push ecx
mov dword [esp + 0x74], edx
push edx
push dword [esp + 0x60]
call fcn.004418d0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44746c]
test byte [esp + 0x44], 1
sete cl
mov eax, dword [esp + 0x64]
cmp eax, 1
sete dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x447474]
mov ecx, dword [case.0x426033.8]
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov dword [esp], ebp
mov dword [esp + 4], 0xf95ffbc3
mov dword [esp + 8], 0xfd6fff5d
mov dword [esp + 0xc], 0xf160f377
mov dword [esp + 0x10], 0xf5f6f764
mov dword [esp + 0x14], 0
mov ecx, 0x35cb457f
movzx edx, byte [esp + ecx - 0x35cb457b]
mov esi, ecx
or esi, edx
lea edi, [ecx - 0x35cb4500]
and edi, edx
sub esi, edi
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
add dl, 0x84
mov byte [esp + ecx - 0x35cb457b], dl
inc ecx
cmp ecx, 0x35cb4593
jne 0x425ae0
movzx edi, word [esp + 4]
lea ecx, [esp + 0x74]
test di, di
je 0x425b5d
lea edx, [esp + 4]
mov ebp, ecx
jmp 0x425b38
movzx edi, word [edx]
test di, di
je 0x425b5d
movzx esi, word [ebp]
test si, si
je 0x425b5b
add edx, 2
add ebp, 2
lea ebx, [ecx + 2]
cmp si, di
je 0x425b53
mov ecx, ebx
mov ebp, ebx
je 0x425b30
lea edx, [esp + 4]
jmp 0x425b30
xor ecx, ecx
xor edx, edx
test ecx, ecx
setne dl
mov ebp, dword [esp]
jmp dword [edx*4 + 0x44747c]
xor ecx, ecx
cmp eax, 3
sete cl
jmp dword [ecx*4 + 0x4474a4]
jmp case.0x426033.24
jmp dword [0x4474ac]
mov dword [esp + 4], 0x33d331e0
mov dword [esp + 8], 0x3fcd3dcf
mov dword [esp + 0xc], 0x3bcd39c7
mov dword [esp + 0x10], 0xc72ac536
mov word [esp + 0x14], 0xc1c0
lea eax, [esp + 0x16]
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0x74
xor cl, byte [esp + eax + 4]
add cl, 0xbc
mov byte [esp + eax + 4], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x15
jb 0x425bd0
jmp case.0x426033.20
jmp dword [0x4474b4]
mov dword [esp + 4], 0x33d331e0
mov dword [esp + 8], 0x3fcd3dcf
mov dword [esp + 0xc], 0x3bcd39c7
mov dword [esp + 0x10], 0xc72ac536
mov word [esp + 0x14], 0xc1c0
lea eax, [esp + 0x16]
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0x74
xor cl, byte [esp + eax + 4]
add cl, 0xbc
mov byte [esp + eax + 4], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x15
jb 0x425c40
movzx edi, word [esp + 4]
lea eax, [esp + 0x74]
test di, di
je 0x425c00
lea ecx, [esp + 4]
mov edx, eax
jmp 0x425c8c
movzx edi, word [ecx]
test di, di
je 0x425c00
movzx esi, word [edx]
test si, si
je 0x425cb0
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp si, di
je 0x425ca6
mov eax, ebx
mov edx, ebx
je 0x425c80
lea ecx, [esp + 4]
jmp 0x425c80
xor eax, eax
jmp dword [0x4474b4]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4474bc]
mov edx, dword [esp + 0x20]
cmp edx, 2
jb 0x425ef5
shr edx, 1
mov eax, edx
and eax, 3
je 0x425e86
xor esi, esi
lea ecx, [esp + 0xde4]
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [ecx]
xor ebx, ebx
test di, di
setne bl
lea ecx, [ecx + ebx*2]
mov word [ebp], di
add ebp, 2
inc esi
cmp eax, esi
jne 0x425cf0
mov eax, edx
sub eax, esi
jmp 0x425e8f
jmp dword [0x447488]
mov eax, dword [esp + 0x20]
mov ecx, ebp
test eax, 0x3fffffff
je 0x425da2
shl eax, 2
neg eax
mov ecx, ebp
lea edx, [esp + 0xde4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
lea edi, [edx + ebx*2]
mov word [ecx], si
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [edi + ebx*2]
mov word [ecx + 2], dx
movzx edx, word [edi + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [esi + ebx*2]
mov word [ecx + 4], dx
movzx esi, word [esi + ebx*2]
xor edx, edx
test si, si
setne dl
lea edx, [edi + edx*2]
mov word [ecx + 6], si
add ecx, 8
add eax, 4
jne 0x425d50
mov word [ecx], 0x3a
jmp case.0x426033.11
mov word [eax], 0x3a
jmp dword [0x447490]
mov edi, dword [esp + 0x20]
mov eax, ebp
cmp edi, 2
jb 0x425db0
shr edi, 1
mov eax, ebp
mov ebp, edi
lea edx, [esp + 0xde4]
mov ecx, edi
and ebp, 3
je 0x425dfd
xor esi, esi
mov eax, dword [esp]
nop
movzx ecx, word [edx]
xor ebx, ebx
test cx, cx
setne bl
lea edx, [edx + ebx*2]
mov word [eax], cx
add eax, 2
inc esi
cmp ebp, esi
jne 0x425de0
mov ecx, edi
sub ecx, esi
dec edi
cmp edi, 3
mov ebp, dword [esp]
jb 0x425db0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor ebx, ebx
test si, si
setne bl
lea edi, [edx + ebx*2]
mov word [eax], si
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [edi + ebx*2]
mov word [eax + 2], dx
movzx edx, word [edi + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [esi + ebx*2]
mov word [eax + 4], dx
movzx esi, word [esi + ebx*2]
xor edx, edx
test si, si
setne dl
mov word [eax + 6], si
add eax, 8
lea edx, [edi + edx*2]
add ecx, 0xfffffffc
jne 0x425e10
jmp 0x425db0
mov word [eax + 2], 0x20
add eax, 4
mov cl, 1
mov dword [esp + 0x44], ecx
mov ebp, eax
jmp case.0x426033.24
lea ecx, [esp + 0xde4]
mov eax, edx
dec edx
cmp edx, 3
jb 0x425ef5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ebp
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x425ea0
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0x40], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [esp + 0x74]
mov eax, dword [case.0x426033.29]
mov edx, dword [esp + 0x60]
nop
nop
nop
jmp eax
inc edx
jmp 0x425a40
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], 0x14151617
mov dword [esp + 8], 0
mov esi, 0x2f3f853c
mov edx, 0xc3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi - 0x2f3f8538]
lea edi, [ebx + ebx]
not edi
add edi, ebx
mov ecx, ebx
and ecx, 0x13
and edi, 0x6c
or edi, ecx
xor edi, ebx
xor edi, 0x6c
mov ebp, edx
and ebp, 0x98
mov ecx, esi
and ecx, 0x67
or ecx, ebp
xor ecx, 0x67
and ecx, ebx
not ebx
or ebx, edi
and ebx, esi
or ecx, ebx
add cl, 0xd4
mov byte [esp + esi - 0x2f3f8538], cl
inc esi
dec edx
cmp esi, 0x2f3f8544
jne 0x425f60
mov ecx, dword [0x44cd1c]
test ecx, ecx
je 0x425ff0
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44cd20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x425fe0
inc esi
cmp ecx, esi
jne 0x425fd0
jmp 0x425ff0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x426005
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x3c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov ebp, dword [esp]
mov edx, dword [esp + 0x24]
jmp dword [eax*4 + 0x44745c]
push eax
push 4
push ecx
push dword [0x44cd24]
call fcn.0043e470
add esp, 0x10
mov ecx, dword [esp + 0x3c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov ebp, dword [esp]
mov edx, dword [esp + 0x24]
jmp dword [eax*4 + 0x44745c]
push esi
call fcn.004086f0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.004086f0
add esp, 4
jmp dword [0x4474e8]
mov ecx, dword [esp + 0x38]
mov eax, ecx
xor eax, 1
and ecx, 1
lea ecx, [eax + ecx*2]
mov eax, dword [case.0x42522e.1615711630]
jmp case.0x42522e.1615711628
mov eax, ebp
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 0x74], 0x14151617
mov dword [esp + 0x78], 0
mov esi, 0x2f3f853c
mov edx, 0xc3
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi - 0x2f3f84c8]
lea edi, [ebx + ebx]
not edi
add edi, ebx
mov ecx, ebx
and ecx, 0x13
and edi, 0x6c
or edi, ecx
xor edi, ebx
xor edi, 0x6c
mov ebp, edx
and ebp, 0x98
mov ecx, esi
and ecx, 0x67
or ecx, ebp
xor ecx, 0x67
and ecx, ebx
not ebx
or ebx, edi
and ebx, esi
or ecx, ebx
add cl, 0xd4
mov byte [esp + esi - 0x2f3f84c8], cl
inc esi
dec edx
cmp esi, 0x2f3f8544
jne 0x4260a0
mov ecx, dword [0x44cd1c]
test ecx, ecx
mov ebx, eax
lea ebp, [esp + 0x28]
je 0x426128
mov edx, dword [esp + 0x74]
xor esi, esi
mov edi, dword [0x44cd20]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x426120
inc esi
cmp ecx, esi
jne 0x426110
jmp 0x426128
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42613c
lea edi, [esp + 0x2c]
mov esi, dword [esp + 0x34]
jmp dword [0x4474d4]
jmp dword [0x4474dc]
push dword [esp]
push 4
push ecx
push dword [0x44cd24]
call fcn.0043e470
add esp, 0x10
lea edi, [esp + 0x2c]
mov esi, dword [esp + 0x34]
jmp dword [0x4474d4]
mov eax, edx
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x158]
mov ecx, 1
lea edi, [esp + 0xbe2]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x11851f63
mov dword [esp + 0x78], 0x15801375
mov dword [esp + 0x7c], 0x9831785
mov dword [esp + 0x80], 0xd6c0b99
mov dword [esp + 0x84], 0x1620f98
mov dword [esp + 0x88], 0x5640371
mov dword [esp + 0x8c], 0x399d0762
mov dword [esp + 0x90], 0x3d5d3b5d
mov dword [esp + 0x94], 0x316d3f50
mov dword [esp + 0x98], 0x356c3365
mov dword [esp + 0x9c], 0x295a3764
mov dword [esp + 0xa0], 0x2dbd2b59
mov dword [esp + 0xa4], 0x21b22fb8
mov dword [esp + 0xa8], 0x25b323b1
mov dword [esp + 0xac], 0x594a27b9
mov dword [esp + 0xb0], 0x5dc85b28
mov dword [esp + 0xb4], 0x51385fcd
mov dword [esp + 0xb8], 0x55ce53cb
mov dword [esp + 0xbc], 0x49c35733
mov dword [esp + 0xc0], 0x4d3b4b24
mov dword [esp + 0xc4], 0x41da4fdb
mov dword [esp + 0xc8], 0x45d343dc
mov dword [esp + 0xcc], 0x79db47d5
mov dword [esp + 0xd0], 0x7d317b14
mov dword [esp + 0xd4], 0x71377f29
mov dword [esp + 0xd8], 0x75377327
mov dword [esp + 0xdc], 0x69307732
mov dword [esp + 0xe0], 0x6d3e6b38
mov dword [esp + 0xe4], 0x613b6f3f
mov dword [esp + 0xe8], 0x65316333
mov dword [esp + 0xec], 0x99026737
mov dword [esp + 0xf0], 0x9dd89bcd
mov dword [esp + 0xf4], 0x91d69fd4
mov dword [esp + 0xf8], 0x95c293d3
mov dword [esp + 0xfc], 0x89c597c4
mov dword [esp + 0x100], 0x8dde8bd8
mov dword [esp + 0x104], 0x81dc8fce
mov dword [esp + 0x108], 0x85d483c3
mov dword [esp + 0x10c], 0xb9cf87d2
mov dword [esp + 0x110], 0xbdd6bbee
mov word [esp + 0x114], 0xbfbc
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 5
xor cl, byte [esp + eax + 0x74]
add cl, 0xe7
mov byte [esp + eax + 0x74], cl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 0xa7
jb 0x426350
lea eax, [esp + 0x74]
lea edi, [esp + 0x918]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x77cf79ad
mov dword [esp + 0x78], 0x73fc75cb
mov dword [esp + 0x7c], 0x4fc171c3
mov dword [esp + 0x80], 0x4bf04dff
mov dword [esp + 0x84], 0x47e249c4
mov dword [esp + 0x88], 0x43f84597
mov dword [esp + 0x8c], 0x5fe741fa
mov dword [esp + 0x90], 0x5be75de3
mov dword [esp + 0x94], 0x57a759fc
mov dword [esp + 0x98], 0x53a05598
mov dword [esp + 0x9c], 0x2f8a51a0
mov dword [esp + 0xa0], 0x2ba72dff
mov dword [esp + 0xa4], 0x279229a4
mov dword [esp + 0xa8], 0x23912597
mov dword [esp + 0xac], 0x3f9a2197
mov dword [esp + 0xb0], 0x3bb43dec
mov dword [esp + 0xb4], 0x378c398b
mov dword [esp + 0xb8], 0x3386358d
mov dword [esp + 0xbc], 0xf81318d
mov dword [esp + 0xc0], 0xbd90da8
mov dword [esp + 0xc4], 0x78a0985
mov dword [esp + 0xc8], 0x3b105b0
mov dword [esp + 0xcc], 0x1fa901b3
mov dword [esp + 0xd0], 0x1bd31db8
mov dword [esp + 0xd4], 0x17dd19d7
mov dword [esp + 0xd8], 0x13cd15d9
mov dword [esp + 0xdc], 0xef3411ca
mov dword [esp + 0xe0], 0xeb26ed1c
mov dword [esp + 0xe4], 0xe729e919
mov dword [esp + 0xe8], 0xe313e515
mov dword [esp + 0xec], 0xff42e111
mov dword [esp + 0xf0], 0xfb24fd33
mov dword [esp + 0xf4], 0xf73ef930
mov dword [esp + 0xf8], 0xf302f535
mov dword [esp + 0xfc], 0xcf3ff100
mov dword [esp + 0x100], 0xcb06cd3c
mov dword [esp + 0x104], 0xc708c916
mov dword [esp + 0x108], 0xc308c505
mov dword [esp + 0x10c], 0xdf15c10a
mov dword [esp + 0x110], 0xdb7edd16
mov dword [esp + 0x114], 0xd9d8
mov eax, 0xe915ce16
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x16ea325e]
mov ecx, edx
not ecx
or ecx, eax
lea esi, [edx + ecx]
inc esi
mov edi, esi
and edi, 2
mov ebx, esi
or ebx, 0xfffffffd
inc ebx
mov ecx, esi
and ecx, 0xfffffffd
imul ecx, ebx
or esi, 2
imul esi, edi
add ecx, edx
sub ecx, esi
add ecx, eax
mov esi, ecx
xor esi, 0x8d6d066e
mov edx, ecx
or edx, 0x7292f991
and edx, esi
mov edi, edx
and edi, 2
mov esi, edx
or edx, 2
imul edx, edi
xor edi, 2
and esi, 0xfd
imul esi, edi
xor ecx, 0x7292f991
add edx, ecx
add edx, esi
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0x16ea325e], dl
inc eax
cmp eax, 0xe915ceba
jne 0x426570
lea eax, [esp + 0x74]
lea edi, [esp + 0x876]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x77df09bd
mov dword [esp + 0x78], 0x73ec75db
mov dword [esp + 0x7c], 0x7fe171e3
mov dword [esp + 0x80], 0x7bd07def
mov dword [esp + 0x84], 0x67c279e4
mov dword [esp + 0x88], 0x63c865d7
mov dword [esp + 0x8c], 0x6fc761ca
mov dword [esp + 0x90], 0x6bc76dc3
mov dword [esp + 0x94], 0x570769cc
mov dword [esp + 0x98], 0x53005509
mov dword [esp + 0x9c], 0x5ffa5100
mov dword [esp + 0xa0], 0x5bc75def
mov dword [esp + 0xa4], 0x47d259c4
mov dword [esp + 0xa8], 0x43d145d7
mov dword [esp + 0xac], 0x4fea41d7
mov dword [esp + 0xb0], 0x4bd44dfc
mov dword [esp + 0xb4], 0xb71c49db
mov dword [esp + 0xb8], 0xb326b51d
mov dword [esp + 0xbc], 0xbf21b11d
mov dword [esp + 0xc0], 0xbb09bd18
mov dword [esp + 0xc4], 0xa73ab925
mov dword [esp + 0xc8], 0xa331a530
mov dword [esp + 0xcc], 0xaf39a133
mov dword [esp + 0xd0], 0xabf3ad08
mov dword [esp + 0xd4], 0x97cda9f7
mov dword [esp + 0xd8], 0x93dd95c9
mov dword [esp + 0xdc], 0x9fd491da
mov dword [esp + 0xe0], 0x9bc69dcc
mov dword [esp + 0xe4], 0x87d999c9
mov dword [esp + 0xe8], 0x83d385d5
mov dword [esp + 0xec], 0x8f2281d1
mov dword [esp + 0xf0], 0x8bc48dd3
mov dword [esp + 0xf4], 0xf7ae89d0
mov dword [esp + 0xf8], 0xf3a2f5b5
mov dword [esp + 0xfc], 0xffaff1a0
mov dword [esp + 0x100], 0xfba6fdac
mov dword [esp + 0x104], 0xe7b8f9b6
mov dword [esp + 0x108], 0xe3b8e5a5
mov dword [esp + 0x10c], 0xefb5e1ba
mov dword [esp + 0x110], 0xeb4eedb6
mov word [esp + 0x114], 0xe9e8
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x74]
mov esi, eax
and esi, 0xbe
mov edi, eax
and edi, 0x41
mov edx, eax
xor edx, 0xd453e8be
add edx, esi
sub edx, edi
lea esi, [eax + edx]
and esi, ecx
add esi, esi
sub edx, esi
add edx, eax
add dl, cl
add dl, 0x4a
mov byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0xa7
jne 0x4267f0
lea edx, [esp + 0x74]
mov eax, edx
lea esi, [esp + 0x9ba]
mov edi, esi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0xa5a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0xa5c]
mov dword [esp + 0x4c], eax
lea edi, [esp + 0xafe]
mov dword [esp + 0x50], edi
lea eax, [esp + 0x918]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x876]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], esi
jmp dword [0x44743c]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x1c], 0
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x447444]
mov eax, edx
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x158]
lea edi, [esp + 0xbe2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x11851f63
mov dword [esp + 0x78], 0x15801375
mov dword [esp + 0x7c], 0x9831785
mov dword [esp + 0x80], 0xd6c0b99
mov dword [esp + 0x84], 0x1620f98
mov dword [esp + 0x88], 0x5640371
mov dword [esp + 0x8c], 0x399d0762
mov dword [esp + 0x90], 0x3d5d3b5d
mov dword [esp + 0x94], 0x316d3f50
mov dword [esp + 0x98], 0x356c3365
mov dword [esp + 0x9c], 0x295a3764
mov dword [esp + 0xa0], 0x2dbd2b59
mov dword [esp + 0xa4], 0x21b22fb8
mov dword [esp + 0xa8], 0x25b323b1
mov dword [esp + 0xac], 0x594a27b9
mov dword [esp + 0xb0], 0x5dc85b28
mov dword [esp + 0xb4], 0x51385fcd
mov dword [esp + 0xb8], 0x55ce53cb
mov dword [esp + 0xbc], 0x49c35733
mov dword [esp + 0xc0], 0x4d3b4b24
mov dword [esp + 0xc4], 0x41da4fdb
mov dword [esp + 0xc8], 0x45d343dc
mov dword [esp + 0xcc], 0x79db47d5
mov dword [esp + 0xd0], 0x7d317b14
mov dword [esp + 0xd4], 0x71377f29
mov dword [esp + 0xd8], 0x75377327
mov dword [esp + 0xdc], 0x69307732
mov dword [esp + 0xe0], 0x6d3e6b38
mov dword [esp + 0xe4], 0x613b6f3f
mov dword [esp + 0xe8], 0x65316333
mov dword [esp + 0xec], 0x99026737
mov dword [esp + 0xf0], 0x9dd89bcd
mov dword [esp + 0xf4], 0x91d69fd4
mov dword [esp + 0xf8], 0x95c293d3
mov dword [esp + 0xfc], 0x89c597c4
mov dword [esp + 0x100], 0x8dde8bd8
mov dword [esp + 0x104], 0x81dc8fce
mov dword [esp + 0x108], 0x85d483c3
mov dword [esp + 0x10c], 0xb9cf87d2
mov dword [esp + 0x110], 0xbdd6bbee
mov word [esp + 0x114], 0xbfbc
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 5
xor cl, byte [esp + eax + 0x74]
add cl, 0xe7
mov byte [esp + eax + 0x74], cl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 0xa7
jb 0x426aa0
lea eax, [esp + 0x74]
lea edi, [esp + 0x918]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x9b8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x77cf79ad
mov dword [esp + 0x78], 0x73fc75cb
mov dword [esp + 0x7c], 0x4fc171c3
mov dword [esp + 0x80], 0x4bf04dff
mov dword [esp + 0x84], 0x47e249c4
mov dword [esp + 0x88], 0x43f84597
mov dword [esp + 0x8c], 0x5fe741fa
mov dword [esp + 0x90], 0x5be75de3
mov dword [esp + 0x94], 0x57a759fc
mov dword [esp + 0x98], 0x53a05598
mov dword [esp + 0x9c], 0x2f8a51a0
mov dword [esp + 0xa0], 0x2ba72dff
mov dword [esp + 0xa4], 0x279229a4
mov dword [esp + 0xa8], 0x23912597
mov dword [esp + 0xac], 0x3f9a2197
mov dword [esp + 0xb0], 0x3bb43dec
mov dword [esp + 0xb4], 0x378c398b
mov dword [esp + 0xb8], 0x3386358d
mov dword [esp + 0xbc], 0xf81318d
mov dword [esp + 0xc0], 0xbd90da8
mov dword [esp + 0xc4], 0x78a0985
mov dword [esp + 0xc8], 0x3b105b0
mov dword [esp + 0xcc], 0x1fa901b3
mov dword [esp + 0xd0], 0x1bd31db8
mov dword [esp + 0xd4], 0x17dd19d7
mov dword [esp + 0xd8], 0x13cd15d9
mov dword [esp + 0xdc], 0xef3411ca
mov dword [esp + 0xe0], 0xeb26ed1c
mov dword [esp + 0xe4], 0xe729e919
mov dword [esp + 0xe8], 0xe313e515
mov dword [esp + 0xec], 0xff42e111
mov dword [esp + 0xf0], 0xfb24fd33
mov dword [esp + 0xf4], 0xf73ef930
mov dword [esp + 0xf8], 0xf302f535
mov dword [esp + 0xfc], 0xcf3ff100
mov dword [esp + 0x100], 0xcb06cd3c
mov dword [esp + 0x104], 0xc708c916
mov dword [esp + 0x108], 0xc308c505
mov dword [esp + 0x10c], 0xdf15c10a
mov dword [esp + 0x110], 0xdb7edd16
mov dword [esp + 0x114], 0xd9d8
mov eax, 0xe915ce16
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x16ea325e]
mov ecx, edx
not ecx
or ecx, eax
lea esi, [edx + ecx]
inc esi
mov edi, esi
and edi, 2
mov ebx, esi
or ebx, 0xfffffffd
inc ebx
mov ecx, esi
and ecx, 0xfffffffd
imul ecx, ebx
or esi, 2
imul esi, edi
add ecx, edx
sub ecx, esi
add ecx, eax
mov esi, ecx
xor esi, 0x8d6d066e
mov edx, ecx
or edx, 0x7292f991
and edx, esi
mov edi, edx
and edi, 2
mov esi, edx
or edx, 2
imul edx, edi
xor edi, 2
and esi, 0xfd
imul esi, edi
xor ecx, 0x7292f991
add edx, ecx
add edx, esi
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0x16ea325e], dl
inc eax
cmp eax, 0xe915ceba
jne 0x426cc0
lea eax, [esp + 0x74]
lea edi, [esp + 0x876]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0x916]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x74], 0x77df09bd
mov dword [esp + 0x78], 0x73ec75db
mov dword [esp + 0x7c], 0x7fe171e3
mov dword [esp + 0x80], 0x7bd07def
mov dword [esp + 0x84], 0x67c279e4
mov dword [esp + 0x88], 0x63c865d7
mov dword [esp + 0x8c], 0x6fc761ca
mov dword [esp + 0x90], 0x6bc76dc3
mov dword [esp + 0x94], 0x570769cc
mov dword [esp + 0x98], 0x53005509
mov dword [esp + 0x9c], 0x5ffa5100
mov dword [esp + 0xa0], 0x5bc75def
mov dword [esp + 0xa4], 0x47d259c4
mov dword [esp + 0xa8], 0x43d145d7
mov dword [esp + 0xac], 0x4fea41d7
mov dword [esp + 0xb0], 0x4bd44dfc
mov dword [esp + 0xb4], 0xb71c49db
mov dword [esp + 0xb8], 0xb326b51d
mov dword [esp + 0xbc], 0xbf21b11d
mov dword [esp + 0xc0], 0xbb09bd18
mov dword [esp + 0xc4], 0xa73ab925
mov dword [esp + 0xc8], 0xa331a530
mov dword [esp + 0xcc], 0xaf39a133
mov dword [esp + 0xd0], 0xabf3ad08
mov dword [esp + 0xd4], 0x97cda9f7
mov dword [esp + 0xd8], 0x93dd95c9
mov dword [esp + 0xdc], 0x9fd491da
mov dword [esp + 0xe0], 0x9bc69dcc
mov dword [esp + 0xe4], 0x87d999c9
mov dword [esp + 0xe8], 0x83d385d5
mov dword [esp + 0xec], 0x8f2281d1
mov dword [esp + 0xf0], 0x8bc48dd3
mov dword [esp + 0xf4], 0xf7ae89d0
mov dword [esp + 0xf8], 0xf3a2f5b5
mov dword [esp + 0xfc], 0xffaff1a0
mov dword [esp + 0x100], 0xfba6fdac
mov dword [esp + 0x104], 0xe7b8f9b6
mov dword [esp + 0x108], 0xe3b8e5a5
mov dword [esp + 0x10c], 0xefb5e1ba
mov dword [esp + 0x110], 0xeb4eedb6
mov word [esp + 0x114], 0xe9e8
lea eax, [esp + 0x114]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x74]
mov esi, eax
and esi, 0xbe
mov edi, eax
and edi, 0x41
mov edx, eax
xor edx, 0xd453e8be
add edx, esi
sub edx, edi
lea esi, [eax + edx]
and esi, ecx
add esi, esi
sub edx, esi
add edx, eax
add dl, cl
add dl, 0x4a
mov byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0xa7
jne 0x426f40
lea edx, [esp + 0x74]
mov eax, edx
lea esi, [esp + 0x9ba]
mov edi, esi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x114]
lea edi, [esp + 0xa5a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0xa5c]
mov dword [esp + 0x4c], eax
lea edi, [esp + 0xafe]
mov dword [esp + 0x50], edi
lea eax, [esp + 0x918]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x876]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], esi
jmp case.0x42522e.1615711640
mov word [ebx], 0
mov eax, dword [esp + 0x40]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44741c]
movzx ebx, word [esp + 0x11e4]
xor edi, edi
test bx, bx
je 0x42705b
lea eax, [esp + 0x11e6]
mov ecx, ebx
jmp 0x42702c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42705b
cmp cx, 0x7f
jbe 0x427020
movzx edx, cx
cmp edx, 0x7ff
ja 0x427050
add edi, 2
jmp 0x427021
cmp cx, 0xffff
je 0x427021
add edi, 3
jmp 0x427021
lea eax, [edi + 1]
push eax
call fcn.004086e0
add esp, 4
mov esi, eax
mov dword [esp], eax
test bx, bx
je 0x4271b8
lea eax, [edi*2 + 2]
sub eax, edi
mov esi, dword [esp]
add eax, 0xfffffffe
je 0x4271b8
lea edx, [esp + 0x11e4]
mov esi, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, bx
lea ebp, [edx + 2]
cmp bx, 0x7f
ja 0x4270c0
lea ecx, [esi + 1]
mov byte [esi], bl
jmp 0x4271a0
cmp ebx, 0x7ff
ja 0x4270f0
cmp eax, 2
jb 0x4270f0
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [esi], cl
and bl, 0x3f
or bl, 0x80
lea ecx, [esi + 2]
mov byte [esi + 1], bl
jmp 0x4271a0
mov ecx, ebx
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x427156
cmp eax, 4
jb 0x427156
movzx ebp, word [edx + 2]
add edx, 4
shl ebx, 0xa
lea ecx, [ebx + ebp]
add ecx, 0xfca02400
mov ebx, ecx
shr ebx, 0x12
add bl, 0xf0
mov byte [esi], bl
mov ebx, ecx
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
shr ecx, 6
mov ebx, ecx
not ebx
or ebx, 0x3f
add ebx, ecx
add bl, 0x81
mov byte [esi + 2], bl
mov ecx, ebp
and cl, 0x3f
or cl, 0x80
mov ebx, ecx
lea ecx, [esi + 4]
mov byte [esi + 3], bl
mov ebp, edx
jmp 0x4271a0
movzx ecx, cx
cmp ecx, 0xdc00
jne 0x427165
mov edx, ebp
jmp 0x4271a8
cmp eax, 3
jb 0x427190
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [esi], cl
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [esi + 1], cl
and bl, 0x3f
or bl, 0x80
lea ecx, [esi + 3]
mov byte [esi + 2], bl
jmp 0x4271a0
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add eax, esi
sub eax, ecx
mov edx, ebp
mov esi, ecx
movzx ebx, word [edx]
test bx, bx
je 0x4271b8
test eax, eax
jne 0x4270a0
mov byte [esi], 0
mov dword [esp + 0x74], 0xf5f6f7c7
mov dword [esp + 0x78], 0xf1e1eeeb
mov dword [esp + 0x7c], 0xf4f8fee7
mov dword [esp + 0x80], 0xe9f5da39
mov dword [esp + 0x84], 0xe4e7e6e0
mov dword [esp + 0x88], 0xece0c321
mov dword [esp + 0x8c], 0xf6eaf4f2
mov dword [esp + 0x90], 0xdde62de5
mov word [esp + 0x94], 0x27d8
mov dword [esp + 0x96], 0
mov byte [esp + 0x9a], 0
lea eax, [esp + 0x74]
mov ecx, 0x182a793e
movzx esi, byte [eax]
mov edx, ecx
or edx, esi
lea ebx, [ecx - 0x182a7900]
and ebx, esi
not edx
or edx, ebx
mov esi, 0x57
sub esi, edx
add edx, 0xa8
and esi, 0x6e
and edx, 0x91
sub edx, esi
inc dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x182a7917
jne 0x427230
lea eax, [esp + 0x74]
mov ecx, dword [esp + 0x21f8]
push edi
mov esi, dword [esp + 4]
push esi
push eax
call fcn.004095f0
jmp dword [0x4474ec]
push esi
mov esi, eax
call fcn.004086f0
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e4
pop esi
pop edi
pop ebx
pop ebp
ret
pop eax
inc edx
add bh, ah
pop ecx
inc edx
add al, dl
pop ecx
inc edx
add byte [ecx], bl
pop edx
inc edx
add byte [eax], dh
pop edi
inc edx
add byte [ebp + 0x5a], dh
inc edx
add byte [ebx - 0x4fffbda6], dl
pop edx
inc edx
add byte [esi + 0x5b], ch
inc edx
add byte [eax], ah
pop ebp
inc edx
add byte [esi], ah
pop ebp
inc edx
add byte [ebx - 0x44ffbda3], bh
pop ebp
inc edx
add byte [eax + 0x5e], dh
inc edx
add byte [eax - 0x5fffbda6], ah
pop edx
inc edx
add byte [esi + 0x5b], ch
inc edx
add byte [eax + 0x7d00425a], ah
pop ebx
inc edx
add byte [eax + 0x600425b], dl
pop esp
inc edx
add byte [esi - 0x47ffbda5], dl
pop esp
inc edx
add byte [esi], al
pop esp
inc edx
add byte [eax], dl
pop edi
inc edx
add dh, al
pop esp
inc edx
add byte [eax], ah
pop edi
inc edx
add byte [eax], ah
pop edi
inc edx
add byte [eax], ah
pop edi
inc edx
add byte [edx], ah
pop edi
inc edx
add byte [esi], dh
popal
inc edx
add byte [edi + 0x60], bl
inc edx
add byte [eax + 0x60], dl
inc edx
add byte [edx], bh
pushal
inc edx
add byte [eax + 0x60], dl
inc edx
add byte [edi + 0x60], bl
inc edx
add byte [esi - 0x6cffbd8e], al
jb 0x447535
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 [ebp + 0x4272], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ch, dl
jne 0x447555
add bl, ch
jnp 0x447559
add ah, bl
jne 0x44755d
add dh, al
jnp 0x447561
add byte [ebp + 0x4a004277], bh
jle 0x447569
add al, dh
ja 0x44756d
add al, dh
ja 0x447571
add byte [edx + 0x7e], cl
inc edx
add byte [eax + 0x78], dl
inc edx
js 0x447579
add byte [esi + 0x78], dl
inc edx
add byte [ecx], al
jns 0x447581
add byte [eax + 0x79], ah
inc edx
add byte [eax - 0x5fffbd87], dl
jns 0x44758d
add byte [edx - 0x5dffbd87], ah
jns 0x447595
add byte [ebp + 0x7a], dl
inc edx
jp 0x447599
add byte [ebx + 0x7a], dl
inc edx
jp 0x44759d
add byte [ebp + 0x55004279], al
jns 0x4475a1
add byte [ebp + 0x79], dl
inc edx
jns 0x4475a5
add byte [esi], dl
jnp 0x4475a9
add al, dh
js 0x4475ad
add bl, ch
ja 0x4475b1
add byte [eax - 0x5fffbd85], ah
jnp 0x4475b9
jnp 0x4475b5
add byte [eax - 0x54ffbd85], ah
add byte [ebx - 0x54ffbd85], ch
jnp 0x4475c1
jnp 0x4475bd
add byte [ebx - 0x54ffbd85], ch
add byte [ebx - 0x4effbd85], ch
jnp 0x4475c9
jnp 0x4475c5
add byte [ecx - 0x39ffbd85], dh
add dh, al
jnp 0x4475cd
add dh, al
jnp 0x4475d1
add byte [edx + 0x7e], cl
inc edx
add ch, dl
jnp 0x4475d9
add al, al
jne 0x4475dd
add ch, dl
jne 0x4475e1
add bl, ch
jnp 0x4475e5
add ah, bh
jnp 0x4475e9
add byte [ecx], ah
jle 0x4475ed
add byte [edx], ch
jle 0x4475f1
add byte [eax], dh
jle 0x4475f5
add byte [edx], dh
jle 0x4475f9
add byte [edx], dh
jle 0x4475fd
add byte [eax - 0x5fffbd87], ah
jns 0x447601
add byte [eax - 0x3fffbd85], ah
jnp 0x447605
add al, al
jnp 0x447609
add byte [eax], dh
jle 0x44760d
add byte [eax + 0x7b004283], dh
add dword [edx], 0x7b
test byte [edx], al
sbb dword [edx + eax*2 + 0x42848700], ecx
add byte [ecx], bl
test byte [edx], al
sbb dword [edx + eax*2 + 0x4284a100], ecx
add byte [ebx], ah
mov word [edx], es
mov eax, dword [0x23004284]
test byte [edx], al
and ecx, dword [ebx - 0x7abfffbe]
inc edx
add byte [eax - 0x7b], al
inc edx
add byte [ebp + eax*4 + 0x42], bl
add byte [ebp + eax*4 + 0x42], bl
add byte [esi + 0x1004285], al
mov eax, dword [edx]
inc eax
test dword [edx], eax
inc eax
test dword [edx], eax
pop esp
test dword [edx], eax
pop esp
test dword [edx], eax
xchg byte [ebp + 0x10042], al
test dword [edx], eax
add dword [eax], eax
add byte [eax], al
add byte [esi - 0x4dffbd7b], al
add byte [eax], al
xchg byte [ebp - 0x7a4dffbe], al
test dword [edx], eax
mov dl, 0x85
test dword [edx], eax
cmc
inc edx
add ch, dh
mov al, byte [edx]
loopne 0x447597
mov dword [edx], eax
adc byte [edx - 0x7605ffbe], cl
inc edx
add dl, bh
inc edx
add byte [eax], dl
mov al, byte [edx]
cli
mov dword [edx], eax
cli
mov dword [edx], eax
pop ds
mov al, byte [edx]
pop edi
mov al, byte [edx]
ret 0x428a