Function at 0x4235b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21f8
call fcn.0040c3d0
mov dword [esp + 0x11f8], 0x89248b28
mov dword [esp + 0x11fc], 0x855f8753
mov dword [esp + 0x1200], 0x812f8353
mov dword [esp + 0x1204], 0x9d309f2c
mov dword [esp + 0x1208], 0x993e9b3b
mov dword [esp + 0x120c], 0x953b9733
mov dword [esp + 0x1210], 0x913c934f
mov dword [esp + 0x1214], 0x6f90
mov byte [esp + 0x1218], 0
mov dword [esp + 0xa88], 0
mov eax, dword [esp + 0xa88]
cmp eax, 0x20
ja 0x4236c5
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa88]
mov ecx, dword [esp + 0xa88]
movzx edx, byte [esp + ecx + 0x11f8]
mov ecx, eax
xor ecx, 0x4e861463
and eax, 0xce861463
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edx, eax
xor edx, ecx
mov esi, ecx
not esi
and eax, esi
add eax, eax
sub eax, edx
mov edx, eax
not edx
and edx, ecx
and eax, esi
sub eax, edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
mov ecx, eax
xor ecx, 0xef
and eax, 0x10
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xa88]
mov byte [esp + ecx + 0x11f8], al
inc dword [esp + 0xa88]
mov eax, dword [esp + 0xa88]
cmp eax, 0x21
jb 0x423640
lea eax, [esp + 0x44]
lea ecx, [esp + 0x11f8]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x18], ecx
push ecx
call fcn.00442540
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x449b60]
jmp dword [0x449b68]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x50]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x64]
call fcn.004429d0
add esp, 0x24
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x68]
lea ecx, [esp + 0x50]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x64]
call fcn.004429d0
add esp, 0x24
jmp dword [0x449b70]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b78]
xor eax, eax
jmp 0x4260ec
mov eax, dword [case.0x4236ea.10]
jmp eax
xor ecx, ecx
lea eax, [esp + 0x8a]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x2a]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x9a]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x12a]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x34], 0
cmp ecx, dword [esp + 0x50]
lea ecx, [esp + 0x12a]
mov dword [esp + 0x10], ecx
setb al
mov dword [esp + 4], ecx
xor esi, esi
jmp dword [eax*4 + 0x449b90]
mov edx, dword [esp + 8]
mov word [edx], 0
mov eax, dword [esp + 0x34]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x449b98]
movzx ecx, word [esp + 0x11f8]
xor edi, edi
test cx, cx
je 0x425e98
lea eax, [esp + 0x11f8]
jmp 0x425e72
mov edi, dword [esp + 0x68]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x423831
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x84], edi
mov edi, eax
lea eax, [esp + 0x84]
push eax
push edi
push esi
push dword [esp + 0x50]
call fcn.00442690
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449ba0]
jmp dword [0x449c30]
lea eax, [esp + 0x64]
push dword [esp + 0x44]
push 0
push 0x20019
push eax
push edi
call fcn.00442540
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449ba8]
jmp dword [0x449c30]
mov dword [esp + 0x54], edi
mov dword [esp + 0x80], esi
jmp dword [0x449bb0]
mov dword [esp + 0x88], 0xf36bf105
mov dword [esp + 0x8c], 0xef7ced0f
mov dword [esp + 0x90], 0xeb79e97f
mov dword [esp + 0x94], 0xe778e573
mov dword [esp + 0x98], 0xe306e16c
mov dword [esp + 0x9c], 0x9f079d73
mov dword [esp + 0xa0], 0x9b06990e
mov dword [esp + 0xa4], 0x97199503
mov dword [esp + 0xa8], 0x93b29103
mov dword [esp + 0xac], 0x8f138d79
mov dword [esp + 0xb0], 0x8b19891b
mov dword [esp + 0xb4], 0x87198565
mov dword [esp + 0xb8], 0x83148119
mov dword [esp + 0xbc], 0xbf9ebd23
mov dword [esp + 0xc0], 0xbb37b94b
mov dword [esp + 0xc4], 0xb725b556
mov dword [esp + 0xc8], 0xb321b139
mov dword [esp + 0xcc], 0xaf33ad20
mov dword [esp + 0xd0], 0xab4ea93d
mov dword [esp + 0xd4], 0xa734a554
mov dword [esp + 0xd8], 0xa33ca137
mov dword [esp + 0xdc], 0x5fca5dc5
mov dword [esp + 0xe0], 0x5bc959c5
mov dword [esp + 0xe4], 0x579f55b0
mov dword [esp + 0xe8], 0x539d5183
mov dword [esp + 0xec], 0x4f8d4d81
mov dword [esp + 0xf0], 0x4bb449b6
mov dword [esp + 0xf4], 0x478a4594
mov dword [esp + 0xf8], 0x43914191
mov dword [esp + 0xfc], 0x7faf7dad
mov dword [esp + 0x100], 0x7be679a9
mov dword [esp + 0x104], 0x77b475a7
mov dword [esp + 0x108], 0x73ba71b8
mov dword [esp + 0x10c], 0x6fbe6dad
mov dword [esp + 0x110], 0x6bbb69b8
mov dword [esp + 0x114], 0x67aa65b4
mov dword [esp + 0x118], 0x63b061a2
mov dword [esp + 0x11c], 0x1fd01ddd
mov dword [esp + 0x120], 0x1bd519d6
mov dword [esp + 0x124], 0x17f215da
lea eax, [esp + 0x128]
mov word [esp + 0x128], 0x1110
mov ecx, dword [esp + 4]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa6
ja 0x423b2e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx esi, byte [esp + edx + 0x88]
lea edx, [ecx + esi]
add edx, 0xfcf2ba2c
add ecx, 0xfcf2ba2c
and ecx, esi
mov esi, edx
xor esi, ecx
mov edi, ecx
not edi
and edx, edi
add edx, edx
sub edx, esi
xor ecx, edx
and edx, edi
add edx, edx
sub edx, ecx
mov dword [esp + 0xa88], edx
mov ecx, dword [esp + 0xa88]
mov edx, ecx
xor edx, 0xdc
and ecx, 0x23
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa7
jb 0x423ab0
lea edi, [esp + 0xe8a]
lea edx, [esp + 0x88]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xf2a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xd9a5db97
mov dword [esp + 0x8c], 0xdda8dfbd
mov dword [esp + 0x90], 0xd1a7d3ad
mov dword [esp + 0x94], 0xd5acd7a1
mov dword [esp + 0x98], 0xe986eba0
mov dword [esp + 0x9c], 0xed91ef81
mov dword [esp + 0xa0], 0xe186e39e
mov dword [esp + 0xa4], 0xe56fe791
mov dword [esp + 0xa8], 0xf9dafb91
mov dword [esp + 0xac], 0xfdaaffaa
mov dword [esp + 0xb0], 0xf1b7f390
mov dword [esp + 0xb4], 0xf580f77b
mov dword [esp + 0xb8], 0x9710b82
mov dword [esp + 0xbc], 0xd7a0f7a
mov dword [esp + 0xc0], 0x1790366
mov dword [esp + 0xc4], 0x5730776
mov dword [esp + 0xc8], 0x196b1b7b
mov dword [esp + 0xcc], 0x1d721f6a
mov dword [esp + 0xd0], 0x116d1375
mov dword [esp + 0xd4], 0x15721762
mov dword [esp + 0xd8], 0x29a32b65
mov dword [esp + 0xdc], 0x2d0e2f5d
mov dword [esp + 0xe0], 0x2159237f
mov dword [esp + 0xe4], 0x25532755
mov dword [esp + 0xe8], 0x39433b43
mov dword [esp + 0xec], 0x3d4c3f47
mov dword [esp + 0xf0], 0x31123345
mov dword [esp + 0xf4], 0x35bd3765
mov dword [esp + 0xf8], 0x493f4b52
mov dword [esp + 0xfc], 0x4d3b4fc7
mov dword [esp + 0x100], 0x41394338
mov dword [esp + 0x104], 0x452a4733
mov dword [esp + 0x108], 0x592c5b14
mov dword [esp + 0x10c], 0x5d245f29
mov dword [esp + 0x110], 0x512e5323
mov dword [esp + 0x114], 0x5523572b
mov dword [esp + 0x118], 0x693b6b38
mov dword [esp + 0x11c], 0x6d1a6fe3
mov dword [esp + 0x120], 0x61136310
mov dword [esp + 0x124], 0x651b6711
mov dword [esp + 0x128], 0x79357b08
mov dword [esp + 0x12c], 0x7d377f4d
mov dword [esp + 0x130], 0x71377337
mov dword [esp + 0x134], 0x752c772a
mov dword [esp + 0x138], 0x89be8b44
mov dword [esp + 0x13c], 0x8dbb8fbf
mov dword [esp + 0x140], 0x81b583bb
mov dword [esp + 0x144], 0x85e287b7
mov dword [esp + 0x148], 0x99dc9bb1
mov dword [esp + 0x14c], 0x9dd69fd0
mov dword [esp + 0x150], 0x91a293db
mov dword [esp + 0x154], 0x95a197a0
mov dword [esp + 0x158], 0xa99eaba4
mov dword [esp + 0x15c], 0xad98afee
mov dword [esp + 0x160], 0xa1e8a3eb
mov dword [esp + 0x164], 0xa5efa7ea
mov dword [esp + 0x168], 0xb9d6bbee
lea eax, [esp + 0x16c]
mov word [esp + 0x16c], 0xbfb8
mov dword [esp + 0x16e], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0xe9
ja 0x423e6e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
mov esi, ecx
xor esi, 0xc7694fcf
and ecx, 0xc7694fcf
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xa88], ecx
mov ecx, dword [esp + 0xa88]
add cl, 0xf5
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xea
jb 0x423e10
lea edi, [esp + 0xf2c]
lea edx, [esp + 0x88]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x1010]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x4fd749b5
mov dword [esp + 0x8c], 0x43d44dab
mov dword [esp + 0x90], 0x47d141d3
mov dword [esp + 0x94], 0x7be045d7
mov dword [esp + 0x98], 0x7f9279ec
mov dword [esp + 0x9c], 0x73e87d8f
mov dword [esp + 0xa0], 0x77ef71ea
mov dword [esp + 0xa4], 0x6b8f7593
mov dword [esp + 0xa8], 0x6fbf6984
mov dword [esp + 0xac], 0x63b06dbb
mov dword [esp + 0xb0], 0x678a61b0
mov dword [esp + 0xb4], 0x1b8f6597
mov dword [esp + 0xb8], 0x1f82198c
mov dword [esp + 0xbc], 0x13811d8f
mov dword [esp + 0xc0], 0x17fa118f
mov dword [esp + 0xc4], 0xb9c15e4
mov dword [esp + 0xc8], 0xf94099b
mov dword [esp + 0xcc], 0x39e0d95
mov dword [esp + 0xd0], 0x79101e5
mov dword [esp + 0xd4], 0x3bc905e8
mov dword [esp + 0xd8], 0x3faa39ad
mov dword [esp + 0xdc], 0x33a13da0
mov dword [esp + 0xe0], 0x37a931a3
mov dword [esp + 0xe4], 0x2be335d8
mov dword [esp + 0xe8], 0x2fe529ff
mov dword [esp + 0xec], 0x23e52df9
mov dword [esp + 0xf0], 0x27dc21da
mov dword [esp + 0xf4], 0xdb0e25f4
mov dword [esp + 0xf8], 0xdf09d909
mov dword [esp + 0xfc], 0xd303dd0d
mov dword [esp + 0x100], 0xd732d101
mov dword [esp + 0x104], 0xcb0cd503
mov dword [esp + 0x108], 0xcf06c900
mov dword [esp + 0x10c], 0xc312cd0d
mov dword [esp + 0x110], 0xc717c110
mov dword [esp + 0x114], 0xfb2ec514
mov dword [esp + 0x118], 0xff28f93e
mov dword [esp + 0x11c], 0xf338fd3d
mov dword [esp + 0x120], 0xf73df13a
mov dword [esp + 0x124], 0xeb06f53e
lea eax, [esp + 0x128]
mov word [esp + 0x128], 0xe9e8
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa5
ja 0x4240f5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
mov esi, ecx
xor esi, 0xd019e592
and ecx, 0xd019e592
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xa88], esi
mov ecx, dword [esp + 0xa88]
add cl, 0x26
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa6
jb 0x424090
lea edi, [esp + 0x1156]
lea edx, [esp + 0x88]
mov ebp, edi
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x11f6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x71c57fa3
mov dword [esp + 0x8c], 0x75c073d5
mov dword [esp + 0x90], 0x49c377c5
mov dword [esp + 0x94], 0x4dec4bf9
mov dword [esp + 0x98], 0x41e24ff8
mov dword [esp + 0x9c], 0x45e44391
mov dword [esp + 0xa0], 0x59fd47e2
mov dword [esp + 0xa4], 0x5dfd5bfd
mov dword [esp + 0xa8], 0x51ad5ff0
mov dword [esp + 0xac], 0x55ac53a4
mov dword [esp + 0xb0], 0x29fa57a4
mov dword [esp + 0xb4], 0x2d9d2bf9
mov dword [esp + 0xb8], 0x21922f98
mov dword [esp + 0xbc], 0x25932391
mov dword [esp + 0xc0], 0x398a2799
mov dword [esp + 0xc4], 0x3d883be8
mov dword [esp + 0xc8], 0x31983f8d
mov dword [esp + 0xcc], 0x358e338b
mov dword [esp + 0xd0], 0x9833793
mov dword [esp + 0xd4], 0xddb0ba4
mov dword [esp + 0xd8], 0x1ba0fbb
mov dword [esp + 0xdc], 0x5b303bc
mov dword [esp + 0xe0], 0x19bb07b5
mov dword [esp + 0xe4], 0x1dd11bb4
mov dword [esp + 0xe8], 0x11d71fe9
mov dword [esp + 0xec], 0x15d713e7
mov dword [esp + 0xf0], 0xe9d017d2
mov dword [esp + 0xf4], 0xed1eeb18
mov dword [esp + 0xf8], 0xe11bef1f
mov dword [esp + 0xfc], 0xe511e313
mov dword [esp + 0x100], 0xf942e717
mov dword [esp + 0x104], 0xfd38fb0d
mov dword [esp + 0x108], 0xf136ff34
mov dword [esp + 0x10c], 0xf502f333
mov dword [esp + 0x110], 0xc905f704
mov dword [esp + 0x114], 0xcd3ecb38
mov dword [esp + 0x118], 0xc13ccf0e
mov dword [esp + 0x11c], 0xc534c303
mov dword [esp + 0x120], 0xd90fc732
mov dword [esp + 0x124], 0xdd76db2e
lea eax, [esp + 0x128]
mov word [esp + 0x128], 0xdfdc
mov ecx, dword [esp + 0x10]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa7
ja 0x424373
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
add ecx, 0xff6d2095
xor ecx, edx
mov dword [esp + 0xa88], ecx
mov ecx, dword [esp + 0xa88]
add cl, 0x17
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa8
jb 0x424320
lea edx, [esp + 0x10b4]
lea esi, [esp + 0x88]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x1154]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x63fb61dd
mov dword [esp + 0x8c], 0x67f465c7
mov dword [esp + 0x90], 0x5bc959c7
mov dword [esp + 0x94], 0x5ff85dc3
mov dword [esp + 0x98], 0x53fe51c4
mov dword [esp + 0x9c], 0x57f055eb
mov dword [esp + 0xa0], 0x4bd349ee
mov dword [esp + 0xa4], 0x4feb4def
mov dword [esp + 0xa8], 0x439341ec
mov dword [esp + 0xac], 0x47984591
mov dword [esp + 0xb0], 0x3b9639e8
mov dword [esp + 0xb4], 0x3fab3d83
mov dword [esp + 0xb8], 0x33ae31a4
mov dword [esp + 0xbc], 0x37a935ab
mov dword [esp + 0xc0], 0x2b8629b3
mov dword [esp + 0xc4], 0x2fbc2d9c
mov dword [esp + 0xc8], 0x238421bf
mov dword [esp + 0xcc], 0x27ba25bd
mov dword [esp + 0xd0], 0x1b8919bd
mov dword [esp + 0xd4], 0x1fa11db0
mov dword [esp + 0xd8], 0x13861185
mov dword [esp + 0xdc], 0x17891588
mov dword [esp + 0xe0], 0xb910997
mov dword [esp + 0xe4], 0xfc70da0
mov dword [esp + 0xe8], 0x3d501d3
mov dword [esp + 0xec], 0x7c505d1
mov dword [esp + 0xf0], 0xfb3cf93e
mov dword [esp + 0xf4], 0xff2afd2c
mov dword [esp + 0xf8], 0xf321f121
mov dword [esp + 0xfc], 0xf727f525
mov dword [esp + 0x100], 0xeb4ee939
mov dword [esp + 0x104], 0xef2ced3f
mov dword [esp + 0x108], 0xe32ae128
mov dword [esp + 0x10c], 0xe736e525
mov dword [esp + 0x110], 0xdb0bd908
mov dword [esp + 0x114], 0xdf0add0c
mov dword [esp + 0x118], 0xd300d112
mov dword [esp + 0x11c], 0xd700d515
mov dword [esp + 0x120], 0xcb1dc91e
mov dword [esp + 0x124], 0xcf62cd1a
lea ebx, [esp + 0x128]
mov word [esp + 0x128], 0xc1c0
mov eax, dword [esp + 0x14]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa4
ja 0x424626
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov eax, dword [esp + 0x888]
movzx eax, byte [esp + eax + 0x88]
mov esi, ecx
xor esi, 0x8136d198
mov edi, ecx
xor edi, 0x7ec92e67
or ecx, 0x136d198
and ecx, edi
lea ecx, [esi + ecx*2]
lea esi, [ecx + eax]
mov edi, eax
not edi
or edi, ecx
lea ecx, [eax + edi]
add eax, edi
inc eax
mov edi, eax
xor edi, esi
not eax
and eax, esi
add eax, eax
add ecx, edi
inc ecx
sub eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 8
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa5
jb 0x4245a0
lea eax, [esp + 0x1012]
lea esi, [esp + 0x88]
mov edi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x10b2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xe8a]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0xf2c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
jmp case.0x4236ea.20
lea ebx, [esp + 0x128]
lea eax, [esp + 0x1012]
lea esi, [esp + 0x88]
mov edi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x10b2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xe8a]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0xf2c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
jmp dword [0x449bb8]
mov dword [esp + 0x88], 0xf36bf105
mov dword [esp + 0x8c], 0xef7ced0f
mov dword [esp + 0x90], 0xeb79e97f
mov dword [esp + 0x94], 0xe778e573
mov dword [esp + 0x98], 0xe306e16c
mov dword [esp + 0x9c], 0x9f079d73
mov dword [esp + 0xa0], 0x9b06990e
mov dword [esp + 0xa4], 0x97199503
mov dword [esp + 0xa8], 0x93b29103
mov dword [esp + 0xac], 0x8f138d79
mov dword [esp + 0xb0], 0x8b19891b
mov dword [esp + 0xb4], 0x87198565
mov dword [esp + 0xb8], 0x83148119
mov dword [esp + 0xbc], 0xbf9ebd23
mov dword [esp + 0xc0], 0xbb37b94b
mov dword [esp + 0xc4], 0xb725b556
mov dword [esp + 0xc8], 0xb321b139
mov dword [esp + 0xcc], 0xaf33ad20
mov dword [esp + 0xd0], 0xab4ea93d
mov dword [esp + 0xd4], 0xa734a554
mov dword [esp + 0xd8], 0xa33ca137
mov dword [esp + 0xdc], 0x5fca5dc5
mov dword [esp + 0xe0], 0x5bc959c5
mov dword [esp + 0xe4], 0x579f55b0
mov dword [esp + 0xe8], 0x539d5183
mov dword [esp + 0xec], 0x4f8d4d81
mov dword [esp + 0xf0], 0x4bb449b6
mov dword [esp + 0xf4], 0x478a4594
mov dword [esp + 0xf8], 0x43914191
mov dword [esp + 0xfc], 0x7faf7dad
mov dword [esp + 0x100], 0x7be679a9
mov dword [esp + 0x104], 0x77b475a7
mov dword [esp + 0x108], 0x73ba71b8
mov dword [esp + 0x10c], 0x6fbe6dad
mov dword [esp + 0x110], 0x6bbb69b8
mov dword [esp + 0x114], 0x67aa65b4
mov dword [esp + 0x118], 0x63b061a2
mov dword [esp + 0x11c], 0x1fd01ddd
mov dword [esp + 0x120], 0x1bd519d6
mov dword [esp + 0x124], 0x17f215da
mov word [esp + 0x128], 0x1110
mov eax, dword [esp + 4]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa6
ja 0x42494c
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx edx, byte [esp + ecx + 0x88]
lea ecx, [eax + edx]
add ecx, 0xfcf2ba2c
add eax, 0xfcf2ba2c
and eax, edx
mov edx, ecx
xor edx, eax
mov esi, eax
not esi
and ecx, esi
add ecx, ecx
sub ecx, edx
xor eax, ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xa88], ecx
mov eax, dword [esp + 0xa88]
mov ecx, eax
xor ecx, 0xdc
and eax, 0x23
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa7
jb 0x4248d0
lea eax, [esp + 0x128]
lea edi, [esp + 0xe8a]
lea edx, [esp + 0x88]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xf2a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xd9a5db97
mov dword [esp + 0x8c], 0xdda8dfbd
mov dword [esp + 0x90], 0xd1a7d3ad
mov dword [esp + 0x94], 0xd5acd7a1
mov dword [esp + 0x98], 0xe986eba0
mov dword [esp + 0x9c], 0xed91ef81
mov dword [esp + 0xa0], 0xe186e39e
mov dword [esp + 0xa4], 0xe56fe791
mov dword [esp + 0xa8], 0xf9dafb91
mov dword [esp + 0xac], 0xfdaaffaa
mov dword [esp + 0xb0], 0xf1b7f390
mov dword [esp + 0xb4], 0xf580f77b
mov dword [esp + 0xb8], 0x9710b82
mov dword [esp + 0xbc], 0xd7a0f7a
mov dword [esp + 0xc0], 0x1790366
mov dword [esp + 0xc4], 0x5730776
mov dword [esp + 0xc8], 0x196b1b7b
mov dword [esp + 0xcc], 0x1d721f6a
mov dword [esp + 0xd0], 0x116d1375
mov dword [esp + 0xd4], 0x15721762
mov dword [esp + 0xd8], 0x29a32b65
mov dword [esp + 0xdc], 0x2d0e2f5d
mov dword [esp + 0xe0], 0x2159237f
mov dword [esp + 0xe4], 0x25532755
mov dword [esp + 0xe8], 0x39433b43
mov dword [esp + 0xec], 0x3d4c3f47
mov dword [esp + 0xf0], 0x31123345
mov dword [esp + 0xf4], 0x35bd3765
mov dword [esp + 0xf8], 0x493f4b52
mov dword [esp + 0xfc], 0x4d3b4fc7
mov dword [esp + 0x100], 0x41394338
mov dword [esp + 0x104], 0x452a4733
mov dword [esp + 0x108], 0x592c5b14
mov dword [esp + 0x10c], 0x5d245f29
mov dword [esp + 0x110], 0x512e5323
mov dword [esp + 0x114], 0x5523572b
mov dword [esp + 0x118], 0x693b6b38
mov dword [esp + 0x11c], 0x6d1a6fe3
mov dword [esp + 0x120], 0x61136310
mov dword [esp + 0x124], 0x651b6711
mov dword [esp + 0x128], 0x79357b08
mov dword [esp + 0x12c], 0x7d377f4d
mov dword [esp + 0x130], 0x71377337
mov dword [esp + 0x134], 0x752c772a
mov dword [esp + 0x138], 0x89be8b44
mov dword [esp + 0x13c], 0x8dbb8fbf
mov dword [esp + 0x140], 0x81b583bb
mov dword [esp + 0x144], 0x85e287b7
mov dword [esp + 0x148], 0x99dc9bb1
mov dword [esp + 0x14c], 0x9dd69fd0
mov dword [esp + 0x150], 0x91a293db
mov dword [esp + 0x154], 0x95a197a0
mov dword [esp + 0x158], 0xa99eaba4
mov dword [esp + 0x15c], 0xad98afee
mov dword [esp + 0x160], 0xa1e8a3eb
mov dword [esp + 0x164], 0xa5efa7ea
mov dword [esp + 0x168], 0xb9d6bbee
mov word [esp + 0x16c], 0xbfb8
mov dword [esp + 0x16e], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xe9
ja 0x424c7b
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
mov edx, eax
xor edx, 0xc7694fcf
and eax, 0xc7694fcf
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xf5
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xea
jb 0x424c20
lea eax, [esp + 0x16c]
lea edi, [esp + 0xf2c]
lea edx, [esp + 0x88]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x1010]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x4fd749b5
mov dword [esp + 0x8c], 0x43d44dab
mov dword [esp + 0x90], 0x47d141d3
mov dword [esp + 0x94], 0x7be045d7
mov dword [esp + 0x98], 0x7f9279ec
mov dword [esp + 0x9c], 0x73e87d8f
mov dword [esp + 0xa0], 0x77ef71ea
mov dword [esp + 0xa4], 0x6b8f7593
mov dword [esp + 0xa8], 0x6fbf6984
mov dword [esp + 0xac], 0x63b06dbb
mov dword [esp + 0xb0], 0x678a61b0
mov dword [esp + 0xb4], 0x1b8f6597
mov dword [esp + 0xb8], 0x1f82198c
mov dword [esp + 0xbc], 0x13811d8f
mov dword [esp + 0xc0], 0x17fa118f
mov dword [esp + 0xc4], 0xb9c15e4
mov dword [esp + 0xc8], 0xf94099b
mov dword [esp + 0xcc], 0x39e0d95
mov dword [esp + 0xd0], 0x79101e5
mov dword [esp + 0xd4], 0x3bc905e8
mov dword [esp + 0xd8], 0x3faa39ad
mov dword [esp + 0xdc], 0x33a13da0
mov dword [esp + 0xe0], 0x37a931a3
mov dword [esp + 0xe4], 0x2be335d8
mov dword [esp + 0xe8], 0x2fe529ff
mov dword [esp + 0xec], 0x23e52df9
mov dword [esp + 0xf0], 0x27dc21da
mov dword [esp + 0xf4], 0xdb0e25f4
mov dword [esp + 0xf8], 0xdf09d909
mov dword [esp + 0xfc], 0xd303dd0d
mov dword [esp + 0x100], 0xd732d101
mov dword [esp + 0x104], 0xcb0cd503
mov dword [esp + 0x108], 0xcf06c900
mov dword [esp + 0x10c], 0xc312cd0d
mov dword [esp + 0x110], 0xc717c110
mov dword [esp + 0x114], 0xfb2ec514
mov dword [esp + 0x118], 0xff28f93e
mov dword [esp + 0x11c], 0xf338fd3d
mov dword [esp + 0x120], 0xf73df13a
mov dword [esp + 0x124], 0xeb06f53e
mov word [esp + 0x128], 0xe9e8
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa5
ja 0x424f02
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
mov edx, eax
xor edx, 0xd019e592
and eax, 0xd019e592
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xa88], edx
mov eax, dword [esp + 0xa88]
add al, 0x26
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa6
jb 0x424ea0
lea eax, [esp + 0x128]
lea edi, [esp + 0x1156]
lea edx, [esp + 0x88]
mov ebp, edi
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x11f6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x71c57fa3
mov dword [esp + 0x8c], 0x75c073d5
mov dword [esp + 0x90], 0x49c377c5
mov dword [esp + 0x94], 0x4dec4bf9
mov dword [esp + 0x98], 0x41e24ff8
mov dword [esp + 0x9c], 0x45e44391
mov dword [esp + 0xa0], 0x59fd47e2
mov dword [esp + 0xa4], 0x5dfd5bfd
mov dword [esp + 0xa8], 0x51ad5ff0
mov dword [esp + 0xac], 0x55ac53a4
mov dword [esp + 0xb0], 0x29fa57a4
mov dword [esp + 0xb4], 0x2d9d2bf9
mov dword [esp + 0xb8], 0x21922f98
mov dword [esp + 0xbc], 0x25932391
mov dword [esp + 0xc0], 0x398a2799
mov dword [esp + 0xc4], 0x3d883be8
mov dword [esp + 0xc8], 0x31983f8d
mov dword [esp + 0xcc], 0x358e338b
mov dword [esp + 0xd0], 0x9833793
mov dword [esp + 0xd4], 0xddb0ba4
mov dword [esp + 0xd8], 0x1ba0fbb
mov dword [esp + 0xdc], 0x5b303bc
mov dword [esp + 0xe0], 0x19bb07b5
mov dword [esp + 0xe4], 0x1dd11bb4
mov dword [esp + 0xe8], 0x11d71fe9
mov dword [esp + 0xec], 0x15d713e7
mov dword [esp + 0xf0], 0xe9d017d2
mov dword [esp + 0xf4], 0xed1eeb18
mov dword [esp + 0xf8], 0xe11bef1f
mov dword [esp + 0xfc], 0xe511e313
mov dword [esp + 0x100], 0xf942e717
mov dword [esp + 0x104], 0xfd38fb0d
mov dword [esp + 0x108], 0xf136ff34
mov dword [esp + 0x10c], 0xf502f333
mov dword [esp + 0x110], 0xc905f704
mov dword [esp + 0x114], 0xcd3ecb38
mov dword [esp + 0x118], 0xc13ccf0e
mov dword [esp + 0x11c], 0xc534c303
mov dword [esp + 0x120], 0xd90fc732
mov dword [esp + 0x124], 0xdd76db2e
mov word [esp + 0x128], 0xdfdc
mov eax, dword [esp + 0x10]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa7
ja 0x425170
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
add eax, 0xff6d2095
xor eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0x17
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa8
jb 0x425120
lea eax, [esp + 0x128]
lea edx, [esp + 0x10b4]
lea esi, [esp + 0x88]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x1154]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x63fb61dd
mov dword [esp + 0x8c], 0x67f465c7
mov dword [esp + 0x90], 0x5bc959c7
mov dword [esp + 0x94], 0x5ff85dc3
mov dword [esp + 0x98], 0x53fe51c4
mov dword [esp + 0x9c], 0x57f055eb
mov dword [esp + 0xa0], 0x4bd349ee
mov dword [esp + 0xa4], 0x4feb4def
mov dword [esp + 0xa8], 0x439341ec
mov dword [esp + 0xac], 0x47984591
mov dword [esp + 0xb0], 0x3b9639e8
mov dword [esp + 0xb4], 0x3fab3d83
mov dword [esp + 0xb8], 0x33ae31a4
mov dword [esp + 0xbc], 0x37a935ab
mov dword [esp + 0xc0], 0x2b8629b3
mov dword [esp + 0xc4], 0x2fbc2d9c
mov dword [esp + 0xc8], 0x238421bf
mov dword [esp + 0xcc], 0x27ba25bd
mov dword [esp + 0xd0], 0x1b8919bd
mov dword [esp + 0xd4], 0x1fa11db0
mov dword [esp + 0xd8], 0x13861185
mov dword [esp + 0xdc], 0x17891588
mov dword [esp + 0xe0], 0xb910997
mov dword [esp + 0xe4], 0xfc70da0
mov dword [esp + 0xe8], 0x3d501d3
mov dword [esp + 0xec], 0x7c505d1
mov dword [esp + 0xf0], 0xfb3cf93e
mov dword [esp + 0xf4], 0xff2afd2c
mov dword [esp + 0xf8], 0xf321f121
mov dword [esp + 0xfc], 0xf727f525
mov dword [esp + 0x100], 0xeb4ee939
mov dword [esp + 0x104], 0xef2ced3f
mov dword [esp + 0x108], 0xe32ae128
mov dword [esp + 0x10c], 0xe736e525
mov dword [esp + 0x110], 0xdb0bd908
mov dword [esp + 0x114], 0xdf0add0c
mov dword [esp + 0x118], 0xd300d112
mov dword [esp + 0x11c], 0xd700d515
mov dword [esp + 0x120], 0xcb1dc91e
mov dword [esp + 0x124], 0xcf62cd1a
mov word [esp + 0x128], 0xc1c0
mov eax, dword [esp + 0x14]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa4
ja 0x424680
nop
mov ecx, dword [esp + 0x888]
mov eax, dword [esp + 0x888]
movzx eax, byte [esp + eax + 0x88]
mov esi, ecx
xor esi, 0x8136d198
mov edi, ecx
xor edi, 0x7ec92e67
or ecx, 0x136d198
and ecx, edi
lea ecx, [esi + ecx*2]
lea esi, [ecx + eax]
mov edi, eax
not edi
or edi, ecx
lea ecx, [eax + edi]
add eax, edi
inc eax
mov edi, eax
xor edi, esi
not eax
and eax, esi
add eax, eax
add ecx, edi
inc ecx
sub eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 8
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa5
jb 0x425390
jmp 0x424680
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x30], 0
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x449bc0]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x888], 0x9c9d9a9b
mov dword [esp + 0xa88], 0
mov ecx, dword [esp + 0xa88]
cmp ecx, 3
ja 0x4254dc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa88]
mov edx, dword [esp + 0xa88]
movzx edx, byte [esp + edx + 0x888]
lea esi, [ecx + edx]
add esi, 0x3d9fbf1a
add ecx, 0x3d9fbf1a
not edx
or ecx, edx
sub edx, ecx
lea ecx, [esi + edx*2]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x88]
mov edx, ecx
xor edx, 0x82
and ecx, 0x7d
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0xa88]
mov byte [esp + edx + 0x888], cl
inc dword [esp + 0xa88]
mov ecx, dword [esp + 0xa88]
cmp ecx, 4
jb 0x425470
mov ecx, dword [0x44e374]
test ecx, ecx
mov esi, dword [esp + 0x80]
je 0x425e20
mov edx, dword [esp + 0x888]
xor edi, edi
mov ebx, dword [0x44e378]
cmp dword [ebx + edi*8], 0x625b6034
je 0x425e0a
inc edi
cmp ecx, edi
jne 0x425500
jmp 0x425e20
mov edx, dword [esp + 0x30]
add edx, 4
xor eax, eax
mov ecx, edx
mov dword [esp + 0x30], edx
cmp edx, 0x14
setne al
jmp dword [eax*4 + 0x449bc0]
jmp dword [0x449bc8]
mov ecx, dword [esp + 0x14]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x449bd8]
mov dword [esp + 0x14], ecx
mov word [edi - 2], cx
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x888]
push dword [esp + 0x64]
push 0
push 0x20019
push eax
push ecx
call fcn.00442540
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449be0]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + eax + 0x6c]
mov dword [esp + 0x88], 0xb1de8fdc
mov dword [esp + 0x8c], 0xb5e2b3e0
mov dword [esp + 0x90], 0xb9e6b7e4
mov dword [esp + 0x94], 0xbdc2bbe8
mov word [esp + 0x98], 0xbfbc
mov ecx, dword [esp + 0x58]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0x17
ja 0x425c6c
nop
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
movzx edx, byte [esp + edx + 0x88]
mov esi, ecx
xor esi, 0x9237a81d
and ecx, 0x1237a81d
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xa88], ecx
mov ecx, dword [esp + 0xa88]
add cl, 0x6f
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, 0x18
jb 0x425c20
movzx edx, word [eax]
lea ecx, [esp + 0x888]
test dx, dx
je 0x425c91
add eax, 2
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [eax]
add eax, 2
test dx, dx
jne 0x425c80
mov word [ecx], 0
movzx eax, word [esp + 0x88]
test ax, ax
je 0x425cc1
mov edx, dword [esp + 0x48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x425cb0
mov word [ecx], 0
mov eax, dword [esp + 0x30]
mov eax, dword [esp + eax + 0x6c]
mov dword [esp + 0x88], 0xb1de8fdc
mov dword [esp + 0x8c], 0xb5e2b3e0
mov dword [esp + 0x90], 0xb9e6b7e4
mov dword [esp + 0x94], 0xbdc2bbe8
mov word [esp + 0x98], 0xbfbc
mov ecx, dword [esp + 0x58]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0x17
ja 0x425d7c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
movzx edx, byte [esp + edx + 0x88]
mov esi, ecx
xor esi, 0x9237a81d
and ecx, 0x1237a81d
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xa88], ecx
mov ecx, dword [esp + 0xa88]
add cl, 0x6f
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, 0x18
jb 0x425d30
movzx ecx, word [eax]
lea edi, [esp + 0x888]
test cx, cx
je 0x425da1
add eax, 2
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x425d90
mov word [edi], 0
movzx eax, word [esp + 0x88]
test ax, ax
je 0x425de0
mov ecx, dword [esp + 0x48]
lea esi, [esp + 0x88]
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425dc0
mov word [edi], 0
jmp dword [0x449bd0]
lea esi, [esp + 0x88]
mov word [edi], 0
jmp dword [0x449bd0]
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x5c], edi
jmp dword [eax*4 + 0x449bd8]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x425e42
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x54]
jmp dword [0x449c30]
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
mov edi, dword [esp + 0x54]
jmp dword [0x449c30]
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 8]
je 0x425e98
cmp eax, edx
jae 0x425e98
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x425e60
mov edx, ecx
jmp 0x425e60
lea eax, [edi + 1]
mov dword [esp + 4], eax
push eax
mov esi, edx
call fcn.0040c470
add esp, 4
lea ecx, [esp + 0x11f8]
cmp ecx, esi
mov esi, eax
setb al
mov ebp, esi
mov ecx, edi
mov dword [esp + 0x38], edi
test edi, edi
jle 0x425f97
mov ebp, esi
test al, al
je 0x425f97
mov eax, dword [esp + 0x38]
add eax, esi
mov dword [esp + 0x10], eax
add dword [esp + 4], esi
lea edx, [esp + 0x11fa]
mov ebp, esi
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x425f97
cmp cx, 0x7f
ja 0x425f10
mov byte [ebp], cl
mov edi, 1
jmp 0x425f80
mov eax, ebp
not eax
add eax, dword [esp + 4]
movzx ebx, cx
cmp eax, 2
jb 0x425f50
cmp ebx, 0x7ff
ja 0x425f50
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebp], al
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 1], cl
mov edi, 2
jmp 0x425f80
xor edi, edi
cmp eax, 3
jb 0x425f80
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [ebp], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [ebp + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 2], cl
mov edi, 3
nop
nop
nop
nop
nop
add ebp, edi
cmp ebp, dword [esp + 0x10]
jae 0x425f97
lea eax, [edx + 2]
cmp edx, dword [esp + 8]
mov edx, eax
jb 0x425ef0
mov edi, esi
mov byte [ebp], 0
mov dword [esp + 0x88], 0x5d1e1f4f
mov dword [esp + 0x8c], 0x2151565b
mov dword [esp + 0x90], 0x2c58265f
mov dword [esp + 0x94], 0x292d4a69
mov dword [esp + 0x98], 0x4c2f2e50
mov dword [esp + 0x9c], 0x34305371
mov dword [esp + 0xa0], 0x4e4a4c42
mov dword [esp + 0xa4], 0x353e853d
mov word [esp + 0xa8], 0xaf38
mov dword [esp + 0xaa], 0
mov word [esp + 0xae], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0x27
ja 0x4260a2
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov eax, dword [esp + 0x888]
movzx eax, byte [esp + eax + 0x88]
mov edx, ecx
or edx, 0x3da4a822
mov esi, ecx
not esi
or esi, 0xc25b57dd
and esi, edx
not esi
and ecx, 0xc25b57dd
lea ecx, [esi + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xaf
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0x28
jb 0x426030
lea eax, [esp + 0x88]
mov ecx, dword [esp + 0x220c]
push dword [esp + 0x38]
push edi
push eax
call fcn.0040d040
mov dword [esp + 0x34], eax
jmp dword [0x449c48]
jmp dword [0x449c54]
add esp, 0x21f8
pop esi
pop edi
pop ebx
pop ebp
ret