Function at 0x420e92
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2200
call fcn.00408d70
mov dword [esp + 0x11f8], 0xdb88d9bc
mov dword [esp + 0x11fc], 0xe7a9e5a9
mov dword [esp + 0x1200], 0xe3b1e1a9
mov dword [esp + 0x1204], 0xefbcedb0
mov dword [esp + 0x1208], 0xeb8ee9b1
mov dword [esp + 0x120c], 0xf7a5f5a9
mov dword [esp + 0x1210], 0xf3a0f1bd
mov word [esp + 0x1214], 0xfdfc
mov dword [esp + 0x1216], 0
mov dword [esp + 0xa88], 0
mov eax, dword [esp + 0xa88]
cmp eax, 0x21
ja 0x41fcdb
nop
nop
nop
nop
mov eax, dword [esp + 0xa88]
mov ecx, dword [esp + 0xa88]
movzx ecx, byte [esp + ecx + 0x11f8]
lea edx, [eax + ecx]
add edx, 0xb82f235c
add eax, 0xb82f235c
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x88]
add al, 0x7c
mov ecx, dword [esp + 0xa88]
mov byte [esp + ecx + 0x11f8], al
inc dword [esp + 0xa88]
mov eax, dword [esp + 0xa88]
cmp eax, 0x22
jb 0x41fc80
lea eax, [esp + 0x48]
lea esi, [esp + 0x11f8]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.0043db10
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x444ffc]
lea eax, [esp + 0x70]
lea ecx, [esp + 0x58]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x68]
call fcn.0043df50
add esp, 0x24
mov ecx, dword [case.0x41fcfc.4]
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445014]
xor eax, eax
jmp 0x421845
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esp + 0x58]
setb al
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44501c]
mov word [esi], 0
mov eax, dword [esp + 8]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x4450fc]
movzx ecx, word [esp + 0x11f8]
test cx, cx
je 0x4216fd
lea eax, [esp + 0x11f8]
xor edi, edi
jmp 0x421600
jmp dword [edx*4 + 0x4450f4]
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x58]
setb al
jmp dword [eax*4 + 0x44501c]
mov edi, dword [esp + 0x70]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41fdca
mov eax, 0xffffffff
push eax
call fcn.00408da0
add esp, 4
mov dword [esp + 0x6c], edi
mov edi, eax
lea eax, [esp + 0x6c]
push eax
push edi
push ebx
push dword [esp + 0x54]
call fcn.0043dc60
add esp, 0x10
not eax
shr eax, 0x1f
mov ecx, 1
xor edx, edx
jmp dword [eax*4 + 0x445024]
lea eax, [esp + 0x54]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
push edi
call fcn.0043db10
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44502c]
jmp dword [0x4450cc]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x88], 0x7bc37939
mov dword [esp + 0x8c], 0x7fce7ddf
mov dword [esp + 0x90], 0x73c571cf
mov dword [esp + 0x94], 0x77d275c3
mov dword [esp + 0x98], 0x4be449c2
mov dword [esp + 0x9c], 0x4ff74de3
mov dword [esp + 0xa0], 0x43e441f0
mov dword [esp + 0xa4], 0x47cd45f3
mov dword [esp + 0xa8], 0x5b3859f3
mov dword [esp + 0xac], 0x5ffb5d05
mov dword [esp + 0xb0], 0x53e551eb
mov dword [esp + 0xb4], 0x57ed55f1
mov dword [esp + 0xb8], 0xab16a9ed
mov dword [esp + 0xbc], 0xafccad13
mov dword [esp + 0xc0], 0xa317a1fb
mov dword [esp + 0xc4], 0xa711a500
mov dword [esp + 0xc8], 0xbb0db92d
mov dword [esp + 0xcc], 0xbf1bbd0e
mov dword [esp + 0xd0], 0xb31cb101
mov dword [esp + 0xd4], 0xb706b5e2
mov dword [esp + 0xd8], 0x8b2e8907
mov dword [esp + 0xdc], 0x8f308d31
mov dword [esp + 0xe0], 0x83358129
mov dword [esp + 0xe4], 0x87cf852e
mov dword [esp + 0xe8], 0x9bd199f3
mov dword [esp + 0xec], 0x9fd99ded
mov dword [esp + 0xf0], 0x93d691d8
mov dword [esp + 0xf4], 0x97e095e2
mov dword [esp + 0xf8], 0xeb9de9e5
mov dword [esp + 0xfc], 0xef9fed99
mov dword [esp + 0x100], 0xe344e19d
mov dword [esp + 0x104], 0xe7a6e597
mov dword [esp + 0x108], 0xfbb0f9ae
mov dword [esp + 0x10c], 0xff8cfdb9
mov dword [esp + 0x110], 0xf383f18e
mov dword [esp + 0x114], 0xf780f582
mov dword [esp + 0x118], 0xcbbac9b4
mov dword [esp + 0x11c], 0xcfbacd89
mov dword [esp + 0x120], 0xc389c1b8
mov dword [esp + 0x124], 0xc768c5b4
mov word [esp + 0x128], 0xd9c6
lea eax, [esp + 0x128]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa7
ja 0x420093
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]
lea edx, [eax - 0x3dfd01b1]
lea edi, [eax + 0x4f]
or edx, edi
and edx, ecx
and edi, ecx
add edi, edx
add eax, ecx
add eax, 0xc202fe4f
sub eax, edi
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xd7
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa8
jb 0x420030
lea edi, [esp + 0xf2c]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
lea edi, [esp + 0xfcc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xbb13b9f9
mov dword [esp + 0x8c], 0xbf0ebd1f
mov dword [esp + 0x90], 0x8335810f
mov dword [esp + 0x94], 0x87228533
mov dword [esp + 0x98], 0x8bd48932
mov dword [esp + 0x9c], 0x8f278dd3
mov dword [esp + 0xa0], 0x93349120
mov dword [esp + 0xa4], 0x972d9523
mov dword [esp + 0xa8], 0x9bf89923
mov dword [esp + 0xac], 0x9fc89dd4
mov dword [esp + 0xb0], 0xe3a5e1c2
mov dword [esp + 0xb4], 0xe756e555
mov dword [esp + 0xb8], 0xeb4fe954
mov dword [esp + 0xbc], 0xef58ed44
mov dword [esp + 0xc0], 0xf357f1b8
mov dword [esp + 0xc4], 0xf741f540
mov dword [esp + 0xc8], 0xfb49f95d
mov dword [esp + 0xcc], 0xffa0fd54
mov dword [esp + 0xd0], 0xc36bc1a7
mov dword [esp + 0xd4], 0xc760c56c
mov dword [esp + 0xd8], 0xcb71c977
mov dword [esp + 0xdc], 0xcfaccd7f
mov dword [esp + 0xe0], 0xd377d181
mov dword [esp + 0xe4], 0xd761d567
mov dword [esp + 0xe8], 0xdb71d975
mov dword [esp + 0xec], 0xdf72dd71
mov dword [esp + 0xf0], 0x23402177
mov dword [esp + 0xf4], 0x27932577
mov dword [esp + 0xf8], 0x2b9d2984
mov dword [esp + 0xfc], 0x2f992d91
mov dword [esp + 0x100], 0x3397319a
mov dword [esp + 0x104], 0x3768359d
mov dword [esp + 0x108], 0x3b8a3966
mov dword [esp + 0x10c], 0x3f9a3d8b
mov dword [esp + 0x110], 0x3ac0195
mov dword [esp + 0x114], 0x7b105a5
mov dword [esp + 0x118], 0xb59095a
mov dword [esp + 0x11c], 0xfb80dbd
mov dword [esp + 0x120], 0x13a111a2
mov dword [esp + 0x124], 0x17b915a3
mov dword [esp + 0x128], 0x1b63194a
mov dword [esp + 0x12c], 0x1f651d6f
mov dword [esp + 0x130], 0x63256169
mov dword [esp + 0x134], 0x67226524
mov dword [esp + 0x138], 0x6b1c6916
mov dword [esp + 0x13c], 0x6f196d19
mov dword [esp + 0x140], 0x7303711d
mov dword [esp + 0x144], 0x77d07501
mov dword [esp + 0x148], 0x7b3a7903
mov dword [esp + 0x14c], 0x7f047d02
mov dword [esp + 0x150], 0x4330413d
mov dword [esp + 0x154], 0x47374532
mov dword [esp + 0x158], 0x4b3c4936
mov dword [esp + 0x15c], 0x4f3e4d08
mov dword [esp + 0x160], 0x5326510d
mov dword [esp + 0x164], 0x572d5524
mov dword [esp + 0x168], 0x5b045920
mov word [esp + 0x16c], 0x5d5a
mov dword [esp + 0x16e], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xe9
ja 0x4203d8
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]
lea edx, [eax + 0x97]
mov edi, 0x68
sub edi, eax
and edi, edx
and edx, ecx
and edi, ecx
add eax, ecx
lea ecx, [edi + edx*2]
sub eax, ecx
add eax, 0x6634d797
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xdf
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xea
jb 0x420370
lea edi, [esp + 0xfce]
lea eax, [esp + 0x88]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x16c]
lea edi, [esp + 0x10b2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x235b2d71
mov dword [esp + 0x8c], 0x27502147
mov dword [esp + 0x90], 0x3b4d2557
mov dword [esp + 0x94], 0x3f44394b
mov dword [esp + 0x98], 0x335e3d48
mov dword [esp + 0x9c], 0x374c3163
mov dword [esp + 0xa0], 0x4b33354e
mov dword [esp + 0xa4], 0x4f2b492f
mov dword [esp + 0xa8], 0x43734d20
mov dword [esp + 0xac], 0x47744177
mov dword [esp + 0xb0], 0x5b364574
mov dword [esp + 0xb4], 0x5f2b590b
mov dword [esp + 0xb8], 0x532e5d28
mov dword [esp + 0xbc], 0x57255123
mov dword [esp + 0xc0], 0x6b06552b
mov dword [esp + 0xc4], 0x6f186938
mov dword [esp + 0xc8], 0x63186d1f
mov dword [esp + 0xcc], 0x671a6119
mov dword [esp + 0xd0], 0x7b0d6501
mov dword [esp + 0xd4], 0x7f2d7914
mov dword [esp + 0xd8], 0x73067d09
mov dword [esp + 0xdc], 0x7705710c
mov dword [esp + 0xe0], 0x8bf57507
mov dword [esp + 0xe4], 0x8fc789e4
mov dword [esp + 0xe8], 0x83c98dbb
mov dword [esp + 0xec], 0x87c181b5
mov dword [esp + 0xf0], 0x9bc085de
mov dword [esp + 0xf4], 0x9faa99a8
mov dword [esp + 0xf8], 0x93a59dad
mov dword [esp + 0xfc], 0x97a791a1
mov dword [esp + 0x100], 0xabce95a5
mov dword [esp + 0x104], 0xafe8a99f
mov dword [esp + 0x108], 0xa3eaade4
mov dword [esp + 0x10c], 0xa796a1e1
mov dword [esp + 0x110], 0xbb8ba594
mov dword [esp + 0x114], 0xbf8ab988
mov dword [esp + 0x118], 0xb384bdfa
mov dword [esp + 0x11c], 0xb7fcb1f1
mov dword [esp + 0x120], 0xcb81b5fe
mov dword [esp + 0x124], 0xcfa2c982
mov word [esp + 0x128], 0xcdcc
lea eax, [esp + 0x128]
mov byte [eax + 0xe], 0
mov dword [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xae
ja 0x42066c
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]
lea edx, [eax + 0xa6]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xe28ac5a6
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0x76
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xaf
jb 0x420610
lea edi, [esp + 0xe8a]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
lea edi, [esp + 0xf2a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x2b4b2575
mov dword [esp + 0x8c], 0x2f5e294f
mov dword [esp + 0x90], 0x33592d5f
mov dword [esp + 0x94], 0x375a3143
mov dword [esp + 0x98], 0x3b683542
mov dword [esp + 0x9c], 0x3f52396b
mov dword [esp + 0xa0], 0x43533d54
mov dword [esp + 0xa4], 0x472b4127
mov dword [esp + 0xa8], 0x4b73451a
mov dword [esp + 0xac], 0x4f7a497e
mov dword [esp + 0xb0], 0x53104d7e
mov dword [esp + 0xb4], 0x572b5103
mov dword [esp + 0xb8], 0x5b385522
mov dword [esp + 0xbc], 0x5f29592b
mov dword [esp + 0xc0], 0x63005d33
mov dword [esp + 0xc4], 0x67166132
mov dword [esp + 0xc8], 0x6b0e6517
mov dword [esp + 0xcc], 0x6f046905
mov dword [esp + 0xd0], 0x73196d05
mov dword [esp + 0xd4], 0x7721712e
mov dword [esp + 0xd8], 0x7b00750d
mov dword [esp + 0xdc], 0x7f097916
mov dword [esp + 0xe0], 0x83117d0f
mov dword [esp + 0xe4], 0x87bf81de
mov dword [esp + 0xe8], 0x8bbd85b3
mov dword [esp + 0xec], 0x8fcd89b1
mov dword [esp + 0xf0], 0x93c68dc4
mov dword [esp + 0xf4], 0x97a491a2
mov dword [esp + 0xf8], 0x9ba195a1
mov dword [esp + 0xfc], 0x9faf99ad
mov dword [esp + 0x100], 0xa3f89da9
mov dword [esp + 0x104], 0xa7e6a197
mov dword [esp + 0x108], 0xab9ca59e
mov dword [esp + 0x10c], 0xaf98a9ed
mov dword [esp + 0x110], 0xb39bad9e
mov dword [esp + 0x114], 0xb784b182
mov dword [esp + 0x118], 0xbb82b5f0
mov dword [esp + 0x11c], 0xbf82b9fd
mov dword [esp + 0x120], 0xc385bd84
mov dword [esp + 0x124], 0xc79cc1f8
mov word [esp + 0x128], 0xc5c6
lea eax, [esp + 0x128]
mov byte [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xaa
ja 0x4208e8
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax - 0x14a819db]
add eax, 0x25
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xa88], edx
mov eax, dword [esp + 0xa88]
add al, 0xfd
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xab
jb 0x420890
mov dword [esp + 0x60], ebx
lea edx, [esp + 0x1156]
lea eax, [esp + 0x88]
mov ecx, 0x28
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0x11f6]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xdb43d96d
mov dword [esp + 0x8c], 0xd744d577
mov dword [esp + 0x90], 0xd341d147
mov dword [esp + 0x94], 0xcf50cd5b
mov dword [esp + 0x98], 0xcb6ec944
mov dword [esp + 0x9c], 0xc758c573
mov dword [esp + 0xa0], 0xc35bc15e
mov dword [esp + 0xa4], 0xbf23bd1f
mov dword [esp + 0xa8], 0xbb6bb91c
mov dword [esp + 0xac], 0xb760b579
mov dword [esp + 0xb0], 0xb316b160
mov dword [esp + 0xb4], 0xaf23ad1b
mov dword [esp + 0xb8], 0xab3ea924
mov dword [esp + 0xbc], 0xa731a533
mov dword [esp + 0xc0], 0xa306a13b
mov dword [esp + 0xc4], 0x9f0c9d2c
mov dword [esp + 0xc8], 0x9b04990f
mov dword [esp + 0xcc], 0x9702950d
mov dword [esp + 0xd0], 0x9301910d
mov dword [esp + 0xd4], 0x8f398d28
mov dword [esp + 0xd8], 0x8b068905
mov dword [esp + 0xdc], 0x87118510
mov dword [esp + 0xe0], 0x83198117
mov dword [esp + 0xe4], 0x7fb77dd8
mov dword [esp + 0xe8], 0x7bb579ab
mov dword [esp + 0xec], 0x77b575b9
mov dword [esp + 0xf0], 0x73cc71ce
mov dword [esp + 0xf4], 0x6fa26dbc
mov dword [esp + 0xf8], 0x6bb969b9
mov dword [esp + 0xfc], 0x67b765b5
mov dword [esp + 0x100], 0x63fe61b1
mov dword [esp + 0x104], 0x5f9c5d8f
mov dword [esp + 0x108], 0x5b925990
mov dword [esp + 0x10c], 0x57865595
mov dword [esp + 0x110], 0x53835180
mov dword [esp + 0x114], 0x4f824d9c
mov dword [esp + 0x118], 0x4b98498a
mov dword [esp + 0x11c], 0x47884585
mov dword [esp + 0x120], 0x438d418e
mov dword [esp + 0x124], 0x3f9a3df2
mov word [esp + 0x128], 0x3938
lea eax, [esp + 0x128]
mov dword [eax + 5], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa8
ja 0x420b6c
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edi, [eax + 0xa4]
and edi, ecx
add eax, ecx
add edi, edi
sub eax, edi
add eax, 0xd315e0a4
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0x84
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
jb 0x420b10
lea eax, [esp + 0x10b4]
lea ebx, [esp + 0x88]
mov ecx, 0x28
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0x1154]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xf2c]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0xfce]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0xe8a]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
xor edx, edx
xor eax, eax
cmp edx, 5
setne al
jmp dword [eax*4 + 0x445034]
mov eax, dword [case.0x420bda.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x88], 0x3c3d3e3f
lea ecx, [esp + 0x128]
mov word [ecx - 0x98], 0
mov dword [ecx - 0x9c], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 9
ja 0x420cad
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]
lea edi, [ecx + edx]
add edi, 0xe6fb55a8
add ecx, 0xe6fb55a8
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0xa88], edi
mov ecx, dword [esp + 0xa88]
add cl, 0x68
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xa
jb 0x420c50
mov ecx, dword [0x449a0c]
test ecx, ecx
je 0x4215a0
mov edx, dword [esp + 0x88]
xor edi, edi
mov ebx, dword [0x449a10]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x42157e
inc edi
cmp ecx, edi
jne 0x420cd0
jmp 0x4215a0
inc edx
xor eax, eax
cmp edx, 5
setne al
jmp dword [eax*4 + 0x445034]
mov ebx, edx
mov eax, dword [esp + edx*4 + 0x74]
mov dword [esp + 0x88], 0x7b487956
mov dword [esp + 0x8c], 0x7f4c7d4a
mov dword [esp + 0x90], 0x7340714e
mov dword [esp + 0x94], 0x779c7542
mov word [esp + 0x98], 0x976
lea ecx, [esp + 0x128]
mov dword [ecx - 0x8b], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0x18
ja 0x420dcd
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
lea edi, [ecx + edx]
add edi, 0x1249ec2f
add ecx, 0x1249ec2f
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0xa88], edi
mov ecx, dword [esp + 0xa88]
add cl, 0xb7
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0x19
jb 0x420d70
movzx ecx, word [eax]
lea edx, [esp + 0x888]
test cx, cx
je 0x420e01
add eax, 2
lea edx, [esp + 0x888]
nop
nop
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 0x420df0
mov edi, edx
mov word [edx], 0
movzx eax, word [esp + 0x88]
test ax, ax
je 0x420e40
lea ecx, [esp + 0x8a]
mov edx, ebx
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420e20
jmp 0x420e42
mov edx, ebx
mov dword [esp + 0x64], edi
mov word [edi], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x44504c]
mov ecx, dword [esp + 0x4c]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x50]
jmp dword [eax*4 + 0x44504c]
mov eax, dword [case.0x420bda.11]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x4c], ecx
mov word [eax - 2], cx
lea eax, [esp + 0x44]
lea ecx, [esp + 0x888]
push dword [esp + 0x54]
push 0
push 0x20019
push eax
push ecx
call fcn.0043db10
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445064]
mov ecx, dword [esp + 0x4c]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x50]
jmp dword [eax*4 + 0x44504c]
mov dword [esp + 0x68], 0x800
mov dword [esp + 0x3c], 0x400
xor ecx, ecx
mov dword [esp + 0xc], 0
jmp 0x420f34
mov dword [esi], 0x20003a
add esi, 4
mov al, 1
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x10]
inc ecx
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xa8c]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x24], ecx
push ecx
push dword [esp + 0x5c]
call fcn.0043e280
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44506c]
mov eax, dword [esp + 0xc]
and al, 1
movzx ecx, al
xor eax, eax
jmp dword [ecx*4 + 0x445074]
xor ecx, ecx
cmp dword [esp + 0x40], 1
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x44507c]
movzx eax, al
jmp dword [eax*4 + 0x445094]
jmp dword [0x4450a0]
mov eax, dword [esp + 0x40]
jmp dword [0x4450a8]
mov eax, dword [esp + 0x40]
jmp dword [0x4450a8]
xor ecx, ecx
cmp eax, 3
sete cl
jmp dword [ecx*4 + 0x4450ac]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x4450b4]
jmp dword [0x445088]
mov dword [esp + 0x18], 0xab43a576
mov dword [esp + 0x1c], 0xaf5da95f
mov dword [esp + 0x20], 0xb35dad57
mov dword [esp + 0x24], 0xb754b144
mov word [esp + 0x28], 0xb5b6
lea eax, [esp + 0x2a]
mov dword [eax + 3], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x42107b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + ecx]
add eax, 0xe5
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x5b7ef0e5
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0xbd
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x421040
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x88]
test di, di
je 0x4210c8
lea eax, [esp + 0x88]
mov ecx, eax
lea edx, [esp + 0x18]
jmp 0x4210b1
add eax, 2
lea edx, [esp + 0x18]
mov ecx, eax
movzx edi, word [edx]
test di, di
je 0x4210c8
movzx ebx, word [ecx]
test bx, bx
je 0x4210c6
cmp bx, di
jne 0x4210a0
add ecx, 2
add edx, 2
jmp 0x4210a9
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4450b4]
mov eax, dword [esp + 0x3c]
cmp eax, 2
jb 0x421192
shr eax, 1
lea edx, [eax - 1]
mov edi, eax
and edi, 3
je 0x4211a5
mov dword [esp + 8], eax
mov dword [esp + 0x14], edx
xor ebx, ebx
lea ecx, [esp + 0xa88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
mov edi, esi
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [edi], si
mov esi, edi
mov edi, eax
add esi, 2
inc ebx
cmp eax, ebx
jne 0x421110
mov eax, dword [esp + 8]
sub eax, ebx
mov edx, dword [esp + 0x14]
cmp edx, 3
jb 0x421192
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
add esi, 8
add eax, 0xfffffffc
jne 0x421140
mov word [esi], 0xa
add esi, 2
mov al, 1
mov dword [esp + 8], eax
jmp case.0x420bda.32
lea ecx, [esp + 0xa88]
cmp edx, 3
jae 0x421140
jmp 0x421192
mov dword [esp + 0x18], 0x7bdd79a5
mov dword [esp + 0x1c], 0x7fcd7ddf
mov dword [esp + 0x20], 0x73ce71c9
mov dword [esp + 0x24], 0x777475c6
mov word [esp + 0x28], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x11
ja case.0x420bda.21
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + 0x1380f]
add eax, 0xf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x97
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x12
jb 0x421200
mov dword [esp + 0x18], 0x7bdd79a5
mov dword [esp + 0x1c], 0x7fcd7ddf
mov dword [esp + 0x20], 0x73ce71c9
mov dword [esp + 0x24], 0x777475c6
mov word [esp + 0x28], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x11
ja 0x4212a6
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
lea edx, [eax + 0x1380f]
add eax, 0xf
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x97
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x12
jb 0x421270
jmp dword [0x44508c]
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x88]
test di, di
je 0x4212f8
lea eax, [esp + 0x88]
mov ecx, eax
lea edx, [esp + 0x18]
jmp 0x4212e1
add eax, 2
lea edx, [esp + 0x18]
mov ecx, eax
movzx edi, word [edx]
test di, di
je 0x4212f8
movzx ebx, word [ecx]
test bx, bx
je 0x4212f6
cmp bx, di
jne 0x4212d0
add ecx, 2
add edx, 2
jmp 0x4212d9
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445094]
mov edi, dword [esp + 0x3c]
cmp edi, 2
jb 0x420f20
mov eax, esi
shr edi, 1
lea edx, [edi - 1]
mov esi, edi
and esi, 3
je 0x421369
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], edx
xor ebx, ebx
lea ecx, [esp + 0xa88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, esi
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [eax], si
mov esi, edi
add eax, 2
inc ebx
cmp edi, ebx
jne 0x421340
mov edi, dword [esp + 0x14]
sub edi, ebx
mov edx, dword [esp + 0xc]
jmp 0x421370
lea ecx, [esp + 0xa88]
cmp edx, 3
mov esi, eax
jb 0x420f20
nop
nop
nop
nop
nop
movzx eax, word [ecx]
xor edx, edx
test ax, ax
setne dl
mov word [esi], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [esi + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [esi + 4], ax
lea eax, [ecx + edx*2]
movzx edx, word [ecx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
lea ecx, [eax + ecx*2]
mov word [esi + 6], dx
add esi, 8
add edi, 0xfffffffc
jne 0x421380
jmp 0x420f20
jmp dword [0x4450bc]
cmp dword [ebx + edi*8], 0x11081610
je 0x421400
inc edi
cmp ecx, edi
jne 0x4213f0
jmp case.0x420bda.34
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x420bda.34
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov edi, esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], 0x3c3d3e3f
lea ecx, [esp + 0x2a]
mov word [ecx - 0xa], 0
mov dword [ecx - 0xe], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 9
ja 0x42148d
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
lea esi, [ecx + edx]
add esi, 0xe6fb55a8
add ecx, 0xe6fb55a8
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x68
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xa
jb 0x421450
mov ecx, dword [0x449a0c]
test ecx, ecx
mov esi, edi
je 0x4214e0
mov edx, dword [esp + 0x18]
xor edi, edi
mov ebx, dword [0x449a10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x4214c0
inc edi
cmp ecx, edi
jne 0x4214b0
jmp 0x4214e0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x4214e0
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
nop
nop
nop
nop
nop
nop
jmp dword [0x4450c8]
mov edi, esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], 0x3c3d3e3f
lea ecx, [esp + 0x2a]
mov word [ecx - 0xa], 0
mov dword [ecx - 0xe], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 9
ja 0x42155d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
lea esi, [ecx + edx]
add esi, 0xe6fb55a8
add ecx, 0xe6fb55a8
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x68
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xa
jb 0x421520
mov ecx, dword [0x449a0c]
test ecx, ecx
mov esi, edi
je case.0x420bda.34
mov edx, dword [esp + 0x18]
xor edi, edi
mov ebx, dword [0x449a10]
jmp 0x4213f0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x4215a0
push eax
push 1
push dword [0x449a14]
push ecx
call fcn.0043a960
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
jmp dword [0x4450cc]
push edi
call fcn.00408db0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor ecx, ecx
mov edx, 1
jmp dword [0x4450e0]
jmp dword [edx*4 + 0x4450e4]
jmp dword [ecx*4 + 0x4450ec]
jmp dword [0x445118]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edx, edi
mov edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x421631
cmp eax, esi
jae 0x421631
mov edx, edi
movzx ebx, cx
xor ecx, ecx
cmp ebx, 0x800
setb byte [esp + 0x10]
mov edi, 1
cmp ebx, 0x80
jb 0x4215f0
movzx ebx, byte [esp + 0x10]
mov cl, bl
xor ecx, 3
mov edi, ecx
jmp 0x4215f0
lea eax, [edi + 1]
mov dword [esp + 0xc], eax
push eax
call fcn.00408da0
add esp, 4
test edi, edi
mov dword [esp + 0x14], edi
jle 0x421715
lea ecx, [eax + edi]
mov dword [esp + 0x10], ecx
add dword [esp + 0xc], eax
lea edx, [esp + 0x11f8]
mov dword [esp + 8], eax
mov edi, eax
jmp 0x421682
mov byte [edi], cl
mov eax, 1
add edx, 2
add edi, eax
cmp edi, dword [esp + 0x10]
jae 0x4216f7
cmp edx, esi
jae 0x4216f7
movzx ecx, word [edx]
test cx, cx
je 0x4216f7
cmp cx, 0x7f
jbe 0x421670
mov eax, edi
not eax
add eax, dword [esp + 0xc]
cmp eax, 2
jb 0x4216c5
movzx ebx, cx
cmp ebx, 0x7ff
ja 0x4216c5
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov eax, 2
jmp 0x421677
cmp eax, 3
mov eax, 0
jb 0x421677
movzx ebx, cx
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov eax, 3
jmp 0x421677
mov esi, dword [esp + 8]
jmp 0x421719
mov dword [esp + 0x14], 0
push 1
call fcn.00408da0
add esp, 4
mov esi, eax
mov edi, eax
jmp 0x421719
mov edi, eax
mov esi, eax
mov byte [edi], 0
mov dword [esp + 0x88], 0xdfc2ddad
mov dword [esp + 0x8c], 0xc3d7d6d9
mov dword [esp + 0x90], 0xccc8c6dd
mov dword [esp + 0x94], 0xcbcbaa8b
mov dword [esp + 0x98], 0xecf1ced0
mov dword [esp + 0x9c], 0xf4f091b3
mov dword [esp + 0xa0], 0xeee6ecee
mov dword [esp + 0xa4], 0xf7fabbff
mov word [esp + 0xa8], 0x4df8
mov dword [esp + 0xaa], 0
mov dword [esp + 0xae], 0
mov dword [esp + 0xb2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0x2d
ja 0x42181b
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]
lea edx, [eax + ecx]
add edx, 0x955dfa8e
add eax, 0x955dfa8e
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xa88], edx
mov eax, dword [esp + 0xa88]
add al, 0x1e
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0x2e
jb 0x4217c0
lea eax, [esp + 0x88]
mov ecx, dword [ebp + 8]
push dword [esp + 0x14]
push esi
push eax
call fcn.00409850
jmp dword [0x445104]
push esi
mov esi, eax
call fcn.00408db0
mov eax, esi
add esp, 4
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret