Function at 0x427440
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.0040c650
mov dword [esp + 0x11ec], 0xfd809e4
mov dword [esp + 0x11f0], 0x3d90dc9
mov dword [esp + 0x11f4], 0x7d101d9
mov dword [esp + 0x11f8], 0x1bcc05d0
mov dword [esp + 0x11fc], 0x1ff219f1
mov dword [esp + 0x1200], 0x13c51dc9
mov dword [esp + 0x1204], 0x17c011d5
mov dword [esp + 0x1208], 0x1514
mov eax, 0xbe
mov ecx, 0x42
mov esi, ecx
or esi, 0xbd
add esi, eax
mov edx, ecx
and edx, 0x42
or edx, esi
xor dl, byte [esp + ecx + 0x11aa]
xor dl, 0xbd
add dl, 0xb6
mov byte [esp + ecx + 0x11aa], dl
dec eax
inc ecx
cmp ecx, 0x62
jne case.default.0x4274ff
lea eax, [esp + 0x28]
lea esi, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.00443240
add esp, 0x14
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44aea8]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x24]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x48]
call fcn.004436a0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44aeb0]
xor ecx, ecx
jmp 0x428d3a
mov dword [esp], esi
mov eax, dword [case.0x4274ff.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
lea eax, [esp + 0x7e]
mov dword [esp + 0x54], eax
lea edx, [esp + 0x11e]
lea ebp, [esp + 0x11e]
lea eax, [esp + 0x162]
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x38], 0
cmp ecx, dword [esp + 0x24]
setb al
xor esi, esi
jmp dword [eax*4 + 0x44aec8]
mov eax, dword [esp]
mov word [eax], 0
mov ecx, dword [esp + 0x38]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44aed0]
inc esi
lea edx, [esp + 0x11e]
lea ebp, [esp + 0x11e]
xor eax, eax
cmp esi, dword [esp + 0x24]
setb al
jmp dword [eax*4 + 0x44aec8]
mov dword [esp + 4], edx
mov edi, dword [esp + 0x64]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4275e5
mov eax, 0xffffffff
push eax
call fcn.0040c6f0
add esp, 4
mov ebx, eax
mov dword [esp + 0x60], edi
lea eax, [esp + 0x60]
push eax
push ebx
push esi
push dword [esp + 0x34]
call fcn.00443390
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44aed8]
jmp dword [0x44af58]
lea eax, [esp + 0x48]
push dword [esp + 0x28]
push 0
push 0x20019
push eax
push ebx
call fcn.00443240
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44aee0]
jmp dword [0x44af58]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x7c], 0xe945eb57
mov dword [esp + 0x80], 0xed78ef4d
mov dword [esp + 0x84], 0xd147d37d
mov dword [esp + 0x88], 0xd57cd741
mov dword [esp + 0x8c], 0xd966db40
mov dword [esp + 0x90], 0xdd71df61
mov dword [esp + 0x94], 0xc166c34e
mov dword [esp + 0x98], 0xc55fc751
mov dword [esp + 0x9c], 0xc9aacb51
mov dword [esp + 0xa0], 0xcd65cf7b
mov dword [esp + 0xa4], 0x31a73359
mov dword [esp + 0xa8], 0x359f3797
mov dword [esp + 0xac], 0x39a83b9b
mov dword [esp + 0xb0], 0x3d5e3f91
mov dword [esp + 0xb4], 0x21b92389
mov dword [esp + 0xb8], 0x25b32786
mov dword [esp + 0xbc], 0x29bf2bbb
mov dword [esp + 0xc0], 0x2d852fbc
mov dword [esp + 0xc4], 0x11ae13bf
mov dword [esp + 0xc8], 0x158017a0
mov dword [esp + 0xcc], 0x19b01b85
mov dword [esp + 0xd0], 0x1db21fb7
mov dword [esp + 0xd4], 0x19703b7
mov dword [esp + 0xd8], 0x55907bc
mov dword [esp + 0xdc], 0x9530b51
mov dword [esp + 0xe0], 0xd4b0f53
mov dword [esp + 0xe4], 0x71387346
mov dword [esp + 0xe8], 0x75227720
mov dword [esp + 0xec], 0x792f7b23
mov dword [esp + 0xf0], 0x7d297f2f
mov dword [esp + 0xf4], 0x61c6632b
mov dword [esp + 0xf8], 0x65206735
mov dword [esp + 0xfc], 0x69326b3c
mov dword [esp + 0x100], 0x6d3e6f2f
mov dword [esp + 0x104], 0x5105533c
mov dword [esp + 0x108], 0x55025700
mov dword [esp + 0x10c], 0x590c5b12
mov dword [esp + 0x110], 0x5d045f1f
mov dword [esp + 0x114], 0x411b4306
mov dword [esp + 0x118], 0x45fa471a
lea eax, [esp + 0x11c]
mov word [esp + 0x11c], 0x4b44
mov dword [esp + 0x11e], 0
lea ecx, [esp + 0x7c]
mov edx, 0xa8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ecx]
lea edi, [edx - 0x1fbc7f00]
or edi, esi
and esi, edx
not edi
or edi, esi
mov esi, edi
and esi, 0x4c
xor edi, 0x4c
lea ebx, [edi + esi*2]
inc bl
mov byte [ecx], bl
inc ecx
dec edx
cmp edx, 2
jne 0x427840
lea edi, [esp + 0x9c2]
lea edx, [esp + 0x7c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa62]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x812d87d3
mov dword [esp + 0x80], 0x8d30832d
mov dword [esp + 0x84], 0x89338f3d
mov dword [esp + 0x88], 0x95248b39
mov dword [esp + 0x8c], 0x91329728
mov dword [esp + 0x90], 0x9d3993c9
mov dword [esp + 0x94], 0x99329f2a
mov dword [esp + 0x98], 0xe5239b29
mov dword [esp + 0x9c], 0xe186e759
mov dword [esp + 0xa0], 0xedbee3b6
mov dword [esp + 0xa4], 0xe9a3ef48
mov dword [esp + 0xa8], 0xf558eb57
mov dword [esp + 0xac], 0xf159f746
mov dword [esp + 0xb0], 0xfd4ef346
mov dword [esp + 0xb4], 0xf951ffa2
mov dword [esp + 0xb8], 0xc547fb4a
mov dword [esp + 0xbc], 0xc177c76f
mov dword [esp + 0xc0], 0xcd66c376
mov dword [esp + 0xc4], 0xc965cf95
mov dword [esp + 0xc8], 0xd566cb7e
mov dword [esp + 0xcc], 0xd16fd765
mov dword [esp + 0xd0], 0xddb2d36d
mov dword [esp + 0xd4], 0xd971df8b
mov dword [esp + 0xd8], 0x2567db65
mov dword [esp + 0xdc], 0x218f2787
mov dword [esp + 0xe0], 0x2d94238b
mov dword [esp + 0xe4], 0x294e2f85
mov dword [esp + 0xe8], 0x35952b75
mov dword [esp + 0xec], 0x318b3796
mov dword [esp + 0xf0], 0x3d8f338b
mov dword [esp + 0xf4], 0x39913f80
mov dword [esp + 0xf8], 0x59e3b8f
mov dword [esp + 0xfc], 0x1b40754
mov dword [esp + 0x100], 0xdac03b1
mov dword [esp + 0x104], 0x9ba0fa7
mov dword [esp + 0x108], 0x15b70ba7
mov dword [esp + 0x10c], 0x114717b0
mov dword [esp + 0x110], 0x1dae13af
mov dword [esp + 0x114], 0x19af1fa8
mov dword [esp + 0x118], 0x65af1ba9
mov dword [esp + 0x11c], 0x611d67c0
mov dword [esp + 0x120], 0x6d1b631d
mov dword [esp + 0x124], 0x69236f13
mov dword [esp + 0x128], 0x75246b26
mov dword [esp + 0x12c], 0x710a7704
mov dword [esp + 0x130], 0x7d0f7303
mov dword [esp + 0x134], 0x790d7f0f
mov dword [esp + 0x138], 0x45d67b0b
mov dword [esp + 0x13c], 0x41044739
mov dword [esp + 0x140], 0x4d3a4338
mov dword [esp + 0x144], 0x493e4f0f
mov dword [esp + 0x148], 0x55394b38
mov dword [esp + 0x14c], 0x512a5724
mov dword [esp + 0x150], 0x5d205312
mov dword [esp + 0x154], 0x59205f1f
mov dword [esp + 0x158], 0xa5235b26
mov dword [esp + 0x15c], 0xa102a7da
lea eax, [esp + 0x160]
mov word [esp + 0x160], 0xa3a0
mov ecx, dword [esp + 0x4c]
mov word [ecx + 4], 0
mov dword [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xa1
xor dl, byte [esp + ecx + 0x7c]
add dl, 0xdb
mov byte [esp + ecx + 0x7c], dl
inc ecx
cmp ecx, 0xec
jne 0x427b30
lea edi, [esp + 0xa64]
lea edx, [esp + 0x7c]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xb48]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xe905eb37
mov dword [esp + 0x80], 0xed18ef0d
mov dword [esp + 0x84], 0xf107f31d
mov dword [esp + 0x88], 0xf51cf701
mov dword [esp + 0x8c], 0xf926fb00
mov dword [esp + 0x90], 0xfd14ff29
mov dword [esp + 0x94], 0x816d8316
mov dword [esp + 0x98], 0x856d8765
mov dword [esp + 0x9c], 0x89bd8b58
mov dword [esp + 0xa0], 0x8dbc8fbd
mov dword [esp + 0xa4], 0x914e93bc
mov dword [esp + 0xa8], 0x956d9741
mov dword [esp + 0xac], 0x99769b60
mov dword [esp + 0xb0], 0x9d6f9f69
mov dword [esp + 0xb4], 0xa17ea371
mov dword [esp + 0xb8], 0xa550a770
mov dword [esp + 0xbc], 0xa940ab55
mov dword [esp + 0xc0], 0xad42af47
mov dword [esp + 0xc4], 0xb147b347
mov dword [esp + 0xc8], 0xb567b76c
mov dword [esp + 0xcc], 0xb94ebb4f
mov dword [esp + 0xd0], 0xbd4fbf54
mov dword [esp + 0xd4], 0x41af434d
mov dword [esp + 0xd8], 0x4579479c
mov dword [esp + 0xdc], 0x49734b71
mov dword [esp + 0xe0], 0x4d8b4f73
mov dword [esp + 0xe4], 0x51985386
mov dword [esp + 0xe8], 0x55625760
mov dword [esp + 0xec], 0x596f5b63
mov dword [esp + 0xf0], 0x5d695f6f
mov dword [esp + 0xf4], 0x6186636b
mov dword [esp + 0xf8], 0x65a06755
mov dword [esp + 0xfc], 0x69526b5c
mov dword [esp + 0x100], 0x6d5e6faf
mov dword [esp + 0x104], 0x7145735c
mov dword [esp + 0x108], 0x75427740
mov dword [esp + 0x10c], 0x794c7bb2
mov dword [esp + 0x110], 0x7d447fbf
mov dword [esp + 0x114], 0x13b0346
mov dword [esp + 0x118], 0x5da073a
lea eax, [esp + 0x11c]
mov dword [esp + 0x11c], 0xb04
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x7c]
mov esi, edx
xor esi, 0xadd45fdd
mov ebx, ecx
and ebx, 0x44
sub ebx, esi
lea esi, [ebx + 0x467c5b04]
add ebx, edi
add ebx, 0x467c5b04
not edi
or esi, edi
sub edi, esi
lea ebx, [ebx + edi*2]
mov esi, ebx
not esi
and esi, 0xc4
and ebx, 0x3b
sub ebx, esi
inc bl
mov byte [esp + edx + 0x7c], bl
inc edx
add ecx, 2
cmp edx, 0xa4
jne 0x427d40
lea edi, [esp + 0x920]
lea edx, [esp + 0x7c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x9c0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xcf57c975
mov dword [esp + 0x80], 0xc354cd6b
mov dword [esp + 0x84], 0xc751c153
mov dword [esp + 0x88], 0xbb20c557
mov dword [esp + 0x8c], 0xbf12b92c
mov dword [esp + 0x90], 0xb328bd0f
mov dword [esp + 0x94], 0xb72fb12a
mov dword [esp + 0x98], 0xab0fb513
mov dword [esp + 0x9c], 0xaf7fa904
mov dword [esp + 0xa0], 0xa370ad78
mov dword [esp + 0xa4], 0xa70aa170
mov dword [esp + 0xa8], 0x9b0fa517
mov dword [esp + 0xac], 0x9f02990c
mov dword [esp + 0xb0], 0x93019d0f
mov dword [esp + 0xb4], 0x973a910f
mov dword [esp + 0xb8], 0x8b1c9524
mov dword [esp + 0xbc], 0x8f14891b
mov dword [esp + 0xc0], 0x831e8d15
mov dword [esp + 0xc4], 0x87118125
mov dword [esp + 0xc8], 0x7bc98528
mov dword [esp + 0xcc], 0x7fea79ed
mov dword [esp + 0xd0], 0x73e17de0
mov dword [esp + 0xd4], 0x77e971e3
mov dword [esp + 0xd8], 0x6ba375d8
mov dword [esp + 0xdc], 0x6fa569bf
mov dword [esp + 0xe0], 0x63a56db9
mov dword [esp + 0xe4], 0x67dc61da
mov dword [esp + 0xe8], 0x5b8e65b4
mov dword [esp + 0xec], 0x5f895989
mov dword [esp + 0xf0], 0x53835d8d
mov dword [esp + 0xf4], 0x57f25181
mov dword [esp + 0xf8], 0x4b8c5583
mov dword [esp + 0xfc], 0x4f864980
mov dword [esp + 0x100], 0x43924d8d
mov dword [esp + 0x104], 0x47974190
mov dword [esp + 0x108], 0x3bee4594
mov dword [esp + 0x10c], 0x3fe839fe
mov dword [esp + 0x110], 0x33f83dfd
mov dword [esp + 0x114], 0x37fd31fa
mov dword [esp + 0x118], 0x2b8635fe
lea eax, [esp + 0x11c]
mov word [esp + 0x11c], 0x2928
mov word [ebp + 4], 0
mov dword [ebp], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi + 0x7c]
mov esi, edi
and esi, 0x4e
xor esi, 0xb696e34e
mov ecx, edi
and ecx, 0xb1
sub ecx, esi
mov esi, edx
and esi, ecx
add esi, esi
sub ecx, esi
add cl, dl
add cl, 0x86
mov byte [esp + edi + 0x7c], cl
inc edi
cmp edi, 0xa8
jne 0x427f90
lea edi, [esp + 0x87e]
lea edx, [esp + 0x7c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x91e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xc3abc18d
mov dword [esp + 0x80], 0xc754c5a7
mov dword [esp + 0x84], 0xcb59c9a7
mov dword [esp + 0x88], 0xcfa8cda3
mov dword [esp + 0x8c], 0xf38ef164
mov dword [esp + 0x90], 0xf790f5bb
mov dword [esp + 0x94], 0xfb93f99e
mov dword [esp + 0x98], 0xff9bfd9f
mov dword [esp + 0x9c], 0xe3b3e19c
mov dword [esp + 0xa0], 0xe7c8e5b1
mov dword [esp + 0xa4], 0xeb96e9b8
mov dword [esp + 0xa8], 0xef7beda3
mov dword [esp + 0xac], 0x137e1184
mov dword [esp + 0xb0], 0x1779157b
mov dword [esp + 0xb4], 0x1b661973
mov dword [esp + 0xb8], 0x1f8c1d6c
mov dword [esp + 0xbc], 0x364016f
mov dword [esp + 0xc0], 0x76a056d
mov dword [esp + 0xc4], 0xb99096d
mov dword [esp + 0xc8], 0xf410d70
mov dword [esp + 0xcc], 0x33a631a5
mov dword [esp + 0xd0], 0x37593558
mov dword [esp + 0xd4], 0x3b513957
mov dword [esp + 0xd8], 0x3f673d40
mov dword [esp + 0xdc], 0x23752173
mov dword [esp + 0xe0], 0x27652571
mov dword [esp + 0xe4], 0x2b6c296e
mov dword [esp + 0xe8], 0x2f7a2d7c
mov dword [esp + 0xec], 0x53015101
mov dword [esp + 0xf0], 0x57075505
mov dword [esp + 0xf4], 0x5b3e5909
mov dword [esp + 0xf8], 0x5f1c5d0f
mov dword [esp + 0xfc], 0x431a4118
mov dword [esp + 0x100], 0x47164505
mov dword [esp + 0x104], 0x4b1b4918
mov dword [esp + 0x108], 0x4f1a4d1c
mov dword [esp + 0x10c], 0x73207132
mov dword [esp + 0x110], 0x77207535
mov dword [esp + 0x114], 0x7b2d792e
mov dword [esp + 0x118], 0x7f027d2a
lea eax, [esp + 0x11c]
mov word [esp + 0x11c], 0x6160
mov ecx, dword [esp + 4]
mov byte [ecx + 4], 0
mov dword [ecx], 0
xor ecx, ecx
mov ebp, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x7c]
lea edx, [ecx + 0x10]
mov esi, edi
not esi
mov ebx, 0x2f
sub ebx, ecx
or esi, ebx
add esi, ecx
add esi, 0xd1
and ebx, 0xd0
and edx, 0x2f
or edx, ebx
xor edx, 0x2f
and edx, edi
or edx, esi
add dl, 0xf0
mov byte [esp + ecx + 0x7c], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0xa7
jb case.default.0x42827c
lea edx, [esp + 0xb4a]
lea esi, [esp + 0x7c]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xbea]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0x9c2]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xa64]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x920]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x87e]
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 + 0x44aee8]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x7c], 0xb08f8e8d
mov ecx, 0x1d
mov edx, 0x22
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x22
mov ebx, ecx
and ebx, 0x1d
or ebx, esi
xor bl, byte [esp + ecx + 0x5f]
xor bl, 0x62
add bl, 0x2f
mov byte [esp + ecx + 0x5f], bl
inc ecx
dec edx
cmp ecx, 0x21
jne 0x4282b0
mov ecx, dword [0x44f6fc]
test ecx, ecx
mov esi, dword [esp + 0x50]
mov dword [esp], ebp
je 0x428a40
mov edx, dword [esp + 0x7c]
xor edi, edi
mov ebx, dword [0x44f700]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x428a34
inc edi
cmp ecx, edi
jne 0x428300
jmp 0x428a40
mov ecx, dword [esp + 0x58]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44aee8]
mov dword [esp], ebp
mov dword [esp + 0x58], ecx
mov eax, dword [esp + ecx + 0x68]
mov dword [esp + 0x7c], 0x13421140
mov dword [esp + 0x80], 0x1f4e1d4c
mov dword [esp + 0x84], 0x1b4a1948
mov dword [esp + 0x88], 0x77e0554
mov word [esp + 0x8c], 0x100
mov dword [esp + 0x8e], 0
mov ecx, 0x3938a184
mov edx, 0xc6c75e7b
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x3938a108]
mov edi, edx
and edi, 0xc246186d
mov ebx, ecx
and ebx, 0x28308192
or ebx, edi
xor ebx, esi
mov ebp, ebx
xor ebp, 0xd34e386d
mov edi, ebx
mov esi, ebp
xor ebx, 0x32aae006
add ebx, ebp
and ebp, 0xe064986b
and edi, 0xe064986b
xor edi, 0xc1441869
or edi, ebp
and esi, 0x1a1a2194
sub ebx, esi
add ebx, edi
mov esi, ebx
xor esi, 0x93
and ebx, 0x6c
add ebx, ebx
sub ebx, esi
add bl, 0x94
mov byte [esp + ecx - 0x3938a108], bl
inc ecx
dec edx
cmp ecx, 0x3938a19a
jne 0x428390
movzx ecx, word [eax]
lea esi, [esp + 0xfec]
test cx, cx
je 0x428431
add eax, 2
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 0x428420
mov word [esi], 0
movzx eax, word [esp + 0x7c]
test ax, ax
mov ebp, dword [esp]
je 0x428461
mov ecx, dword [esp + 0x54]
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 0x428450
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x30], esi
jmp dword [eax*4 + 0x44aef0]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x44aef0]
mov word [esi - 2], di
lea eax, [esp + 0x20]
lea ecx, [esp + 0xfec]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
push ecx
call fcn.00443240
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44aef8]
mov dword [esp], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], 0x800
mov dword [esp + 0x1c], 0x400
mov dword [esp + 0x3c], 0
xor ebp, ebp
lea ebx, [esp + 0x7c]
jmp dword [0x44af00]
lea eax, [esp + 0x1c]
lea edi, [esp + 0xbec]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x44]
push eax
push edi
push ecx
push edx
push ebx
push ebp
push dword [esp + 0x38]
call fcn.004439f0
add esp, 0x1c
jmp dword [0x44af0c]
mov dword [esp + 4], ebp
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44af10]
test byte [esp + 0x3c], 1
sete al
mov edx, dword [esp + 0x40]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44af18]
xor eax, eax
cmp edx, 3
sete al
mov ebp, dword [esp]
jmp dword [eax*4 + 0x44af38]
mov dword [esp], ebp
mov ebp, dword [esp + 4]
inc ebp
lea ebx, [esp + 0x7c]
jmp dword [0x44af00]
mov dword [esp + 0x5c], edx
mov dword [esp + 8], 0xb7d989c9
mov dword [esp + 0xc], 0xb321b5db
mov dword [esp + 0x10], 0xbf2cb12d
mov dword [esp + 0x14], 0xbbbabd20
mov ecx, 0x24b3291e
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx - 0x24b32916]
xor eax, ecx
add eax, 0x48803269
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov byte [esp + ecx - 0x24b32916], al
inc ecx
cmp ecx, 0x24b3292e
jne 0x4285a0
movzx ebx, word [esp + 8]
lea esi, [esp + 0x7c]
test bx, bx
je 0x42861d
lea ecx, [esp + 0x7c]
lea ebp, [esp + 8]
mov esi, ecx
jmp 0x4285f9
movzx ebx, word [ebp]
test bx, bx
je 0x42861d
movzx eax, word [ecx]
test ax, ax
je 0x42861b
add ecx, 2
add ebp, 2
lea edx, [esi + 2]
cmp ax, bx
je 0x428613
mov esi, edx
mov ecx, edx
je 0x4285f0
lea ebp, [esp + 8]
jmp 0x4285f0
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44af20]
xor eax, eax
cmp dword [esp + 0x5c], 3
sete al
mov ebp, dword [esp]
jmp dword [eax*4 + 0x44af38]
jmp dword [0x44af44]
mov dword [esp + 8], 0x99f59bcc
mov dword [esp + 0xc], 0xa5dba7e5
mov dword [esp + 0x10], 0xa1d3a3dd
mov dword [esp + 0x14], 0xadc2afde
mov dword [esp + 0x18], 0xabac
mov eax, 0x5049aa1b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5049aa13]
xor ecx, eax
mov esi, 2
sub esi, ecx
sub esi, ecx
not esi
and esi, 2
mov edx, esi
and edx, ecx
xor ecx, 1
add ecx, 0x78
xor ecx, esi
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x5049aa13], cl
inc eax
cmp eax, 0x5049aa2f
jne 0x428680
jmp case.0x428a2d.21
lea eax, [esp + 0x7c]
jmp dword [0x44af4c]
mov dword [esp + 8], 0x99f59bcc
mov dword [esp + 0xc], 0xa5dba7e5
mov dword [esp + 0x10], 0xa1d3a3dd
mov dword [esp + 0x14], 0xadc2afde
mov dword [esp + 0x18], 0xabac
mov eax, 0x5049aa1b
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5049aa13]
xor ecx, eax
mov esi, 2
sub esi, ecx
sub esi, ecx
not esi
and esi, 2
mov edx, esi
and edx, ecx
xor ecx, 1
add ecx, 0x78
xor ecx, esi
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x5049aa13], cl
inc eax
cmp eax, 0x5049aa2f
jne 0x428700
movzx edi, word [esp + 8]
test di, di
je 0x4286c0
lea ecx, [esp + 0x7c]
lea edx, [esp + 8]
mov eax, ecx
jmp 0x428758
movzx edi, word [edx]
test di, di
je 0x428790
movzx ebx, word [ecx]
test bx, bx
je 0x428780
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x428772
mov eax, esi
mov ecx, esi
je 0x428750
lea edx, [esp + 8]
jmp 0x428750
xor eax, eax
jmp dword [0x44af4c]
jmp dword [0x44af4c]
mov dword [esp], ebp
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44af50]
mov ebp, dword [esp + 4]
inc ebp
lea ebx, [esp + 0x7c]
jmp dword [0x44af00]
mov edx, dword [esp + 0x1c]
cmp edx, 2
mov ebp, dword [esp]
jb 0x42886d
mov ecx, edx
shr ecx, 1
test dl, 2
jne 0x428810
mov eax, ecx
cmp ecx, 1
jne 0x428840
jmp 0x42886d
mov ebx, dword [esp + 0x1c]
cmp ebx, 2
mov ebp, dword [esp + 4]
jb 0x42891f
mov edx, ebx
shr edx, 1
lea ecx, [esp + 0xbec]
test bl, 2
jne 0x4288ad
mov eax, edx
cmp edx, 1
jne 0x4288e0
jmp 0x42891f
and edx, 0xfffffffe
mov eax, ecx
not eax
add eax, edx
movzx edx, word [esp + 0xbec]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [esp + ebx*2]
add edi, 0xbec
mov word [ebp], dx
add ebp, 2
cmp ecx, 1
je 0x42886d
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
add ebp, 4
add eax, 0xfffffffe
jne 0x428840
jmp dword [0x44af28]
mov word [ebp], 0x3a
nop
nop
nop
nop
nop
nop
nop
mov word [ebp], 0x3a
jmp dword [0x44af30]
mov word [ebp + 2], 0x20
add ebp, 4
mov dword [esp], ebp
mov al, 1
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 4]
inc ebp
lea ebx, [esp + 0x7c]
jmp dword [0x44af00]
and ebx, 0xfffffffe
mov eax, edx
not eax
add eax, ebx
movzx esi, word [esp + 0xbec]
xor ecx, ecx
test si, si
setne cl
lea ecx, [esp + ecx*2]
add ecx, 0xbec
mov edi, dword [esp]
mov word [edi], si
add edi, 2
mov dword [esp], edi
cmp edx, 1
je 0x42891f
mov edi, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [edi], dx
movzx edx, word [ecx + ebx*2]
xor ecx, ecx
test dx, dx
setne cl
lea ecx, [esi + ecx*2]
mov word [edi + 2], dx
add edi, 4
add eax, 0xfffffffe
jne 0x4288f0
mov dword [esp], edi
mov eax, dword [esp]
mov word [eax], 0xa
add eax, 2
mov dword [esp], eax
mov al, 1
mov dword [esp + 0x38], eax
inc ebp
lea ebx, [esp + 0x7c]
jmp dword [0x44af00]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xbec]
lea edx, [esp + 0x40]
lea esi, [esp + 0x44]
push eax
push ecx
push edx
push esi
push ebx
push ebp
push dword [esp + 0x38]
call fcn.004439f0
add esp, 0x1c
jmp case.0x42827c.6
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0xb08f8e8d
mov ecx, 0x1d
mov edx, 0x22
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x22
mov ebx, ecx
and ebx, 0x1d
or ebx, esi
xor bl, byte [esp + ecx - 0x15]
xor bl, 0x62
add bl, 0x2f
mov byte [esp + ecx - 0x15], bl
inc ecx
dec edx
cmp ecx, 0x21
jne 0x428990
mov ecx, dword [0x44f6fc]
test ecx, ecx
mov ebp, dword [esp]
je 0x4289f0
mov edx, dword [esp + 8]
xor edi, edi
mov ebx, dword [0x44f700]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x4289e0
inc edi
cmp ecx, edi
jne 0x4289d0
jmp 0x4289f0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x428a02
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x34]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x30]
jmp dword [eax*4 + 0x44aef0]
push eax
push 1
push dword [0x44f704]
push ecx
call fcn.0043f170
add esp, 0x10
mov edi, dword [esp + 0x34]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x30]
jmp dword [eax*4 + 0x44aef0]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x428a72
nop
nop
nop
nop
mov ebx, dword [esp + 0x2c]
jmp dword [0x44af58]
push ebx
call fcn.0040c700
add esp, 4
inc esi
lea edx, [esp + 0x11e]
lea ebp, [esp + 0x11e]
xor eax, eax
cmp esi, dword [esp + 0x24]
setb al
jmp dword [eax*4 + 0x44aec8]
push eax
push 1
push dword [0x44f704]
push ecx
call fcn.0043f170
add esp, 0x10
mov ebx, dword [esp + 0x2c]
jmp dword [0x44af58]
jmp dword [0x44af6c]
movzx edi, word [esp + 0x11ec]
test di, di
je 0x428af0
lea eax, [esp + 0x11ee]
xor esi, esi
mov ecx, edi
jmp 0x428abc
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x428a90
cmp cx, 0x7f
jbe 0x428ab0
movzx edx, cx
cmp edx, 0x7ff
ja 0x428ae0
add esi, 2
jmp 0x428ab1
cmp cx, 0xffff
je 0x428ab1
add esi, 3
jmp 0x428ab1
xor esi, esi
jmp dword [0x44af6c]
lea ebx, [esi + 1]
mov ebp, dword [case.0x428a2d.35]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.0040c6f0
add esp, 4
jmp ebp
mov dword [esp], eax
test di, di
je 0x428c58
mov eax, dword [esp]
test esi, esi
je 0x428c58
lea ebx, [esp + 0x11ec]
mov edx, esi
mov eax, dword [esp]
nop
nop
movzx ecx, di
lea edi, [ebx + 2]
cmp cx, 0x7f
ja 0x428b60
lea ebp, [eax + 1]
mov byte [eax], cl
jmp 0x428c00
cmp ecx, 0x7ff
ja 0x428b90
cmp edx, 2
jb 0x428b90
mov ebx, ecx
shr ebx, 6
add bl, 0xc0
mov byte [eax], bl
mov ebx, ecx
xor ebx, 0xc0
or ecx, 0x3f
and ecx, ebx
add cl, 0x80
lea ebp, [eax + 2]
mov byte [eax + 1], cl
jmp 0x428c00
mov ebp, ecx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x428c1a
cmp edx, 4
jb 0x428c1a
movzx ebp, word [ebx + 2]
add ebx, 4
shl ecx, 0xa
lea edi, [ecx + ebp]
add edi, 0xfca02400
mov ecx, edi
shr ecx, 0x12
add cl, 0xf0
mov byte [eax], cl
mov ecx, edi
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [eax + 1], cl
shr edi, 6
mov ecx, edi
not ecx
or ecx, 0x3f
add ecx, edi
add cl, 0x81
mov byte [eax + 2], cl
mov ecx, ebp
and cl, 0x3f
or cl, 0x80
lea ebp, [eax + 4]
mov byte [eax + 3], cl
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edx, eax
sub edx, ebp
mov ebx, edi
mov eax, ebp
movzx edi, word [ebx]
test di, di
je 0x428c58
test edx, edx
jne 0x428b40
jmp 0x428c58
movzx ebx, bp
cmp ebx, 0xdc00
jne 0x428c29
mov ebx, edi
jmp 0x428c08
cmp edx, 3
jb 0x428c54
mov ebx, ecx
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
mov ebx, ecx
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and cl, 0x3f
or cl, 0x80
lea ebp, [eax + 3]
mov byte [eax + 2], cl
jmp 0x428c00
mov ebp, eax
jmp 0x428c00
mov byte [eax], 0
mov dword [esp + 0x7c], 0xc5fafba3
mov dword [esp + 0x80], 0xf9c9cac7
mov dword [esp + 0x84], 0xc4c0c2c3
mov dword [esp + 0x88], 0xc1cde681
mov dword [esp + 0x8c], 0xf4cbcaf8
mov dword [esp + 0x90], 0xccc8ef89
mov dword [esp + 0x94], 0xeaeeecf6
mov dword [esp + 0x98], 0xddd295d5
mov word [esp + 0x9c], 0x4bd0
mov dword [esp + 0x9e], 0
mov edi, 0xf46c8417
mov edx, 0xb937be8
mov ecx, dword [esp + 0x2200]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi + 0xb937c65]
mov ebx, edi
and ebx, eax
add ebx, ebx
sub ebx, eax
add ebx, edx
and ebx, edi
add bl, bl
sub al, bl
movzx eax, al
add eax, edi
add al, 0x8d
mov byte [esp + edi + 0xb937c65], al
inc edi
dec edx
cmp edi, 0xf46c843d
jne 0x428ce0
lea eax, [esp + 0x7c]
push esi
mov edx, dword [esp + 4]
mov esi, edx
push edx
push eax
call fcn.0040d2e0
mov ecx, eax
jmp dword [0x44af90]
push esi
mov esi, ecx
call fcn.0040c700
mov ecx, esi
add esp, 4
and cl, 1
mov eax, dword [case.0x4274ff.0]
nop
jmp eax
mov eax, ecx
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
jne 0x44aeed
add byte [edx - 0x73], al
inc edx
add byte [esi*2 + 0x753b0042], dh
inc edx
add byte [eax + 0x75], dl
inc edx
add byte [eax + 0x75], dl
inc edx
add byte [eax + 0x75], dl
inc edx
add byte [edx + 0x75], dl
inc edx
add byte [edi - 0x30ffbd8b], cl
jne 0x44af11
add byte [edi], dh
lea eax, [edx]
xchg esi, eax
mov al, byte [edx]
adc esi, dword [esi + 0x42]
add byte [eax], ah
jbe 0x44af21
add byte [ebp + 0x76], al
inc edx
add byte [eax + 0x76], dl
inc edx
add byte [eax + 0x36004282], dl
add byte [edx], 0x36
add byte [edx], 0x36
add dword [edx], 0x20
add dword [edx], 0xffffff91
test byte [edx], al
add byte [edx + eax*2 + 0x4284c100], 0
invalid
mov dword [edx], eax
sub eax, dword [ebp - 0x7ab6ffbe]
inc edx
add byte [eax - 0x7b], dh
inc edx
add byte [ebx], ch
xchg byte [edx], al
mov dh, 0x87
inc edx
add byte [eax + 0x73004288], al
mov byte [edx], al
mov word [eax - 0x777fffbe], cs
inc edx
add byte [ebx - 0x7b], bl
inc edx
add byte [edi], bh
xchg byte [edx], al
inc ebp
xchg byte [edx], al
retf 0x4286