Function at 0x429c30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x21f0
call fcn.0040ce40
push eax
sub esp, 0x24
mov edi, esp
mov dword [ebp - 0x21fc], 0x93209134
mov dword [ebp - 0x21f8], 0x9fd19dd1
mov dword [ebp - 0x21f4], 0x9b2999d1
mov dword [ebp - 0x21f0], 0x87348538
mov dword [ebp - 0x21ec], 0x83268139
mov dword [ebp - 0x21e8], 0x8f3d8d31
mov dword [ebp - 0x21e4], 0x8b3889c5
mov word [ebp - 0x21e0], 0xf5f4
mov dword [ebp - 0x21de], 0
mov byte [ebp - 0x21da], 0
mov eax, 0x24
mov ecx, 0xdb
movzx esi, byte [ebp + eax - 0x2220]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x4c
mov byte [ebp + eax - 0x2220], dl
inc eax
dec ecx
cmp eax, 0x47
jne case.default.0x428c22
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x21fc]
push 0
push 0
push 0x20019
push eax
mov ebx, ecx
push ecx
call fcn.00445a50
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44d4cc]
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x60]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [ebp - 0x48]
call fcn.00445e20
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d4d4]
jmp dword [0x44d4e8]
xor ebx, ebx
jmp 0x42a344
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x40], 0
cmp ecx, dword [ebp - 0x60]
setb al
xor esi, esi
mov dword [ebp - 0x64], edi
jmp dword [eax*4 + 0x44d4ec]
mov dword [ebp - 0x18], ebx
mov edi, dword [ebp - 0x78]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x428ca4
mov eax, 0xffffffff
push eax
call fcn.0040cee0
add esp, 4
mov ebx, eax
mov dword [ebp - 0x74], edi
lea eax, [ebp - 0x74]
push eax
push ebx
push esi
push dword [ebp - 0x48]
call fcn.00445b60
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d50c]
jmp dword [0x44d5bc]
push ebx
call fcn.0040cef0
add esp, 4
mov eax, dword [case.0x428c22.63]
inc esi
mov ebx, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp esi, dword [ebp - 0x60]
setb al
jmp dword [eax*4 + 0x44d4ec]
lea eax, [ebp - 0x5c]
push dword [ebp - 0x48]
push 0
push 0x20019
push eax
push ebx
call fcn.00445a50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d514]
jmp dword [0x44d5bc]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x88c], 0x69056b37
mov dword [ebp - 0x888], 0x6d186f0d
mov dword [ebp - 0x884], 0x7107731d
mov dword [ebp - 0x880], 0x751c7701
mov dword [ebp - 0x87c], 0x79267b00
mov dword [ebp - 0x878], 0x7d117f21
mov dword [ebp - 0x874], 0x81e6830e
mov dword [ebp - 0x870], 0x85ff87f1
mov dword [ebp - 0x86c], 0x89aa8bf1
mov dword [ebp - 0x868], 0x8de58fdb
mov dword [ebp - 0x864], 0x91e793f9
mov dword [ebp - 0x860], 0x95ff97f7
mov dword [ebp - 0x85c], 0x99e89bfb
mov dword [ebp - 0x858], 0x9dbe9ff1
mov dword [ebp - 0x854], 0xa1d9a3c9
mov dword [ebp - 0x850], 0xa5d3a7c6
mov dword [ebp - 0x84c], 0xa9dfabdb
mov dword [ebp - 0x848], 0xadc5afdc
mov dword [ebp - 0x844], 0xb1eeb3df
mov dword [ebp - 0x840], 0xb5c0b7e0
mov dword [ebp - 0x83c], 0xb9d0bbc5
mov dword [ebp - 0x838], 0xbdd2bfd7
mov dword [ebp - 0x834], 0xc1b7c3d7
mov dword [ebp - 0x830], 0xc5f9c79c
mov dword [ebp - 0x82c], 0xc9f3cbf1
mov dword [ebp - 0x828], 0xcd8bcff3
mov dword [ebp - 0x824], 0xd198d386
mov dword [ebp - 0x820], 0xd5e2d7e0
mov dword [ebp - 0x81c], 0xd9efdbe3
mov dword [ebp - 0x818], 0xdde9dfef
mov dword [ebp - 0x814], 0xe186e3eb
mov dword [ebp - 0x810], 0xe5a0e7d5
mov dword [ebp - 0x80c], 0xe9d2ebdc
mov dword [ebp - 0x808], 0xeddeefaf
mov dword [ebp - 0x804], 0xf1c5f3dc
mov dword [ebp - 0x800], 0xf5c2f7c0
mov dword [ebp - 0x7fc], 0xf9ccfbb2
mov dword [ebp - 0x7f8], 0xfdc4ffbf
mov dword [ebp - 0x7f4], 0x13b03c6
mov dword [ebp - 0x7f0], 0x55a073a
mov word [ebp - 0x7ec], 0xb04
lea eax, [ebp - 0x7ec]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov eax, 0xe7
mov ecx, 0x18
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + eax - 0x973]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x7d
mov byte [ebp + eax - 0x973], dl
inc eax
dec ecx
cmp eax, 0x18c
jne 0x428f00
lea edi, [ebp - 0x9d0]
lea eax, [ebp - 0x88c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [ebp - 0x7ec]
mov eax, edx
lea edi, [ebp - 0x930]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x88c], 0x13fb11e5
mov dword [ebp - 0x888], 0x1f8c1dff
mov dword [ebp - 0x884], 0x1b89198f
mov dword [ebp - 0x880], 0x7e80593
mov dword [ebp - 0x87c], 0x3e6019c
mov dword [ebp - 0x878], 0xfe70df3
mov dword [ebp - 0x874], 0xbe6099e
mov dword [ebp - 0x870], 0x37a935a3
mov dword [ebp - 0x86c], 0x331231a3
mov dword [ebp - 0x868], 0x3fc23dca
mov dword [ebp - 0x864], 0x3bf939dc
mov dword [ebp - 0x860], 0x27b425b9
mov dword [ebp - 0x85c], 0x23cf21b2
mov dword [ebp - 0x858], 0x2fb22dba
mov dword [ebp - 0x854], 0x2bc729d6
mov dword [ebp - 0x850], 0xd745d546
mov dword [ebp - 0x84c], 0xd345d139
mov dword [ebp - 0x848], 0xdf3add4a
mov dword [ebp - 0x844], 0xdb33d927
mov dword [ebp - 0x840], 0xc72ac552
mov dword [ebp - 0x83c], 0xc35dc157
mov dword [ebp - 0x838], 0xcfeecd5f
mov dword [ebp - 0x834], 0xcb27c93d
mov dword [ebp - 0x830], 0xf765f567
mov dword [ebp - 0x82c], 0xf31df111
mov dword [ebp - 0x828], 0xff68fd15
mov dword [ebp - 0x824], 0xfbdaf917
mov dword [ebp - 0x820], 0xe77be517
mov dword [ebp - 0x81c], 0xe371e102
mov dword [ebp - 0x818], 0xef7ded75
mov dword [ebp - 0x814], 0xeb07e974
mov dword [ebp - 0x810], 0x97729501
mov dword [ebp - 0x80c], 0x93009160
mov dword [ebp - 0x808], 0x9f709d0b
mov dword [ebp - 0x804], 0x9b0e9971
mov dword [ebp - 0x800], 0x87158569
mov dword [ebp - 0x7fc], 0x83758164
mov dword [ebp - 0x7f8], 0x8f128d11
mov dword [ebp - 0x7f4], 0x8b1d891c
mov dword [ebp - 0x7f0], 0xb75db523
mov dword [ebp - 0x7ec], 0xb36bb154
mov dword [ebp - 0x7e8], 0xbf61bd6f
mov dword [ebp - 0x7e4], 0xbb79b965
mov dword [ebp - 0x7e0], 0xa768a56a
mov dword [ebp - 0x7dc], 0xa37ea170
mov dword [ebp - 0x7d8], 0xaf7dad7d
mov dword [ebp - 0x7d4], 0xab7ba979
mov dword [ebp - 0x7d0], 0x57ba5585
mov dword [ebp - 0x7cc], 0x53905183
mov dword [ebp - 0x7c8], 0x5f865d84
mov dword [ebp - 0x7c4], 0x5b8a5999
mov dword [ebp - 0x7c0], 0x47974594
mov dword [ebp - 0x7bc], 0x439e4190
mov dword [ebp - 0x7b8], 0x4f9c4d8e
mov dword [ebp - 0x7b4], 0x4b944989
mov dword [ebp - 0x7b0], 0x77a975aa
mov dword [ebp - 0x7ac], 0x739671ae
mov word [ebp - 0x7a8], 0x7d7c
mov byte [edx + 0x48], 0
mov word [edx + 0x46], 0
mov edx, 0x44
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebp + edx - 0x8d0]
mov ebx, eax
mov esi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xac
mov byte [ebp + edx - 0x8d0], al
inc edx
cmp edx, 0x12d
jne 0x4291b0
lea edi, [ebp - 0xab6]
lea eax, [ebp - 0x88c]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x7a8]
lea edi, [ebp - 0x9d2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x88c], 0x19ad1b4f
mov dword [ebp - 0x888], 0x65d867b5
mov dword [ebp - 0x884], 0x61df63d5
mov dword [ebp - 0x880], 0x6dc46fd1
mov dword [ebp - 0x87c], 0x69ce6bd0
mov dword [ebp - 0x878], 0x75dc7739
mov dword [ebp - 0x874], 0x71c573de
mov dword [ebp - 0x870], 0x7dd57fdd
mov dword [ebp - 0x86c], 0x79057bd8
mov dword [ebp - 0x868], 0x45344705
mov dword [ebp - 0x864], 0x41e64334
mov dword [ebp - 0x860], 0x4df54f11
mov dword [ebp - 0x85c], 0x49fe4bf0
mov dword [ebp - 0x858], 0x55e757f9
mov dword [ebp - 0x854], 0x51f653e1
mov dword [ebp - 0x850], 0x5de05f00
mov dword [ebp - 0x84c], 0x59f05bed
mov dword [ebp - 0x848], 0xa512a7ef
mov dword [ebp - 0x844], 0xa11fa30f
mov dword [ebp - 0x840], 0xadffaf04
mov dword [ebp - 0x83c], 0xa916ab17
mov dword [ebp - 0x838], 0xb507b71c
mov dword [ebp - 0x834], 0xb107b305
mov dword [ebp - 0x830], 0xbdf9bf14
mov dword [ebp - 0x82c], 0xb9c3bbc1
mov dword [ebp - 0x828], 0x85cb87c3
mov dword [ebp - 0x824], 0x81c883ce
mov dword [ebp - 0x820], 0x8df28ff0
mov dword [ebp - 0x81c], 0x89f78bf3
mov dword [ebp - 0x818], 0x95e997f7
mov dword [ebp - 0x814], 0x913e93eb
mov dword [ebp - 0x810], 0x9dd09fed
mov dword [ebp - 0x80c], 0x99e29be4
mov dword [ebp - 0x808], 0xe596e7d7
mov dword [ebp - 0x804], 0xe19de394
mov dword [ebp - 0x800], 0xed92ef90
mov dword [ebp - 0x7fc], 0xe994eba2
mov dword [ebp - 0x7f8], 0xf58cf7a7
mov dword [ebp - 0x7f4], 0xf18bf38e
mov dword [ebp - 0x7f0], 0xfd5aff8a
mov dword [ebp - 0x7ec], 0xfbfc
mov eax, 0x3b
mov ecx, 0xc4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + eax - 0x8c7]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xd9
mov byte [ebp + eax - 0x8c7], dl
inc eax
dec ecx
cmp eax, 0xdf
jne 0x4293d0
lea edi, [ebp - 0x92e]
lea eax, [ebp - 0x88c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x7ec]
mov ecx, 1
lea edi, [ebp - 0x88e]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x88c], 0x71c57fa3
mov dword [ebp - 0x888], 0x75c073d5
mov dword [ebp - 0x884], 0x49c377c5
mov dword [ebp - 0x880], 0x4dec4bf9
mov dword [ebp - 0x87c], 0x41e24ff8
mov dword [ebp - 0x878], 0x45e44391
mov dword [ebp - 0x874], 0x59fd47e2
mov dword [ebp - 0x870], 0x5dfd5bfd
mov dword [ebp - 0x86c], 0x51ad5ff0
mov dword [ebp - 0x868], 0x55ac53a4
mov dword [ebp - 0x864], 0x29fa57a4
mov dword [ebp - 0x860], 0x2d9d2bf9
mov dword [ebp - 0x85c], 0x21922f98
mov dword [ebp - 0x858], 0x25932391
mov dword [ebp - 0x854], 0x398a2799
mov dword [ebp - 0x850], 0x3d883be8
mov dword [ebp - 0x84c], 0x31983f8d
mov dword [ebp - 0x848], 0x358e338b
mov dword [ebp - 0x844], 0x9833793
mov dword [ebp - 0x840], 0xddb0ba4
mov dword [ebp - 0x83c], 0x1ba0fbb
mov dword [ebp - 0x838], 0x5b303bc
mov dword [ebp - 0x834], 0x19bb07b5
mov dword [ebp - 0x830], 0x1dd11bb4
mov dword [ebp - 0x82c], 0x11d71fe9
mov dword [ebp - 0x828], 0x15d713e7
mov dword [ebp - 0x824], 0xe9d017d2
mov dword [ebp - 0x820], 0xed1eeb18
mov dword [ebp - 0x81c], 0xe11bef1f
mov dword [ebp - 0x818], 0xe511e313
mov dword [ebp - 0x814], 0xf942e717
mov dword [ebp - 0x810], 0xfd38fb0d
mov dword [ebp - 0x80c], 0xf136ff34
mov dword [ebp - 0x808], 0xf502f333
mov dword [ebp - 0x804], 0xc905f704
mov dword [ebp - 0x800], 0xcd3ecb38
mov dword [ebp - 0x7fc], 0xc13ccf0e
mov dword [ebp - 0x7f8], 0xc534c303
mov dword [ebp - 0x7f4], 0xd90fc732
mov dword [ebp - 0x7f0], 0xdd76db2e
mov word [ebp - 0x7ec], 0xdfdc
lea eax, [ebp - 0x7ec]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov eax, 0x861c8c95
mov ecx, 0x39e3736a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + eax + 0x79e36adf]
mov esi, eax
and esi, 0x8604004a
mov edx, ecx
and edx, 0x28e031b5
or edx, esi
xor edx, edi
xor edx, 0xd707424a
lea esi, [ecx - 0x39e37300]
and esi, edi
or edx, esi
lea ebx, [edx + edx]
not ebx
add ebx, edx
or ebx, esi
add bl, 0x17
mov byte [ebp + eax + 0x79e36adf], bl
inc eax
dec ecx
cmp eax, 0x861c8d3a
jne 0x4295e0
lea eax, [ebp - 0xbfa]
lea edx, [ebp - 0x88c]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [ebp - 0x7ec]
lea edi, [ebp - 0xb5a]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [ebp - 0x88c], 0xb1e58fc3
mov dword [ebp - 0x888], 0xb520b3d5
mov dword [ebp - 0x884], 0xb923b725
mov dword [ebp - 0x880], 0xbddcbb29
mov dword [ebp - 0x87c], 0xa1c2bf28
mov dword [ebp - 0x878], 0xa5c4a3d1
mov dword [ebp - 0x874], 0xa9cda7c2
mov dword [ebp - 0x870], 0xadcdabcd
mov dword [ebp - 0x86c], 0xd1fdafd0
mov dword [ebp - 0x868], 0xd5fcd387
mov dword [ebp - 0x864], 0xd9aad784
mov dword [ebp - 0x860], 0xdd4ddba9
mov dword [ebp - 0x85c], 0xc1b2df48
mov dword [ebp - 0x858], 0xc553c351
mov dword [ebp - 0x854], 0xc9bac7a9
mov dword [ebp - 0x850], 0xcd58cbb8
mov dword [ebp - 0x84c], 0xf1a8cf5d
mov dword [ebp - 0x848], 0xf59ef39b
mov dword [ebp - 0x844], 0xf963f793
mov dword [ebp - 0x840], 0xfd8bfb84
mov dword [ebp - 0x83c], 0xe16aff6b
mov dword [ebp - 0x838], 0xe573e38c
mov dword [ebp - 0x834], 0xe98be775
mov dword [ebp - 0x830], 0xedb1eb94
mov dword [ebp - 0x82c], 0x11b7efb9
mov dword [ebp - 0x828], 0x15571347
mov dword [ebp - 0x824], 0x19501752
mov dword [ebp - 0x820], 0x1d4e1b48
mov dword [ebp - 0x81c], 0x14b1f4f
mov dword [ebp - 0x818], 0x5510353
mov dword [ebp - 0x814], 0x9620757
mov dword [ebp - 0x810], 0xd480b5d
mov dword [ebp - 0x80c], 0x31560f54
mov dword [ebp - 0x808], 0x35623373
mov dword [ebp - 0x804], 0x39653764
mov dword [ebp - 0x800], 0x3d6e3b68
mov dword [ebp - 0x7fc], 0x216c3f7e
mov dword [ebp - 0x7f8], 0x25742363
mov dword [ebp - 0x7f4], 0x297f2772
mov dword [ebp - 0x7f0], 0x2d562b7e
mov dword [ebp - 0x7ec], 0x2f2c
mov ecx, 0x9c598c1d
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + ecx + 0x63a66b57]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 0x6e
xor edx, 0x6e
lea edx, [edx + esi*2]
inc dl
mov byte [ebp + ecx + 0x63a66b57], dl
inc ecx
cmp ecx, 0x9c598cc1
jne 0x429800
lea edx, [ebp - 0xb58]
lea esi, [ebp - 0x88c]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [ebp - 0x7ec]
lea edi, [ebp - 0xab8]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [ebp - 0x9d0]
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0xab6]
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x92e]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
xor edi, edi
xor eax, eax
cmp edi, 0x14
setne al
jmp dword [eax*4 + 0x44d51c]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x88c], 0x20272625
mov byte [ebp - 0x888], 0
mov ecx, 0x39
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + ecx - 0x8c5]
mov esi, edi
not esi
lea edx, [ecx - 0x38]
and esi, 0xf9
mov ebx, edi
xor ebx, 0xf9
or edi, 6
and edi, ebx
or edi, esi
mov esi, ecx
and esi, 0x79
and edx, 6
or edx, esi
xor edx, edi
xor dl, 0xf9
add dl, 0xe3
mov byte [ebp + ecx - 0x8c5], dl
inc ecx
cmp ecx, 0x3e
jne 0x4298c0
mov ecx, dword [0x451b2c]
test ecx, ecx
je 0x42a0c0
mov edx, dword [ebp - 0x88c]
xor edi, edi
mov ebx, dword [0x451b30]
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x42a0b4
inc edi
cmp ecx, edi
jne 0x429920
jmp 0x42a0c0
add edi, 4
xor eax, eax
cmp edi, 0x14
setne al
jmp dword [eax*4 + 0x44d51c]
mov eax, dword [ebp + edi - 0x8c]
mov dword [ebp - 0x88c], 0x73227120
mov dword [ebp - 0x888], 0x6f3e6d3c
mov dword [ebp - 0x884], 0x6b3a6938
mov dword [ebp - 0x880], 0x670e6534
mov word [ebp - 0x87c], 0x6160
lea ecx, [ebp - 0x7ec]
mov word [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x18
mov ebx, edx
xor ebx, 0xec
add ebx, esi
xor bl, byte [ebp + edx - 0x88c]
add bl, 0x64
mov byte [ebp + edx - 0x88c], bl
inc edx
add ecx, 2
cmp edx, 0x18
jne 0x4299b0
movzx ecx, word [eax]
lea edx, [ebp - 0xdfa]
test cx, cx
je 0x429a01
add eax, 2
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4299f0
mov word [edx], 0
movzx eax, word [ebp - 0x88c]
test ax, ax
je 0x429a31
lea ecx, [ebp - 0x88a]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429a20
mov word [edx], 0
mov cx, 0x31
mov eax, dword [case.0x428c22.24]
mov dword [ebp - 0x68], edx
jmp case.0x428c22.21
mov ecx, dword [ebp - 0x6c]
inc ecx
mov eax, dword [case.0x428c22.24]
mov edi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x44d534]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], ecx
mov word [edx - 2], cx
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0xdfa]
push dword [ebp - 0x5c]
push 0
push 0x20019
push eax
push ecx
call fcn.00445a50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d53c]
mov dword [ebp - 0x58], 0x800
mov dword [ebp - 0x38], 0x400
mov dword [ebp - 0x1c], 0
xor esi, esi
lea edi, [ebp - 0x88c]
jmp dword [0x44d544]
lea eax, [ebp - 0x38]
lea ebx, [ebp - 0x11fa]
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x58]
push eax
push ebx
push ecx
push edx
push edi
push esi
push dword [ebp - 0x3c]
call fcn.00446120
add esp, 0x1c
jmp dword [0x44d550]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d554]
test byte [ebp - 0x1c], 1
sete al
mov edx, dword [ebp - 0x54]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44d55c]
mov eax, dword [case.0x428c22.37]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x34], 0x1eb07c7
mov dword [ebp - 0x30], 0xdf303ed
mov dword [ebp - 0x2c], 0x9f80ff3
mov dword [ebp - 0x28], 0x150a0bf4
lea eax, [ebp - 0x24]
mov byte [eax + 2], 0
mov word [eax], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebp + ecx - 0x34]
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 0x1e
xor esi, 0xd0d2d53f
sub edx, esi
lea esi, [eax + eax]
not esi
add esi, eax
and esi, 0x8847e32
and eax, 0xffffffcd
or eax, esi
xor eax, edx
xor eax, 0x8847e32
add eax, 0xd2fb9a49
mov edx, eax
and edx, 0x3a
xor eax, 0x3a
lea eax, [eax + edx*2]
add al, 0xb8
mov byte [ebp + ecx - 0x34], al
inc ecx
cmp ecx, 0x13
jne 0x429b70
movzx edi, word [ebp - 0x34]
lea eax, [ebp - 0x88c]
mov dword [ebp - 0x14], eax
test di, di
mov esi, dword [ebp - 0x10]
je 0x429c17
lea edx, [ebp - 0x88c]
lea eax, [ebp - 0x34]
mov dword [ebp - 0x14], edx
jmp 0x429be8
movzx edi, word [eax]
test di, di
je 0x429c17
movzx ecx, word [edx]
test cx, cx
je 0x429c10
add edx, 2
add eax, 2
mov esi, dword [ebp - 0x14]
add esi, 2
cmp cx, di
je 0x429c06
mov dword [ebp - 0x14], esi
mov edx, esi
mov esi, dword [ebp - 0x10]
je 0x429be0
lea eax, [ebp - 0x34]
jmp 0x429be0
mov dword [ebp - 0x14], 0
xor eax, eax
cmp dword [ebp - 0x14], 0
setne al
lea edi, [ebp - 0x88c]
mov edx, dword [ebp - 0x44]
jmp dword [eax*4 + 0x44d564]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x44d58c]
inc esi
jmp dword [0x44d544]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x34], 0x39953b8c
mov dword [ebp - 0x30], 0x25bb27a5
mov dword [ebp - 0x2c], 0x21b323bd
mov dword [ebp - 0x28], 0x2d822fbe
mov word [ebp - 0x24], 0x2b2c
mov dword [ebp - 0x22], 0
mov eax, 0xa5c4f4b
mov ecx, 0x85a3b0b4
nop
nop
nop
nop
movzx esi, byte [ebp + eax - 0xa5c4f7f]
mov edi, ecx
and edi, 0x800230b7
mov edx, eax
and edx, 0xa044908
or edx, edi
xor edx, esi
xor edx, 0xf05a36f7
add edx, 0x8d9c1807
mov esi, edx
xor esi, 0x7e
and edx, 1
add edx, edx
sub edx, esi
mov byte [ebp + eax - 0xa5c4f7f], dl
inc eax
dec ecx
cmp eax, 0xa5c4f61
jne 0x429c80
movzx ebx, word [ebp - 0x34]
lea eax, [ebp - 0x88c]
test bx, bx
mov esi, dword [ebp - 0x10]
je 0x429e0f
lea ecx, [ebp - 0x88c]
lea edx, [ebp - 0x34]
mov eax, ecx
jmp 0x429cfc
movzx ebx, word [edx]
test bx, bx
je 0x429e0f
movzx edi, word [ecx]
test di, di
je 0x429e0d
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp di, bx
je 0x429d1a
mov eax, esi
mov ecx, esi
mov esi, dword [ebp - 0x10]
je 0x429cf0
lea edx, [ebp - 0x34]
jmp 0x429cf0
mov eax, dword [ebp - 0x38]
cmp eax, 2
jae 0x429d34
mov esi, dword [ebp - 0x18]
jmp 0x429df2
shr eax, 1
lea ecx, [eax - 1]
mov esi, eax
and esi, 3
je 0x429d8e
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
xor edi, edi
lea ebx, [ebp - 0x11fa]
mov edx, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
movzx esi, word [ebx]
xor ecx, ecx
test si, si
setne cl
lea ebx, [ebx + ecx*2]
mov word [edx], si
mov esi, eax
add edx, 2
inc edi
cmp eax, edi
jne 0x429d60
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
sub eax, edi
lea edi, [ebp - 0x88c]
mov ecx, dword [ebp - 0x14]
cmp ecx, 3
mov esi, dword [ebp - 0x18]
jb 0x429df2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [ebx]
xor edx, edx
test cx, cx
setne dl
mov word [esi], cx
lea ecx, [ebx + edx*2]
movzx edx, word [ebx + edx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 2], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 4], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea ebx, [ecx + ebx*2]
mov word [esi + 6], dx
add esi, 8
add eax, 0xfffffffc
jne 0x429da0
mov dword [esi], 0x20003a
add esi, 4
mov dword [ebp - 0x18], esi
mov al, 1
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x10]
inc esi
jmp dword [0x44d544]
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ebp - 0x40]
jmp dword [ecx*4 + 0x44d594]
mov eax, dword [ebp - 0x38]
cmp eax, 2
mov edx, dword [ebp - 0x18]
jae 0x429e32
mov edi, edx
jmp 0x429ee9
shr eax, 1
lea ebx, [eax - 1]
mov edi, eax
lea ecx, [ebp - 0x11fa]
and edi, 3
je 0x429e7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], ebx
xor ebx, ebx
nop
nop
nop
nop
movzx esi, word [ecx]
mov eax, edi
mov edi, edx
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov edx, edi
mov edi, eax
mov word [edx], si
add edx, 2
inc ebx
cmp eax, ebx
jne 0x429e50
mov eax, dword [ebp - 0x44]
sub eax, ebx
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov edi, edx
cmp ebx, 3
jb 0x429ee9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
lea edx, [esi + 8]
add eax, 0xfffffffc
jne 0x429e90
mov edi, edx
mov esi, dword [ebp - 0x10]
lea eax, [edi + 2]
mov dword [ebp - 0x18], eax
mov word [edi], 0xa
mov eax, dword [case.0x428c22.49]
nop
nop
nop
nop
nop
nop
nop
mov dl, 1
jmp eax
mov dword [ebp - 0x40], edx
inc esi
lea edi, [ebp - 0x88c]
jmp dword [0x44d544]
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x11fa]
lea edx, [ebp - 0x54]
mov ebx, esi
lea esi, [ebp - 0x58]
push eax
push ecx
push edx
push esi
mov esi, ebx
push edi
push ebx
push dword [ebp - 0x3c]
call fcn.00446120
add esp, 0x1c
jmp case.0x428c22.29
jmp dword [0x44d5ac]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], 0x20272625
mov byte [ebp - 0x30], 0
mov ecx, 0x39
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + ecx - 0x6d]
mov esi, edi
not esi
lea edx, [ecx - 0x38]
and esi, 0xf9
mov ebx, edi
xor ebx, 0xf9
or edi, 6
and edi, ebx
or edi, esi
mov esi, ecx
and esi, 0x79
and edx, 6
or edx, esi
xor edx, edi
xor dl, 0xf9
add dl, 0xe3
mov byte [ebp + ecx - 0x6d], dl
inc ecx
cmp ecx, 0x3e
jne 0x429f60
mov ecx, dword [0x451b2c]
test ecx, ecx
je case.0x428c22.55
mov edx, dword [ebp - 0x34]
xor edi, edi
mov ebx, dword [0x451b30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x429fd0
inc edi
cmp ecx, edi
jne 0x429fc0
jmp case.0x428c22.55
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x428c22.55
push eax
push 1
push dword [0x451b34]
push ecx
call fcn.00442050
add esp, 0x10
jmp case.0x428c22.55
jmp dword [0x44d5b4]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], 0x20272625
mov byte [ebp - 0x30], 0
mov ecx, 0x39
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + ecx - 0x6d]
mov esi, edi
not esi
lea edx, [ecx - 0x38]
and esi, 0xf9
mov ebx, edi
xor ebx, 0xf9
or edi, 6
and edi, ebx
or edi, esi
mov esi, ecx
and esi, 0x79
and edx, 6
or edx, esi
xor edx, edi
xor dl, 0xf9
add dl, 0xe3
mov byte [ebp + ecx - 0x6d], dl
inc ecx
cmp ecx, 0x3e
jne 0x42a010
mov ecx, dword [0x451b2c]
test ecx, ecx
je 0x429ff0
mov edx, dword [ebp - 0x34]
xor edi, edi
mov ebx, dword [0x451b30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x42a090
inc edi
cmp ecx, edi
jne 0x42a070
jmp 0x429ff0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x429ff0
push eax
push 1
push dword [0x451b34]
push ecx
call fcn.00442050
add esp, 0x10
jmp dword [0x44d5b4]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x42a0cc
nop
nop
nop
nop
mov esi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
jmp dword [0x44d5bc]
push eax
push 1
push dword [0x451b34]
push ecx
call fcn.00442050
add esp, 0x10
mov esi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
jmp dword [0x44d5bc]
jmp dword [0x44d4f8]
mov word [ebx], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], 0
jmp dword [0x44d4fc]
mov ebx, dword [ebp - 0x40]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44d504]
movzx ebx, word [ebp - 0x21fc]
xor esi, esi
test bx, bx
je 0x42a17b
lea eax, [ebp - 0x21fa]
mov ecx, ebx
jmp 0x42a14c
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42a17b
cmp cx, 0x7f
jbe 0x42a140
movzx edx, cx
cmp edx, 0x7ff
ja 0x42a170
add esi, 2
jmp 0x42a141
cmp cx, 0xffff
je 0x42a141
add esi, 3
jmp 0x42a141
mov dword [ebp - 0x1c], esi
lea eax, [esi + 1]
push eax
call fcn.0040cee0
add esp, 4
mov edi, eax
mov dword [ebp - 0x10], eax
test bx, bx
je 0x42a2d4
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x1c], 0
je 0x42a2d4
lea edx, [ebp - 0x21fc]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, bx
lea esi, [edx + 2]
cmp bx, 0x7f
ja 0x42a1e0
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x42a280
cmp ebx, 0x7ff
ja 0x42a210
cmp ecx, 2
jb 0x42a210
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
mov eax, ebx
xor eax, 0xc0
or ebx, 0x3f
and ebx, eax
add bl, 0x80
lea eax, [edi + 2]
mov byte [edi + 1], bl
jmp 0x42a280
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42a29a
cmp ecx, 4
jb 0x42a29a
movzx eax, word [edx + 2]
mov dword [ebp - 0x14], eax
shl ebx, 0xa
add ebx, eax
add ebx, 0xfca02400
mov eax, ebx
shr eax, 0x12
add al, 0xf0
mov byte [edi], al
mov eax, ebx
shr eax, 0xc
mov esi, eax
xor esi, 0xc0
or eax, 0x3f
and eax, esi
add al, 0x80
mov byte [edi + 1], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov eax, 0x3f
mov esi, dword [ebp - 0x14]
sub eax, esi
not eax
or eax, esi
add edx, 4
and al, 0x3f
or al, 0x80
mov byte [edi + 3], al
lea eax, [edi + 4]
mov esi, edx
nop
nop
add ecx, edi
sub ecx, eax
mov edx, esi
mov edi, eax
movzx ebx, word [edx]
test bx, bx
je 0x42a2d4
test ecx, ecx
jne 0x42a1c0
jmp 0x42a2d4
movzx eax, ax
cmp eax, 0xdc00
jne 0x42a2a8
mov edx, esi
jmp 0x42a288
cmp ecx, 3
jb 0x42a2d0
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], bl
jmp 0x42a280
mov eax, edi
jmp 0x42a280
mov byte [edi], 0
mov esi, dword [ebp - 0x64]
mov dword [esi], 0x859a9b63
mov dword [esi + 4], 0x99898a87
mov dword [esi + 8], 0x84808283
mov dword [esi + 0xc], 0x818d6641
mov dword [esi + 0x10], 0x948b8a98
mov dword [esi + 0x14], 0x8c886f49
mov dword [esi + 0x18], 0xaaaeac96
mov dword [esi + 0x1c], 0xbdb275b5
mov word [esi + 0x20], 0xbb0
mov dword [esi + 0x22], 0
xor eax, eax
mov edi, dword [ebp - 0x1c]
jmp dword [0x44d5d4]
xor eax, eax
mov ebx, dword [ebp - 0x10]
jmp 0x42a350
jmp dword [0x44d5f4]
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [eax + 0x87]
mov edx, pe_nt_image_headers32
sub edx, eax
and edx, 0x41
and ecx, 0xbe
or ecx, edx
xor cl, byte [esi + eax]
xor cl, 0x41
add cl, 0x5d
mov byte [esi + eax], cl
inc eax
cmp eax, 0x26
jne 0x42a350
mov ecx, dword [ebp + 8]
push edi
push ebx
push esi
call fcn.0040dc00
mov ebx, eax
xor eax, eax
jmp dword [0x44d5dc]
lea ecx, [eax + 0x87]
mov edx, pe_nt_image_headers32
sub edx, eax
and edx, 0x41
and ecx, 0xbe
or ecx, edx
xor cl, byte [esi + eax]
xor cl, 0x41
add cl, 0x5d
mov byte [esi + eax], cl
inc eax
cmp eax, 0x26
jne case.0x428c22.66
mov ecx, dword [ebp + 8]
push edi
mov ebx, dword [ebp - 0x10]
push ebx
push esi
call fcn.0040dc00
xor eax, eax
jmp 0x42a350
int3
mov word [edx], es
mov word [edx], es
pushal
mov word [edx], es
insd dword es:[edi], dx
mov word [edx], es
pushal
mov word [edx], es
pushal
mov word [edx], es
pushal
mov word [edx], es
mov word [edx], es
ljmp 309440