Function at 0x424a0b
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2208
call fcn.00408bf0
mov dword [esp + 0x1200], 0xbbeab9ea
mov dword [esp + 0x1204], 0xbff5bdfd
mov dword [esp + 0x1208], 0x83d581f5
mov dword [esp + 0x120c], 0x87d685d6
mov dword [esp + 0x1210], 0x8bd489dd
mov dword [esp + 0x1214], 0x8fd98ddd
mov dword [esp + 0x1218], 0x93c291c9
mov word [esp + 0x121c], 0x9592
mov dword [esp + 0x121e], 0
mov dword [esp + 0x1222], 0
mov byte [esp + 0x1226], 0
mov dword [esp + 0xa90], 0
mov eax, dword [esp + 0xa90]
cmp eax, 0x26
ja 0x41ecc7
nop
mov eax, dword [esp + 0xa90]
mov ecx, dword [esp + 0xa90]
movzx ecx, byte [esp + ecx + 0x1200]
lea edx, [eax + 0x17]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x9b213017
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
add al, 0x5f
mov ecx, dword [esp + 0xa90]
mov byte [esp + ecx + 0x1200], al
inc dword [esp + 0xa90]
mov eax, dword [esp + 0xa90]
cmp eax, 0x27
jb 0x41ec70
lea eax, [esp + 0x1c]
lea esi, [esp + 0x1200]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.0043a010
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x441db0]
jmp dword [0x441dbc]
mov ecx, dword [esp + 0x20]
inc ecx
xor eax, eax
mov dword [esp + 0x20], ecx
cmp ecx, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x441dd0]
mov edi, dword [esp + 0x64]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41ed2b
mov eax, 0xffffffff
push eax
call fcn.00408c20
add esp, 4
mov dword [esp + 0x78], edi
mov edi, eax
lea eax, [esp + 0x78]
push eax
push edi
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.0043a160
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441dd8]
lea eax, [esp + 0x60]
push dword [esp + 0x1c]
push 0
push 0x20019
push eax
push edi
call fcn.0043a010
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441de0]
mov eax, dword [case.0x41fb1e.36]
jmp case.0x41fb1e.34
mov dword [esp + 0x68], edi
mov dword [esp + 0x90], 0x1bb319cd
mov dword [esp + 0x94], 0xe754e547
mov dword [esp + 0x98], 0xe351e157
mov dword [esp + 0x9c], 0xef40ed5b
mov dword [esp + 0xa0], 0xeb4ee954
mov dword [esp + 0xa4], 0xf75ff52b
mov dword [esp + 0xa8], 0xf35ef146
mov dword [esp + 0xac], 0xff41fd4b
mov dword [esp + 0xb0], 0xfb1af94b
mov dword [esp + 0xb4], 0xc76bc511
mov dword [esp + 0xb8], 0xc371c173
mov dword [esp + 0xbc], 0xcf61cd6d
mov dword [esp + 0xc0], 0xcb7cc961
mov dword [esp + 0xc4], 0xd736d57b
mov dword [esp + 0xc8], 0xd36fd103
mov dword [esp + 0xcc], 0xdf6ddd7e
mov dword [esp + 0xd0], 0xdb69d961
mov dword [esp + 0xd4], 0xa70ba518
mov dword [esp + 0xd8], 0xa306a115
mov dword [esp + 0xdc], 0xaf1cad7c
mov dword [esp + 0xe0], 0xab04a91f
mov dword [esp + 0xe4], 0xb702b51d
mov dword [esp + 0xe8], 0xb301b11d
mov dword [esp + 0xec], 0xbf47bd18
mov dword [esp + 0xf0], 0xbb45b94b
mov dword [esp + 0xf4], 0x87458579
mov dword [esp + 0xf8], 0x834c814e
mov dword [esp + 0xfc], 0x8f728d7c
mov dword [esp + 0x100], 0x8b798979
mov dword [esp + 0x104], 0x97679565
mov dword [esp + 0x108], 0x933e9161
mov dword [esp + 0x10c], 0x9f5c9d6f
mov dword [esp + 0x110], 0x9b629960
mov dword [esp + 0x114], 0x679665a5
mov dword [esp + 0x118], 0x63936190
mov dword [esp + 0x11c], 0x6f926d9c
mov dword [esp + 0x120], 0x6b9869aa
mov dword [esp + 0x124], 0x778875b5
mov dword [esp + 0x128], 0x738d718e
mov dword [esp + 0x12c], 0x7fda7d82
mov word [esp + 0x130], 0x7978
lea eax, [esp + 0x130]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xa7
ja 0x41efea
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax - 0x17605b04]
add eax, 0xfc
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xa90], edx
mov eax, dword [esp + 0xa90]
add al, 0x1c
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xa8
jb 0x41ef90
lea edi, [esp + 0xf34]
lea eax, [esp + 0x90]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x130]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xfd4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0xdb43d96d
mov dword [esp + 0x94], 0xd744d577
mov dword [esp + 0x98], 0xd341d147
mov dword [esp + 0x9c], 0xcf50cd5b
mov dword [esp + 0xa0], 0xcb6ec944
mov dword [esp + 0xa4], 0xc75fc56b
mov dword [esp + 0xa8], 0xc35ec156
mov dword [esp + 0xac], 0xbf31bd2b
mov dword [esp + 0xb0], 0xbb5ab92b
mov dword [esp + 0xb4], 0xb71ab502
mov dword [esp + 0xb8], 0xb371b114
mov dword [esp + 0xbc], 0xaf3cad21
mov dword [esp + 0xc0], 0xab37a93a
mov dword [esp + 0xc4], 0xa72aa532
mov dword [esp + 0xc8], 0xa33fa10e
mov dword [esp + 0xcc], 0x9f0d9d0e
mov dword [esp + 0xd0], 0x9b0d9901
mov dword [esp + 0xd4], 0x97329502
mov dword [esp + 0xd8], 0x930b913f
mov dword [esp + 0xdc], 0x8f128d1a
mov dword [esp + 0xe0], 0x8b05891f
mov dword [esp + 0xe4], 0x87668517
mov dword [esp + 0xe8], 0x831f8135
mov dword [esp + 0xec], 0x7fed7def
mov dword [esp + 0xf0], 0x7be579d9
mov dword [esp + 0xf4], 0x77e075ed
mov dword [esp + 0xf8], 0x739271ef
mov dword [esp + 0xfc], 0x6fe36ddf
mov dword [esp + 0x100], 0x6bf969ca
mov dword [esp + 0x104], 0x67f565ed
mov dword [esp + 0x108], 0x63ff61ec
mov dword [esp + 0x10c], 0x5ffa5dc9
mov dword [esp + 0x110], 0x5bc859e8
mov dword [esp + 0x114], 0x57c855c3
mov dword [esp + 0x118], 0x53c651c9
mov dword [esp + 0x11c], 0x4fdd4dd1
mov dword [esp + 0x120], 0x4bfd49ec
mov dword [esp + 0x124], 0x47ca45c9
mov dword [esp + 0x128], 0x43d541d4
mov dword [esp + 0x12c], 0x3fa53dab
mov dword [esp + 0x130], 0x3bf3399c
mov dword [esp + 0x134], 0x37f935e7
mov dword [esp + 0x138], 0x33f131fd
mov dword [esp + 0x13c], 0x2f902d92
mov dword [esp + 0x140], 0x2be629f8
mov dword [esp + 0x144], 0x27f525f5
mov dword [esp + 0x148], 0x23f321f1
mov dword [esp + 0x14c], 0x1f821dcd
mov dword [esp + 0x150], 0x1bd819cb
mov dword [esp + 0x154], 0x17de15dc
mov dword [esp + 0x158], 0x13c211d1
mov dword [esp + 0x15c], 0xfdf0ddc
mov dword [esp + 0x160], 0xbc609d8
mov dword [esp + 0x164], 0x7d405c6
mov dword [esp + 0x168], 0x3cc01c1
mov dword [esp + 0x16c], 0xff31fd32
mov dword [esp + 0x170], 0xfb5ef936
mov word [esp + 0x174], 0xf5f4
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xea
ja 0x41f320
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax + 0xa4]
and edx, ecx
mov edi, 0xdf77595b
sub edi, eax
or edi, ecx
not edi
add edi, ecx
sub edi, edx
mov dword [esp + 0xa90], edi
mov eax, dword [esp + 0xa90]
add al, 0x84
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xeb
jb 0x41f2c0
lea edi, [esp + 0xfd6]
lea eax, [esp + 0x90]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x174]
lea edi, [esp + 0x10ba]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x3b933979
mov dword [esp + 0x94], 0x3fae3d9f
mov dword [esp + 0x98], 0x23b521af
mov dword [esp + 0x9c], 0x278225b3
mov dword [esp + 0xa0], 0x2b9429b2
mov dword [esp + 0xa4], 0x2f8a2d9b
mov dword [esp + 0xa8], 0x13bb1188
mov dword [esp + 0xac], 0x17b315b7
mov dword [esp + 0xb0], 0x1b4b19aa
mov dword [esp + 0xb4], 0x1f721d4f
mov dword [esp + 0xb8], 0x3bc014e
mov dword [esp + 0xbc], 0x79305b3
mov dword [esp + 0xc0], 0xba40992
mov dword [esp + 0xc4], 0xf9d0d9b
mov dword [esp + 0xc8], 0x73cc71a3
mov dword [esp + 0xcc], 0x77e675c2
mov dword [esp + 0xd0], 0x7bde79e7
mov dword [esp + 0xd4], 0x7fd07dd1
mov dword [esp + 0xd8], 0x63f561d9
mov dword [esp + 0xdc], 0x67d565de
mov dword [esp + 0xe0], 0x6bfc69f1
mov dword [esp + 0xe4], 0x6ffd6dc6
mov dword [esp + 0xe8], 0x53fd51ff
mov dword [esp + 0xec], 0x570f55ee
mov dword [esp + 0xf0], 0x5b015903
mov dword [esp + 0xf4], 0x5f195d0d
mov dword [esp + 0xf8], 0x43064118
mov dword [esp + 0xfc], 0x47104512
mov dword [esp + 0x100], 0x4b1d4915
mov dword [esp + 0x104], 0x4f1f4d19
mov dword [esp + 0x108], 0xb314b11d
mov dword [esp + 0x10c], 0xb7f6b5e7
mov dword [esp + 0x110], 0xbbe0b9ee
mov dword [esp + 0x114], 0xbfecbdf9
mov dword [esp + 0x118], 0xa3f3a1ee
mov dword [esp + 0x11c], 0xa7f0a5f2
mov dword [esp + 0x120], 0xabfaa9e4
mov dword [esp + 0x124], 0xaffaade9
mov dword [esp + 0x128], 0x93c991f8
mov dword [esp + 0x12c], 0x972895c4
mov word [esp + 0x130], 0x9996
lea eax, [esp + 0x130]
mov word [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xab
ja 0x41f5aa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax - 0x16e73279]
add eax, 0x87
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xa90], edx
mov eax, dword [esp + 0xa90]
add al, 0x4f
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xac
jb 0x41f550
lea edi, [esp + 0xe92]
lea eax, [esp + 0x90]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x130]
lea edi, [esp + 0xf32]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x8b738d59
mov dword [esp + 0x94], 0x87088977
mov dword [esp + 0x98], 0x830d8577
mov dword [esp + 0x9c], 0x9f648173
mov dword [esp + 0xa0], 0x9b7e9d10
mov dword [esp + 0xa4], 0x976c994b
mov dword [esp + 0xa8], 0x936b956e
mov dword [esp + 0xac], 0xaf53916f
mov dword [esp + 0xb0], 0xab9bad48
mov dword [esp + 0xb4], 0xa794a964
mov dword [esp + 0xb8], 0xa346a594
mov dword [esp + 0xbc], 0xbf33a173
mov dword [esp + 0xc0], 0xbb4ebd30
mov dword [esp + 0xc4], 0xb745b94b
mov dword [esp + 0xc8], 0xb356b543
mov dword [esp + 0xcc], 0x4fc0b160
mov dword [esp + 0xd0], 0x4bb04dbf
mov dword [esp + 0xd4], 0x47b249b1
mov dword [esp + 0xd8], 0x43cd45b9
mov dword [esp + 0xdc], 0x5f8d41a4
mov dword [esp + 0xe0], 0x5bd65dd1
mov dword [esp + 0xe4], 0x57a559ac
mov dword [esp + 0xe8], 0x53a555a7
mov dword [esp + 0xec], 0x6fa751b4
mov dword [esp + 0xf0], 0x6ba16da3
mov dword [esp + 0xf4], 0x67b969a5
mov dword [esp + 0xf8], 0x63b865be
mov dword [esp + 0xfc], 0x7fb26150
mov dword [esp + 0x100], 0x7bb57d4d
mov dword [esp + 0x104], 0x77477949
mov dword [esp + 0x108], 0x738e7545
mov dword [esp + 0x10c], 0xfd071bf
mov dword [esp + 0x110], 0xbc20dc4
mov dword [esp + 0x114], 0x73609c9
mov dword [esp + 0x118], 0x3330534
mov dword [esp + 0x11c], 0x1fd20130
mov dword [esp + 0x120], 0x1bd41dc2
mov dword [esp + 0x124], 0x17dc19d9
mov dword [esp + 0x128], 0x13d915de
mov dword [esp + 0x12c], 0x2fca11da
mov word [esp + 0x130], 0x2d2c
mov dword [esp + 0x136], 0
mov dword [esp + 0x132], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xa9
ja 0x41f82b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
add eax, 0xd8e88e42
xor eax, ecx
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
mov ecx, eax
xor ecx, 0x31
and eax, 0x31
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xaa
jb 0x41f7d0
lea edx, [esp + 0x115e]
lea eax, [esp + 0x90]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x130]
lea edi, [esp + 0x11fe]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x90], 0x43db4df1
mov dword [esp + 0x94], 0x47d041e7
mov dword [esp + 0x98], 0xbb2d45d7
mov dword [esp + 0x9c], 0xbf24b92b
mov dword [esp + 0xa0], 0xb31ebd28
mov dword [esp + 0xa4], 0xb72cb103
mov dword [esp + 0xa8], 0xab33b52e
mov dword [esp + 0xac], 0xaf0ba90f
mov dword [esp + 0xb0], 0xa3f3ad00
mov dword [esp + 0xb4], 0xa7f4a1f5
mov dword [esp + 0xb8], 0x9b36a5f4
mov dword [esp + 0xbc], 0x9f0b992b
mov dword [esp + 0xc0], 0x930e9d08
mov dword [esp + 0xc4], 0x97059103
mov dword [esp + 0xc8], 0x8b26950b
mov dword [esp + 0xcc], 0x8f188938
mov dword [esp + 0xd0], 0x83188d1f
mov dword [esp + 0xd4], 0x871a8119
mov dword [esp + 0xd8], 0xfb6d8521
mov dword [esp + 0xdc], 0xff4df954
mov dword [esp + 0xe0], 0xf366fd69
mov dword [esp + 0xe4], 0xf765f16c
mov dword [esp + 0xe8], 0xeb75f567
mov dword [esp + 0xec], 0xefa7e944
mov dword [esp + 0xf0], 0xe3a9edbb
mov dword [esp + 0xf4], 0xe7a1e1b5
mov dword [esp + 0xf8], 0xdb60e55e
mov dword [esp + 0xfc], 0xdf8ad988
mov dword [esp + 0x100], 0xd385dd8d
mov dword [esp + 0x104], 0xd787d181
mov dword [esp + 0x108], 0xcb6ed585
mov dword [esp + 0x10c], 0xcf88c99f
mov dword [esp + 0x110], 0xc38acd84
mov dword [esp + 0x114], 0xc796c181
mov dword [esp + 0x118], 0x3b6bc594
mov dword [esp + 0x11c], 0x3f6a3968
mov dword [esp + 0x120], 0x33643d7a
mov dword [esp + 0x124], 0x377c3171
mov dword [esp + 0x128], 0x2b61357e
mov dword [esp + 0x12c], 0x2f822962
mov word [esp + 0x130], 0x2d2c
lea eax, [esp + 0x130]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0xa7
ja 0x41faaa
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edi, [eax + 0x34b97e76]
add eax, 0x76
or eax, edi
and eax, ecx
or edi, ecx
sub edi, eax
mov dword [esp + 0xa90], edi
mov eax, dword [esp + 0xa90]
add al, 0xc6
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0xa8
jb 0x41fa50
lea eax, [esp + 0x10bc]
lea ebx, [esp + 0x90]
mov ecx, 0x28
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esp + 0x130]
mov ecx, 1
lea edi, [esp + 0x115c]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xf34]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0xfd6]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0xe92]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x441de8]
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + ecx*4 + 0x7c]
mov dword [esp + 0x90], 0x83b281b0
mov dword [esp + 0x94], 0x87b685b4
mov dword [esp + 0x98], 0x8bba89b8
mov dword [esp + 0x9c], 0x8f568dbc
mov word [esp + 0xa0], 0x9190
lea ecx, [esp + 0x130]
mov byte [ecx - 0x82], 0
mov dword [ecx - 0x86], 0
mov dword [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x890], 0
mov ecx, dword [esp + 0x890]
cmp ecx, 0x1e
ja 0x41fc3e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x890]
mov edx, dword [esp + 0x890]
movzx edx, byte [esp + edx + 0x90]
mov edi, ecx
and edi, 0x735d040
xor ecx, 0x8735d040
lea ecx, [ecx + edi*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, edi
not ecx
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xa90], ecx
mov ecx, dword [esp + 0xa90]
add cl, 0x40
mov edx, dword [esp + 0x890]
mov byte [esp + edx + 0x90], cl
mov ecx, dword [esp + 0x890]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0x890], ecx
mov ecx, dword [esp + 0x890]
cmp ecx, 0x1f
jb 0x41fbc0
movzx ecx, word [eax]
lea edi, [esp + 0x890]
test cx, cx
je 0x41fc71
add eax, 2
lea edi, [esp + 0x890]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41fc60
mov word [edi], 0
movzx eax, word [esp + 0x90]
test ax, ax
je 0x41fca1
lea ecx, [esp + 0x92]
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fc90
mov word [edi], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x70], edi
jmp dword [eax*4 + 0x441df0]
mov ecx, dword [esp + 0x54]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x441df0]
mov dword [esp + 0x54], ecx
mov word [edi - 2], cx
lea eax, [esp + 0x28]
lea ecx, [esp + 0x890]
push dword [esp + 0x60]
push 0
push 0x20019
push eax
push ecx
call fcn.0043a010
add esp, 0x14
mov ecx, dword [case.0x41fb1e.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441e08]
mov dword [esp + 0x74], 0x800
mov dword [esp + 0x24], 0x400
xor ecx, ecx
mov dword [esp + 0x58], 0
jmp 0x41fd58
mov dword [esi], 0x20003a
add esi, 4
mov al, 1
mov dword [esp + 0x58], eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x18]
inc ecx
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xa94]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0x2c], ecx
push ecx
push dword [esp + 0x40]
call fcn.0043a750
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441e10]
mov eax, dword [esp + 0x58]
and al, 1
movzx ecx, al
xor eax, eax
jmp dword [ecx*4 + 0x441e18]
xor ecx, ecx
cmp dword [esp + 0x5c], 1
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x441e20]
movzx eax, al
jmp dword [eax*4 + 0x441e28]
xor eax, eax
cmp dword [esp + 0x5c], 3
sete al
jmp dword [eax*4 + 0x441e30]
xor eax, eax
movzx eax, al
mov edx, dword [esp + 8]
jmp dword [eax*4 + 0x441e38]
mov dword [esp + 0x30], 0x5bf95919
mov dword [esp + 0x34], 0x57e155f7
mov dword [esp + 0x38], 0x53e451dd
mov dword [esp + 0x3c], 0xafaead20
mov word [esp + 0x40], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x11
ja 0x41fe7a
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax - 0x6b2f248c]
add eax, 0x74
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov ecx, eax
or ecx, 0xd3
and eax, 0xd3
add eax, ecx
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x12
jb 0x41fe30
movzx edi, word [esp + 0x30]
lea eax, [esp + 0x90]
test di, di
je 0x41ffb0
lea ecx, [esp + 0x90]
mov eax, ecx
lea edx, [esp + 0x30]
jmp 0x41feb5
add eax, 2
lea edx, [esp + 0x30]
mov ecx, eax
movzx edi, word [edx]
test di, di
je 0x41ffb0
movzx ebx, word [ecx]
test bx, bx
je 0x41ffae
cmp bx, di
jne 0x41fea0
add ecx, 2
add edx, 2
jmp 0x41fea9
mov dword [esp + 0x30], 0x33533140
mov dword [esp + 0x34], 0x37a535a7
mov dword [esp + 0x38], 0x2bb529bf
mov dword [esp + 0x3c], 0x2f4a2dbe
mov word [esp + 0x40], 0x2120
lea eax, [esp + 0x42]
mov dword [eax + 7], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1c
ja 0x41ff5c
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax + 0x28]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xac6c2e28
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xe8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1d
jb 0x41ff20
movzx edi, word [esp + 0x30]
lea eax, [esp + 0x90]
test di, di
je 0x42009d
lea ecx, [esp + 0x90]
mov eax, ecx
lea edx, [esp + 0x30]
jmp 0x41ff95
add eax, 2
lea edx, [esp + 0x30]
mov ecx, eax
movzx edi, word [edx]
test di, di
je 0x42009d
movzx ebx, word [ecx]
test bx, bx
je 0x42009b
cmp bx, di
jne 0x41ff80
add ecx, 2
add edx, 2
jmp 0x41ff89
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x441e28]
mov edi, dword [esp + 0x24]
cmp edi, 2
mov edx, dword [esp + 8]
jb 0x41fd40
shr edi, 1
lea eax, [edi - 1]
mov ebx, edi
and ebx, 3
je 0x420025
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
xor edx, edx
lea ecx, [esp + 0xa90]
nop
nop
nop
nop
mov edi, ebx
movzx ebx, word [ecx]
xor eax, eax
test bx, bx
setne al
lea ecx, [ecx + eax*2]
mov word [esi], bx
mov ebx, edi
add esi, 2
inc edx
cmp edi, edx
jne 0x41fff0
mov edi, dword [esp + 0x10]
sub edi, edx
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
cmp eax, 3
jae 0x420040
jmp 0x41fd40
lea ecx, [esp + 0xa90]
cmp eax, 3
jb 0x41fd40
nop
nop
nop
nop
nop
nop
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 0x420040
mov edx, dword [esp + 8]
jmp 0x41fd40
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp + 8]
jmp dword [ecx*4 + 0x441e38]
mov edi, dword [esp + 0x24]
mov ecx, edi
shr ecx, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
jmp dword [0x441e44]
cmp edi, 2
jb 0x420186
lea eax, [ecx - 1]
mov edi, ecx
and edi, 3
je 0x420117
mov dword [esp + 8], eax
xor eax, eax
lea edx, [esp + 0xa90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx]
xor ebx, ebx
test cx, cx
setne bl
lea edx, [edx + ebx*2]
mov word [esi], cx
add esi, 2
inc eax
cmp edi, eax
jne 0x4200f0
mov ecx, dword [esp + 0xc]
mov ebx, ecx
sub ebx, eax
mov eax, dword [esp + 8]
jmp 0x420120
lea edx, [esp + 0xa90]
mov ebx, ecx
cmp eax, 3
mov edi, dword [esp + 0x10]
jb 0x420186
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [edx]
xor ecx, ecx
test ax, ax
setne cl
mov word [esi], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*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 ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edx, [eax + edx*2]
mov word [esi + 6], cx
add esi, 8
add ebx, 0xfffffffc
jne 0x420130
mov ecx, dword [esp + 0xc]
mov word [esi], 0xa
add esi, 2
jmp case.0x41fb1e.23
mov word [esi], 0xa
add esi, 2
mov dl, 1
jmp dword [0x441e4c]
cmp edi, 2
jb 0x420190
lea eax, [ecx - 1]
test cl, 3
je 0x4201e9
mov dword [esp + 8], eax
mov edi, ecx
and edi, 3
xor eax, eax
lea edx, [esp + 0xa90]
nop
movzx ecx, word [edx]
xor ebx, ebx
test cx, cx
setne bl
lea edx, [edx + ebx*2]
mov word [esi], cx
add esi, 2
inc eax
mov ecx, edi
cmp edi, eax
jne 0x4201c0
mov ecx, dword [esp + 0xc]
mov ebx, ecx
sub ebx, eax
mov eax, dword [esp + 8]
jmp 0x4201f2
lea edx, [esp + 0xa90]
mov ebx, ecx
cmp eax, 3
mov edi, dword [esp + 0x10]
jb 0x420190
nop
nop
nop
nop
nop
movzx eax, word [edx]
xor ecx, ecx
test ax, ax
setne cl
mov word [esi], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*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 ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edx, [eax + edx*2]
mov word [esi + 6], cx
add esi, 8
add ebx, 0xfffffffc
jne 0x420200
mov ecx, dword [esp + 0xc]
jmp 0x420190
jmp dword [0x441e50]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x30], 0xea151417
mov dword [esp + 0x34], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x4202cd
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax - 0x32c29d03]
add eax, 0xfd
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
add al, 0x15
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x420290
mov ecx, dword [0x44738c]
test ecx, ecx
je case.0x41fb1e.26
mov edx, dword [esp + 0x30]
xor edi, edi
mov eax, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x420300
inc edi
cmp ecx, edi
jne 0x4202f0
jmp case.0x41fb1e.26
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.0x41fb1e.26
push ebx
push 1
push dword [0x447394]
push eax
call fcn.00436ea0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x30], 0xea151417
mov dword [esp + 0x34], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x42038d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax - 0x32c29d03]
add eax, 0xfd
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
add al, 0x15
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x420350
mov ecx, dword [0x44738c]
test ecx, ecx
je 0x4203e0
mov edx, dword [esp + 0x30]
xor edi, edi
mov eax, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x4203c0
inc edi
cmp ecx, edi
jne 0x4203b0
jmp 0x4203e0
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x4203e0
push ebx
push 1
push dword [0x447394]
push eax
call fcn.00436ea0
add esp, 0x10
nop
nop
nop
nop
nop
nop
jmp dword [0x441e5c]
mov ecx, dword [esp + 0x54]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edi, dword [esp + 0x70]
jmp dword [eax*4 + 0x441df0]
mov eax, dword [case.0x41fb1e.32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x6c]
inc ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x441de8]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x90], 0xea151417
mov dword [esp + 0x94], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 7
ja 0x4204b8
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax - 0x32c29d03]
add eax, 0xfd
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xa90], edx
mov eax, dword [esp + 0xa90]
add al, 0x15
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 8
jb 0x420460
mov ecx, dword [0x44738c]
test ecx, ecx
je 0x420500
mov edx, dword [esp + 0x90]
xor edi, edi
mov eax, dword [0x447390]
cmp dword [eax + edi*8], 0x11081610
je 0x4204e0
inc edi
cmp ecx, edi
jne 0x4204d0
jmp 0x420500
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x420500
push ebx
push 1
push dword [0x447394]
push eax
call fcn.00436ea0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x41fb1e.36]
mov edi, dword [esp + 0x68]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x441e80]
jmp dword [0x441e88]
jmp dword [0x441ea4]
push edi
call fcn.00408c30
add esp, 4
push edi
call fcn.00408c30
add esp, 4
jmp dword [0x441e94]
movzx ecx, word [esp + 0x1200]
test cx, cx
je 0x42059d
lea eax, [esp + 0x1200]
xor edx, edx
jmp 0x42056e
add edx, edi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x42059f
cmp eax, esi
jae 0x42059f
movzx ebx, cx
xor ecx, ecx
cmp ebx, 0x800
setb byte [esp + 8]
mov edi, 1
cmp ebx, 0x80
jb 0x420560
movzx ebx, byte [esp + 8]
mov cl, bl
xor ecx, 3
mov edi, ecx
jmp 0x420560
xor edx, edx
lea eax, [edx + 1]
mov dword [esp + 0xc], eax
push eax
mov edi, edx
call fcn.00408c20
add esp, 4
mov ebx, eax
mov dword [esp + 0x18], eax
mov eax, edi
mov dword [esp + 0x10], edi
test edi, edi
jle 0x420672
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
add eax, ebx
mov dword [esp + 8], eax
add dword [esp + 0xc], ebx
lea edx, [esp + 0x1200]
jmp 0x4205f6
mov byte [ebx], cl
mov edi, 1
add edx, 2
add ebx, edi
cmp ebx, dword [esp + 8]
jae 0x420672
cmp edx, esi
jae 0x420672
movzx ecx, word [edx]
test cx, cx
je 0x420672
cmp cx, 0x7f
jbe 0x4205e0
mov eax, ebx
not eax
add eax, dword [esp + 0xc]
cmp eax, 2
jb 0x420640
movzx edi, cx
cmp edi, 0x7ff
ja 0x420640
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebx], al
mov eax, ecx
not eax
or eax, 0x3f
add eax, ecx
add al, 0x81
mov byte [ebx + 1], al
mov edi, 2
jmp 0x4205e7
xor edi, edi
cmp eax, 3
jb 0x4205e7
movzx edi, cx
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [ebx], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ebx + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [ebx + 2], cl
mov edi, 3
jmp 0x4205e7
mov byte [ebx], 0
mov dword [esp + 0x90], 0x27242509
mov dword [esp + 0x94], 0x232f2c25
mov dword [esp + 0x98], 0x263e3c39
mov dword [esp + 0x9c], 0x2b23187b
mov dword [esp + 0xa0], 0x36353432
mov dword [esp + 0xa4], 0xe2e1173
mov dword [esp + 0xa8], 0x80a04
mov dword [esp + 0xac], 0x1f144b17
mov word [esp + 0xb0], 0x951a
mov dword [esp + 0xb2], 0
mov dword [esp + 0xb6], 0
mov dword [esp + 0xb9], 0
mov dword [esp + 0x890], 0
mov eax, dword [esp + 0x890]
cmp eax, 0x2c
ja 0x42076a
nop
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x890]
movzx ecx, byte [esp + ecx + 0x90]
lea edx, [eax + 0x3a666c9]
and edx, ecx
add eax, ecx
add eax, 0x3a666c9
add edx, edx
sub eax, edx
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa90]
add al, 0x81
mov ecx, dword [esp + 0x890]
mov byte [esp + ecx + 0x90], al
inc dword [esp + 0x890]
mov eax, dword [esp + 0x890]
cmp eax, 0x2d
jb 0x420710
lea eax, [esp + 0x90]
mov ecx, dword [ebp + 8]
push dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
push esi
push eax
call fcn.004095b0
jmp dword [0x441eb8]
push esi
mov esi, eax
call fcn.00408c30
mov eax, esi
add esp, 4
jmp case.0x41fb1e.50
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov word [esi], 0
mov eax, dword [esp + 8]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x441eb0]
and al, 1
jmp 0x42079a
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441dc8]
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], 0
cmp ecx, dword [esp + 0x2c]
setb al
mov dword [esp + 0x20], 0
jmp dword [eax*4 + 0x441dd0]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x2c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043a430
add esp, 0x24
lea eax, [esp + 0x64]
lea ecx, [esp + 0x2c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043a430
add esp, 0x24
jmp dword [0x441dc0]
int3
xor eax, eax
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
cmp edx, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x442574]
movzx ecx, word [esi]
xor ebx, ebx
test cx, cx
je 0x421512
mov eax, esi
jmp 0x421412
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442554]
jmp dword [ecx*4 + 0x4424c4]
mov dword [esp + 0x50], 0xb340b15c
mov dword [esp + 0x54], 0xb771b571
mov dword [esp + 0x58], 0xab59a951
mov dword [esp + 0x5c], 0xaf5cad58
mov dword [esp + 0x60], 0xa34ea149
mov dword [esp + 0x64], 0xa767a559
mov dword [esp + 0x68], 0x5ba2599b
mov dword [esp + 0x6c], 0x5fa05da5
mov dword [esp + 0x70], 0x53be5195
mov dword [esp + 0x74], 0x57a955a7
mov dword [esp + 0x78], 0x4bbe498e
mov dword [esp + 0x7c], 0x4f8f4dbb
mov dword [esp + 0x80], 0x438741b2
mov dword [esp + 0x84], 0x47bb45a8
mov dword [esp + 0x88], 0x7b9979e1
mov dword [esp + 0x8c], 0x7fe17dee
mov dword [esp + 0x90], 0x73ed71e3
mov dword [esp + 0x94], 0x77e27592
mov dword [esp + 0x98], 0x6b9d6984
mov dword [esp + 0x9c], 0x6ff06df5
mov dword [esp + 0xa0], 0x63fd6184
mov dword [esp + 0xa4], 0x67f565f3
mov dword [esp + 0xa8], 0x1bd919f4
mov dword [esp + 0xac], 0x1f8c1d89
mov dword [esp + 0xb0], 0x13f71182
mov dword [esp + 0xb4], 0x1782158a
mov dword [esp + 0xb8], 0xbef09fe
mov dword [esp + 0xbc], 0xf9d0d9e
mov dword [esp + 0xc0], 0x39d0199
mov dword [esp + 0xc4], 0x7ea059a
mov dword [esp + 0xc8], 0x3ba439cd
mov dword [esp + 0xcc], 0x3fa03da5
mov dword [esp + 0xd0], 0x33a631a3
mov dword [esp + 0xd4], 0x37aa35d5
mov dword [esp + 0xd8], 0x2b2a29b4
mov dword [ebx + 7], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x96
ja 0x420e15
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
lea esi, [ecx + 0x68]
add ecx, edx
and esi, edx
add esi, esi
sub ecx, esi
add ecx, 0x576d5d68
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
or edx, 0x27
and ecx, 0x27
add ecx, edx
inc cl
mov edx, dword [esp]
mov byte [esp + edx + 0x50], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x97
jb case.default.0x420e2f
lea ecx, [esp + 0x14]
lea edx, [esp + 0x50]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043a010
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4424cc]
lea eax, [esp + 0x44]
lea ecx, [esp + 0x3c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x34]
call fcn.0043a430
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4424d4]
jmp 0x4212a6
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x44254c]
mov eax, dword [esp + 0x3c]
mov ecx, eax
and ecx, 0x104
mov edx, eax
or eax, 0x104
imul eax, ecx
xor ecx, 0x104
and edx, 0x7ffffefb
imul edx, ecx
add eax, edx
lea eax, [edi + eax*2]
push eax
push dword [esp + 0x10]
call fcn.00436d40
add esp, 8
mov dword [esp + 0xc], eax
lea edi, [eax + edi*2]
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esp + 0x3c]
setb al
jmp dword [eax*4 + 0x4424dc]
push dword [esp + 0x10]
push 1
push dword [0x447394]
push eax
call fcn.00436ea0
add esp, 0x10
jmp dword [0x442514]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x44]
mov eax, edi
inc eax
lea esi, [edi + edi + 2]
jns 0x420f16
mov esi, 0xffffffff
jmp dword [0x4424e8]
push esi
call fcn.00408c20
add esp, 4
mov dword [esp + 0x38], edi
lea ecx, [esp + 0x38]
push ecx
push eax
push ebx
push dword [esp + 0x20]
call fcn.0043a160
add esp, 0x10
nop
nop
nop
nop
push esi
call fcn.00408c20
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push eax
push edi
push ebx
push dword [esp + 0x20]
call fcn.0043a160
add esp, 0x10
jmp dword [0x4424f0]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4424f4]
jmp dword [0x44251c]
lea eax, [esp + 0x34]
push dword [esp + 0x14]
push 0
push 0x20019
push eax
push edi
call fcn.0043a010
add esp, 0x14
not eax
shr eax, 0x1f
lea esi, [esp + 0x50]
jmp dword [eax*4 + 0x4424fc]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x18], 0x235b2d68
mov dword [esp + 0x1c], 0x27562157
mov dword [esp + 0x20], 0x3b5b2558
mov dword [esp + 0x24], 0x3f6c39b1
mov dword [esp + 0x28], 0x334f3d5d
mov dword [esp + 0x2c], 0x37363155
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x17
ja 0x421046
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x18]
lea ecx, [eax + edx]
add ecx, 0xf2f36526
add eax, 0x26
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xf6
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x18
jb 0x421000
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x18]
push eax
push esi
push 0
push ecx
push dword [esp + 0x44]
call fcn.0043aa90
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442504]
jmp dword [0x44250c]
movzx eax, word [esp + 0x50]
test ax, ax
je 0x4210a3
lea ecx, [esp + 0x52]
mov edx, dword [esp + 8]
nop
nop
nop
nop
nop
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 0x421090
jmp 0x4210a7
mov edx, dword [esp + 8]
mov word [edx], 0xa
add edx, 2
mov dword [esp + 8], edx
jmp dword [0x44250c]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0xea151417
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x421148
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
lea edx, [ecx + eax]
add edx, 0xcd3d62fd
add ecx, 0xfd
and ecx, eax
add ecx, ecx
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp], ecx
mov eax, dword [esp]
add al, 0x15
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
mov eax, dword [esp + 4]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x4210f0
mov ecx, dword [0x44738c]
test ecx, ecx
je case.0x421064.2
mov edx, dword [esp + 0x18]
xor esi, esi
mov eax, dword [0x447390]
nop
nop
nop
cmp dword [eax + esi*8], 0x11081610
je 0x421170
inc esi
cmp ecx, esi
jne 0x421160
jmp case.0x421064.2
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
je case.0x421064.2
push dword [esp + 0x10]
push 1
push dword [0x447394]
push eax
call fcn.00436ea0
add esp, 0x10
nop
nop
nop
mov esi, dword [esp + 0x34]
mov dword [esp + 0x18], 0xea151417
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x421218
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
lea edx, [ecx + eax]
add edx, 0xcd3d62fd
add ecx, 0xfd
and ecx, eax
add ecx, ecx
mov eax, ecx
xor eax, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp], ecx
mov eax, dword [esp]
add al, 0x15
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
mov eax, dword [esp + 4]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x4211c0
mov dword [esp + 0x10], esi
mov ecx, dword [0x44738c]
test ecx, ecx
je 0x421260
mov edx, dword [esp + 0x18]
xor esi, esi
mov eax, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x11081610
je 0x421250
inc esi
cmp ecx, esi
jne 0x421240
jmp 0x421260
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x420ee0
nop
nop
nop
nop
jmp dword [0x442514]
jmp dword [0x44251c]
push edi
call fcn.00408c30
add esp, 4
mov eax, dword [case.0x421064.10]
nop
nop
nop
nop
nop
nop
jmp eax
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x3c]
setb al
mov edi, dword [esp + 8]
jmp dword [eax*4 + 0x4424dc]
mov word [edi], 0
mov dword [esp + 8], edi
sub edi, dword [esp + 0xc]
sar edi, 1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xea151417
mov dword [esp + 0x54], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x421325
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
lea esi, [ecx + edx]
add esi, 0xcd3d62fd
add ecx, 0xfd
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x15
mov edx, dword [esp]
mov byte [esp + edx + 0x50], cl
mov ecx, dword [esp]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp], ecx
mov ecx, dword [esp]
cmp ecx, 8
jb 0x4212d0
mov ecx, dword [0x44738c]
test ecx, ecx
je case.default.0x421387
mov edx, dword [esp + 0x50]
xor esi, esi
mov ebx, dword [0x447390]
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x11081610
je 0x421350
inc esi
cmp ecx, esi
jne 0x421340
jmp case.default.0x421387
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x421387
push eax
push 1
push dword [0x447394]
push ecx
call fcn.00436ea0
add esp, 0x10
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x50]
push eax
call fcn.004395c0
add esp, 4
movzx edx, al
xor eax, eax
mov ecx, 1
jmp dword [edx*4 + 0x442534]
xor edx, edx
cmp dword [esp + 0x50], 1
sete dl
jmp dword [edx*4 + 0x44253c]
lea ebx, [esp + 0xdc]
jmp dword [ecx*4 + 0x442544]
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x44254c]
mov eax, 2
xor ecx, ecx
lea ebx, [esp + 0xdc]
jmp dword [ecx*4 + 0x442544]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x44254c]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44255c]
mov eax, 0x20119
xor ecx, ecx
jmp dword [0x44256c]
add ebx, esi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 8]
je 0x42143e
test edx, edx
je 0x42141a
cmp eax, edx
jae 0x42143e
movzx edi, cx
xor ecx, ecx
cmp edi, 0x800
setb dl
mov esi, 1
cmp edi, 0x80
jb 0x421400
mov cl, dl
xor ecx, 3
mov esi, ecx
jmp 0x421400
lea esi, [ebx + 1]
push esi
call fcn.00408c20
add esp, 4
test ebx, ebx
mov dword [esp + 0x40], eax
jle 0x421524
lea ecx, [eax + ebx]
mov dword [esp + 0x10], ecx
add esi, eax
mov dword [esp + 0x48], esi
mov edx, dword [esp + 0xc]
mov edi, eax
jmp 0x421486
mov byte [edi], cl
mov esi, 1
add edx, 2
add edi, esi
cmp edi, dword [esp + 0x10]
jae 0x421526
mov eax, dword [esp + 8]
test eax, eax
je 0x421496
cmp edx, eax
jae 0x421526
movzx ecx, word [edx]
test cx, cx
je 0x421526
cmp cx, 0x7f
jbe 0x421470
mov eax, edi
not eax
add eax, dword [esp + 0x48]
cmp eax, 2
jb 0x4214e0
movzx esi, cx
cmp esi, 0x7ff
ja 0x4214e0
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 esi, 2
jmp 0x421477
xor esi, esi
cmp eax, 3
jb 0x421477
movzx esi, cx
mov eax, esi
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov esi, 3
jmp 0x421477
push 1
call fcn.00408c20
add esp, 4
mov edi, eax
mov dword [esp + 0x40], eax
jmp 0x421526
mov edi, eax
mov ecx, dword [ebp + 8]
mov byte [edi], 0
mov dword [esp + 0x50], 0x57585e7b
mov dword [esp + 0x54], 0x4250402b
mov dword [esp + 0x58], 0x4f325196
mov byte [esp + 0x5c], 0xb8
mov dword [esp + 0x5d], 0
mov word [esp + 0x61], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x4215b1
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
mov esi, eax
and esi, 0xfd1e2966
xor eax, 0x7d1e2966
lea eax, [eax + esi*2]
mov esi, eax
and esi, edx
add eax, edx
add esi, esi
sub eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0x36
mov edx, dword [esp]
mov byte [esp + edx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x421570
lea eax, [esp + 0x50]
push ebx
mov edi, dword [esp + 0x44]
push edi
push eax
call fcn.004095b0
mov ebx, eax
mov esi, dword [esp + 0xc]
jmp dword [0x44257c]
push edi
call fcn.00408c30
add esp, 4
push esi
call fcn.004352b0
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x54]
push 0x410
call fcn.00435600
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44258c]
lea ecx, [esp + 0x54]
call fcn.00435730
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x68], 0x6a037865
mov dword [esp + 0x6c], 0x706a0d60
mov dword [esp + 0x70], 0x6c656301
mov dword [esp + 0x74], 0x177e6605
mov dword [esp + 0x78], 0x601b1206
mov dword [esp + 0x7c], 0x7f1c161d
mov dword [esp + 0x80], 0x72791e7a
mov dword [esp + 0x84], 0x761f7413
mov dword [esp + 0x88], 0x66707672
mov dword [esp + 0x8c], 0xe635571
mov dword [esp + 0x90], 0xab5a6161
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x37
ja 0x421c9f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x68]
mov edx, eax
and edx, 0x36787a20
xor eax, 0xb6787a20
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x20
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x68], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x38
jb 0x421c50
lea eax, [esp + 0x20]
lea ecx, [esp + 0x54]
push 0
push 0x2b
push esi
push eax
call fcn.00435ba0
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp esi, ecx
sete al
jmp dword [eax*4 + 0x442594]
mov eax, ecx
sub eax, esi
sar eax, 2
mov ebx, ecx
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.00408c20
mov ecx, esi
add esp, 4
mov edi, eax
mov dword [esp + 0x64], 0
xor eax, eax
mov dword [esp + 0x4c], ebx
cmp esi, ebx
setne al
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0
jmp dword [eax*4 + 0x44259c]
mov ecx, dword [esp + 0x50]
add ecx, 4
xor eax, eax
cmp ecx, dword [esp + 0x4c]
setne al
jmp dword [eax*4 + 0x44259c]
mov dword [esp + 0x50], ecx
mov esi, dword [ecx]
push 0x400
push 0
lea ebx, [esp + 0x70]
push ebx
call fcn.00408cb0
add esp, 0xc
lea eax, [esp + 0x38]
lea ecx, [esp + 0x54]
push eax
push 0x400
push ebx
push esi
call fcn.00435a30
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
jmp dword [ecx*4 + 0x4425a4]
xor eax, eax
cmp dword [esp + 0x38], 0
sete al
jmp dword [eax*4 + 0x4425ac]
mov eax, 1
jmp dword [eax*4 + 0x4425b4]
mov eax, dword [esp + 0x64]
jmp dword [eax*4 + 0x4425b4]
mov byte [esp + 0x467], 0
movzx ecx, byte [esp + 0x68]
xor eax, eax
test cl, cl
je 0x421df2
lea edx, [esp + 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x2e
je 0x421df0
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x421de0
jmp 0x421df2
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4425bc]
lea esi, [eax + 1]
movzx ecx, byte [eax + 1]
xor ebx, ebx
test cl, cl
je 0x421e22
mov edx, esi
nop
cmp cl, 0x2e
je 0x421e20
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x421e10
jmp 0x421e22
mov ebx, edx
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x4425c4]
mov dword [esp + 8], ebx
mov dword [esp + 0x1c], esi
sub ebx, esi
mov esi, ebx
and esi, 0xfffffffc
mov edx, ebx
and edx, 3
mov ecx, ebx
or ecx, 3
imul ecx, edx
xor edx, 3
imul edx, esi
add ecx, edx
shr ecx, 2
movzx eax, byte [eax + ebx]
cmp eax, 0x3d
je 0x421e65
cmp eax, 0x2e
jne 0x421e66
dec ecx
mov esi, dword [esp + 0x1c]
movzx eax, byte [ebx + esi - 2]
cmp eax, 0x3d
mov dword [esp + 0x34], ebx
je 0x421e7d
cmp eax, 0x2e
jne 0x421e7e
dec ecx
mov ebx, dword [esp + 8]
mov dword [esp + 0x60], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408c20
add esp, 4
mov dword [esp + 0x18], eax
cmp ebx, esi
je 0x421fa7
xor esi, esi
xor eax, eax
jmp 0x421ec7
mov eax, esi
and eax, 4
xor esi, 4
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x14]
cmp esi, ecx
jae 0x421fa7
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x1c]
movzx eax, byte [ebx + esi]
push eax
call fcn.00418c70
add esp, 4
mov byte [esp + 0x14], al
movzx eax, byte [ebx + esi + 1]
push eax
call fcn.00418c70
mov edx, dword [esp + 0xc]
add esp, 4
mov bh, al
movzx ecx, byte [esp + 0x14]
shl cl, 2
shr al, 4
and al, 3
or al, cl
lea ecx, [edx + 1]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
mov byte [ecx + edx], al
lea eax, [esi + 2]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jae 0x421eb0
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx + eax]
push eax
call fcn.00418c70
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
je 0x421eb0
shl bh, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, bh
mov ebx, dword [esp + 8]
mov byte [esp + 0xf], al
lea edx, [ebx + 2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x18]
mov byte [edx + ebx + 1], ah
lea eax, [esi + 3]
cmp eax, ecx
jae 0x421eb0
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx + eax]
push eax
call fcn.00418c70
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
movzx edx, byte [esp + 0xf]
je 0x421eb0
shl dl, 6
add al, dl
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov byte [edx + ebx + 2], al
add ebx, 3
mov dword [esp + 0x14], ebx
jmp 0x421eb0
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x18]
mov byte [esi + eax], 0
push esi
call fcn.00401f00
add esp, 4
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
jmp dword [0x4425cc]
jmp dword [0x4425d4]
mov byte [edi], 0xa
inc edi
mov bl, 1
jmp dword [0x4425fc]
movzx eax, byte [esp + 0x68]
test al, al
je 0x421fd0
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x421ff0
jmp 0x421fd0
mov dword [esp + 0x38], 0x33aabebb
lea ecx, [esp + 0x3c]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 9
ja 0x422071
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x38]
lea esi, [ecx + 9]
and esi, edx
mov ebx, 0xf7d447f6
sub ebx, ecx
or ebx, edx
not ebx
add ebx, edx
sub ebx, esi
mov dword [esp + 4], ebx
mov ecx, dword [esp + 4]
add cl, 0xc1
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0xa
jb 0x422030
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.00402830
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4425ec]
lea edx, [esp + 0x69]
mov esi, dword [esp + 8]
jmp dword [0x4425f4]
movzx ecx, byte [eax]
test cl, cl
je 0x4220bd
inc eax
lea edx, [esp + 0x69]
mov esi, dword [esp + 8]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4220b0
jmp 0x4220c5
lea edx, [esp + 0x69]
mov esi, dword [esp + 8]
mov byte [edi], 0x3a
mov byte [edi + 1], 0x20
add edi, 2
jmp dword [0x4425f4]
movzx eax, byte [esp + 0x68]
test al, al
je 0x4220eb
mov ecx, edx
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4220e0
mov byte [edi], 0xa
inc edi
jmp case.0x422086.2
push esi
call fcn.00408c30
add esp, 4
push esi
call fcn.00408c30
add esp, 4
jmp dword [0x4425dc]
mov esi, dword [esp + 8]
push esi
call fcn.004028b0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4425e4]
mov dword [esp + 0x30], ebx
push esi
call fcn.00402b10
add esp, 4
mov ecx, dword [esp + 0x50]
add ecx, 4
xor eax, eax
cmp ecx, dword [esp + 0x4c]
setne al
jmp dword [eax*4 + 0x44259c]
mov ebx, dword [esp + 0x30]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x442614]
jmp dword [0x44261c]
and bl, 1
jmp dword [0x442624]
xor ebx, ebx
jmp dword [0x442624]
mov ecx, dword [ebp + 8]
mov byte [edi], 0
sub edi, dword [esp + 0x2c]
mov dword [esp + 0x68], 0x6f727141
mov dword [esp + 0x6c], 0x7367666d
mov dword [esp + 0x70], 0x78646661
mov dword [esp + 0x74], 0x6a7a5e23
mov dword [esp + 0x78], 0x473d7c71
mov dword [esp + 0x7c], 0x79737e7b
mov dword [esp + 0x80], 0x636e376b
mov word [esp + 0x84], 0x1d68
mov dword [esp + 0x86], 0
mov dword [esp + 0x8a], 0
mov byte [esp + 0x8e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x26
ja 0x422240
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x68]
lea esi, [eax + edx]
add esi, 0x14849a80
add eax, 0x14849a80
and eax, edx
add eax, eax
sub esi, eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x38]
add al, 0x80
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x68], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x27
jb 0x422200
lea eax, [esp + 0x68]
push edi
push dword [esp + 0x30]
push eax
call fcn.004095b0
mov ebx, eax
jmp dword [0x44261c]
push dword [esp + 0x2c]
call fcn.00408c30
add esp, 4
and bl, 1
jmp dword [0x442624]
mov eax, dword [esp + 0x20]
test eax, eax
je case.0x421e29.24
cmp eax, dword [esp + 0x24]
je case.0x421e29.24
push eax
call fcn.00408c30
add esp, 4
jmp case.0x421e29.24
jmp dword [0x44262c]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x422290
cmp eax, dword [esp + 0x24]
je 0x422290
push eax
call fcn.00408c30
add esp, 4
jmp 0x422290
int3
xor edx, edx
test esi, esi
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44268c]
jmp dword [ecx*4 + 0x442634]
mov dword [esp + 0x40], 0x8bf285fa
mov dword [esp + 0x44], 0x8fc189c1
mov dword [esp + 0x48], 0xb3f98dc1
mov dword [esp + 0x4c], 0xb7c6b1c6
mov dword [esp + 0x50], 0xbbc8b5c9
mov dword [esp + 0x54], 0xbfffb9c9
mov dword [esp + 0x58], 0xa3f4bdfb
mov dword [esp + 0x5c], 0xa7d2a1ed
mov dword [esp + 0x60], 0xabd8a5ed
mov dword [esp + 0x64], 0xafd9a9df
mov dword [esp + 0x68], 0xd3d8ade4
mov dword [esp + 0x6c], 0xd797d1ab
mov dword [esp + 0x70], 0xdb9fd5a0
mov dword [esp + 0x74], 0xdfa2d9a6
mov dword [esp + 0x78], 0xc3b0ddb9
mov dword [esp + 0x7c], 0xc7abc158
mov dword [esp + 0x80], 0xcbb1c5ba
mov dword [esp + 0x84], 0xcfa3c95e
mov dword [esp + 0x88], 0xf35fcda9
mov word [esp + 0x8c], 0xf1f2
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x52
ja 0x42242e
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0xa4440015
add ecx, 0x15
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x6d
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x53
jb 0x4223d0
lea ecx, [esp + 0xc]
lea edx, [esp + 0x40]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043a010
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44263c]
mov edi, ebx
lea ebx, [esp + 0x34]
lea eax, [esp + 4]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x2c]
call fcn.0043a430
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442644]
mov ecx, dword [esp + 0x34]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x422491
mov eax, 0xffffffff
push eax
call fcn.00408c20
add esp, 4
mov esi, eax
mov dword [esp + 0x40], 0x5bec5901
mov dword [esp + 0x44], 0x57da55e7
mov dword [esp + 0x48], 0x53e651f1
mov dword [esp + 0x4c], 0xaffead18
mov dword [esp + 0x50], 0xab26a909
mov dword [esp + 0x54], 0xa7a6a51c
mov dword [esp + 0x58], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x1b
ja 0x422541
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x74]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xb518b074
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
add al, 0xd4
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xac]
mov eax, dword [esp + 0xac]
cmp eax, 0x1c
jb 0x4224f0
push ebx
push esi
push 0
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x1c]
call fcn.0043aa90
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x44264c]
xor edi, edi
jmp dword [0x442654]
push esi
call fcn.00408c30
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], 0xea151417
mov dword [esp + 0x44], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 7
ja 0x422623
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0xcd3d62fd
add ecx, 0xfd
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x15
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x40], cl
mov ecx, dword [esp + 0xac]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xac]
cmp ecx, 8
jb 0x4225b0
mov ecx, dword [0x44738c]
test ecx, ecx
je case.default.0x422695
mov edx, dword [esp + 0x40]
xor esi, esi
mov ebx, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x11081610
je 0x422664
inc esi
cmp ecx, esi
jne 0x422640
jmp case.default.0x422695
mov esi, 4
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x44267c]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x422695
push eax
push 1
push dword [0x447394]
push ecx
call fcn.00436ea0
add esp, 0x10
nop
nop
xor eax, eax
mov ebx, edi
test edi, edi
setne al
mov esi, 2
lea edi, [esp + 0x8e]
jmp dword [eax*4 + 0x44265c]
lea eax, [esp + 0x40]
push eax
call fcn.004395c0
add esp, 4
movzx edx, al
xor ecx, ecx
mov eax, 1
jmp dword [edx*4 + 0x442664]
xor edx, edx
cmp dword [esp + 0x40], 1
sete dl
jmp dword [edx*4 + 0x44266c]
mov esi, ecx
jmp dword [eax*4 + 0x442674]
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x44267c]
xor eax, eax
jmp dword [eax*4 + 0x442674]
xor esi, esi
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x44267c]
xor edx, edx
cmp esi, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442684]
mov eax, dword [case.0x422695.16]
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
test ebx, ebx
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x4426a4]
mov dword [esp + 0x40], 0xb329b552
mov dword [esp + 0x44], 0xaf22b123
mov dword [esp + 0x48], 0xab3bad34
mov dword [esp + 0x4c], 0xa74ca933
mov dword [esp + 0x50], 0xa335a53b
mov dword [esp + 0x54], 0x5f3aa130
mov dword [esp + 0x58], 0x5bc55dc9
mov dword [esp + 0x5c], 0x57d25988
mov dword [esp + 0x60], 0x53ce55ca
lea eax, [esp + 0x64]
mov word [esp + 0x64], 0x5152
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x2b
ja 0x422804
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x69]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x31834f68
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
mov edx, ecx
xor edx, 0x20
and ecx, 0x20
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x2c
jb 0x4227b0
lea edi, [esp + 0xac]
lea edx, [esp + 0x40]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xd0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x422830
mov esi, ebx
cmp eax, 0xffffffd9
jge 0x422849
mov eax, 0xffffffff
jmp 0x42284c
add eax, 0x26
push eax
call fcn.00408c20
add esp, 4
mov ebx, eax
movzx ecx, word [esi]
test cx, cx
je 0x422881
lea edx, [esi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422870
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x4228b1
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4228a0
mov word [eax], 0
jmp dword [0x4426ac]
push esi
call fcn.00408c30
add esp, 4
lea eax, [esp + 4]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.004397d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4426b4]
xor esi, esi
mov eax, dword [case.0x422a79.27]
xor edi, edi
jmp case.0x422a79.24
mov dword [esp + 0x98], ebx
lea eax, [esp + 0x34]
push 0
push eax
push dword [esp + 0xc]
call fcn.00439b80
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x4426bc]
mov esi, dword [esp + 0x34]
lea eax, [esi + 1]
push eax
call fcn.00408c20
add esp, 4
push 0
push esi
mov dword [esp + 0x38], eax
push eax
push dword [esp + 0x10]
call fcn.00439c80
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x4426c4]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov byte [eax + esi], 0
push 0x20
call fcn.00408c20
add esp, 4
mov ecx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov eax, dword [case.0x422695.31]
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x38], ecx
push esi
push dword [esp + 0x34]
call fcn.00424f60
movzx eax, al
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x4426dc]
mov dword [esp + 0x40], 0x37003e13
mov dword [esp + 0x44], 0x3a080833
mov dword [esp + 0x48], 0x7332fc7
mov dword [esp + 0x4c], 0x20cd3c0a
mov dword [esp + 0x50], 0xe3b3000
mov dword [esp + 0x54], 0x2829d8cb
mov dword [esp + 0x58], 0x1f101817
mov dword [esp + 0x5c], 0x811f
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x1f
ja 0x422a60
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + ecx + 0x40]
lea ecx, [eax + edx]
add ecx, 0x7dd9309a
add eax, 0x9a
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
add al, 0xca
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jb 0x422a10
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x40]
push eax
call fcn.00425150
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
xor ebx, ebx
jmp dword [ecx*4 + 0x4426e4]
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edi, edi
xor edx, edx
xor ebx, ebx
jmp dword [eax*4 + 0x4426ec]
jmp dword [0x442700]
mov eax, dword [case.0x422695.32]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x422a79.15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x442724]
mov esi, dword [esp + 0x38]
mov ecx, esi
call fcn.004252c0
push esi
call fcn.00408c30
add esp, 4
jmp dword [0x44272c]
xor eax, eax
mov esi, dword [esp]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov dword [esi + ecx*8 + 4], eax
add edi, 8
mov ecx, dword [esp + 0x3c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov ebx, esi
jmp dword [eax*4 + 0x4426ec]
mov dword [esp + 0x3c], ecx
mov eax, dword [ecx]
mov ecx, edi
sub ecx, esi
sar ecx, 3
cmp edi, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
je 0x422b2f
mov ebx, esi
jmp 0x422bbd
mov dword [esp + 0x2c], edx
lea eax, [ecx + 1]
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x422b42
mov edi, eax
mov eax, edi
and eax, 0xfffffff7
mov ecx, edi
and ecx, 8
mov edx, edi
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.00408c20
add esp, 4
mov ebx, eax
test esi, esi
je 0x422bad
mov edx, dword [esp + 0x2c]
cmp esi, edx
je 0x422ba4
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x422b80
mov edx, esi
push edx
call fcn.00408c30
add esp, 4
mov ecx, dword [esp + 0x1c]
lea eax, [ebx + ecx*8]
lea edx, [ebx + edi*8]
mov edi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], edi
mov dword [ebx + ecx*8], 0
mov dword [esp], ebx
mov dword [ebx + ecx*8 + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
mov esi, ebx
inc ebx
cmp byte [eax + esi], 0
jne 0x422be0
push ebx
mov edi, eax
call fcn.00408c20
add esp, 4
mov ecx, dword [esp]
mov edx, dword [esp + 0x1c]
mov dword [ecx + edx*8], eax
mov ecx, ebx
shr ecx, 2
mov edx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, dword [esp + 0x14]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edi, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
mov edi, eax
mov eax, dword [esp + 0x18]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
je 0x422c49
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov eax, dword [esp + 0x24]
mov byte [eax + ecx], dl
cmp ebx, 1
mov edi, dword [esp + 0x28]
je 0x422ae2
lea ecx, [ebx - 1]
cmp ebx, 2
jne 0x422c62
xor eax, eax
jmp 0x422ccb
mov dword [esp + 0x18], ecx
and esi, 0xfffffffe
xor eax, eax
mov ecx, dword [esp + 0x14]
nop
mov edx, eax
not edx
movzx edi, byte [ecx]
mov ebx, edi
and ebx, edx
add edx, edi
add ebx, ebx
sub edx, ebx
movzx edx, dl
shr eax, 8
or eax, 0xff000000
xor eax, dword [edx*4 + 0x43c7a0]
mov edx, eax
not edx
movzx edi, byte [ecx + 1]
mov ebx, edi
and ebx, edx
add edx, edi
add ebx, ebx
sub edx, ebx
movzx edx, dl
shr eax, 8
or eax, 0xff000000
xor eax, dword [edx*4 + 0x43c7a0]
add ecx, 2
add esi, 0xfffffffe
jne 0x422c70
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
test cl, 1
mov esi, dword [esp]
mov edx, dword [esp + 0x2c]
je 0x422aeb
mov ecx, eax
not ecx
mov edx, dword [esp + 0x14]
movzx edx, byte [edx]
mov ebx, esi
mov esi, edx
and esi, ecx
add ecx, edx
mov edx, dword [esp + 0x2c]
add esi, esi
sub ecx, esi
mov esi, ebx
movzx ecx, cl
shr eax, 8
or eax, 0xff000000
xor eax, dword [ecx*4 + 0x43c7a0]
jmp 0x422aeb
jmp dword [0x44272c]
push dword [esp + 0x30]
call fcn.00408c30
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x442740]
mov dword [esp + 0x28], edi
mov eax, dword [esp + 4]
mov dword [esp + 0x40], 0xea151417
mov dword [esp + 0x44], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 7
ja 0x422dc1
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0xcd3d62fd
add ecx, 0xfd
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x15
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x40], cl
mov ecx, dword [esp + 0xc]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 8
jb 0x422d60
mov ecx, dword [0x44738c]
test ecx, ecx
je 0x422e0a
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x422df0
inc esi
cmp ecx, esi
jne 0x422de0
jmp 0x422e0a
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x422e0a
push eax
push 1
push dword [0x447394]
push ecx
call fcn.00436ea0
add esp, 0x10
mov eax, dword [case.0x422a79.27]
mov edi, dword [esp + 0x28]
mov esi, ebx
mov ebx, dword [esp + 0x98]
nop
nop
nop
nop
jmp eax
jmp dword [0x442754]
push ebx
call fcn.00408c30
add esp, 4
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44275c]
xor eax, eax
jmp dword [0x442860]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44275c]
mov dword [esp + 0x28], edi
mov eax, edi
mov dword [esp], esi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408c20
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], 0x237e2d49
mov dword [esp + 0x44], 0x27812193
mov dword [esp + 0x48], 0x3b862585
mov dword [esp + 0x4c], 0x3f8e3979
mov dword [esp + 0x50], 0x33763d8c
mov dword [esp + 0x54], 0x37823191
mov dword [esp + 0x58], 0xb6f3595
mov dword [esp + 0x5c], 0xf5909a4
mov dword [esp + 0x60], 0x3a70db8
mov dword [esp + 0x64], 0x7bb01a1
mov dword [esp + 0x68], 0x1ba605a8
mov dword [esp + 0x6c], 0x1fb919ab
mov dword [esp + 0x70], 0x13ae1dbd
mov dword [esp + 0x74], 0x179c1162
mov dword [esp + 0x78], 0x6bd015b0
lea eax, [esp + 0x7c]
mov dword [esp + 0x7c], 0x6968
mov byte [esp + 0x80], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x40
ja 0x422f62
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0x199eb886
add ecx, 0x199eb886
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0x56
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x41
jb 0x422f20
lea esi, [esp + 0xdc]
lea edx, [esp + 0x40]
mov edi, esi
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x118]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea ebx, [esp + 0x34]
push ebx
push 0
push 0
push 0x1e
push esi
push 0
call dword [0x446380]
mov edi, dword [esp + 0x34]
test edi, edi
jns 0x422fae
mov eax, 0xffffffff
jmp 0x422fb1
lea eax, [edi + edi]
push eax
call fcn.00408c20
add esp, 4
mov esi, eax
push ebx
push edi
push eax
push 0x1e
lea eax, [esp + 0xec]
push eax
push 0
call dword [0x446380]
lea eax, [esp + 0x9c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xa8], esi
push esi
call fcn.004397d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442764]
xor ebx, ebx
mov esi, dword [esp + 0x18]
jmp dword [0x442844]
push dword [esp + 0x98]
call fcn.00408c30
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov edi, dword [esp + 0x28]
mov eax, ebx
jmp dword [ecx*4 + 0x44284c]
mov byte [esi], 0
sub esi, dword [esp + 0x18]
mov dword [esp + 0x40], 0x2f2a2919
mov dword [esp + 0x44], 0x1b07060d
mov dword [esp + 0x48], 0x10141609
mov dword [esp + 0x4c], 0x2123edb
mov dword [esp + 0x50], 0x37dd1c09
mov dword [esp + 0x54], 0x11b1e03
mov dword [esp + 0x58], 0xb0ec703
mov word [esp + 0x5c], 0xfd00
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x24
ja 0x4230ea
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x40]
lea ecx, [eax + edx]
add ecx, 0x94b5109c
add eax, 0x94b5109c
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xbc
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x25
jb 0x4230a0
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x1c]
lea eax, [esp + 0x48]
push eax
call fcn.004095b0
jmp dword [0x442854]
push dword [esp + 0x18]
mov esi, eax
call fcn.00408c30
mov eax, esi
add esp, 4
and al, 1
mov esi, dword [esp]
jmp dword [0x442860]
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0xa4]
call fcn.00439b80
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x18]
jmp dword [eax*4 + 0x44276c]
mov esi, dword [esp + 0xa8]
lea eax, [esi + 1]
push eax
call fcn.00408c20
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xa8]
call fcn.00439c80
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x18]
jmp dword [eax*4 + 0x442774]
mov esi, dword [esp + 0xa8]
mov byte [edi + esi], 0
push 0x20
call fcn.00408c20
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0xa0], eax
mov ecx, eax
push esi
mov dword [esp + 0xd8], edi
push edi
call fcn.00424f60
movzx eax, al
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x18]
mov esi, dword [esp]
jmp dword [eax*4 + 0x44277c]
mov dword [esp + 0x40], 0x27542e43
mov dword [esp + 0x44], 0x52245423
mov dword [esp + 0x48], 0x374b5f77
mov dword [esp + 0x4c], 0x5c71483a
mov dword [esp + 0x50], 0x3e434434
mov dword [esp + 0x54], 0x3939667b
mov dword [esp + 0x58], 0xcfb9bcc6
mov dword [esp + 0x5c], 0xc7bdbc9f
mov word [esp + 0x60], 0x51b5
mov dword [esp + 0x62], 0
mov word [esp + 0x66], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x27
ja 0x4232ba
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x3a33468]
and edx, ecx
add eax, ecx
add eax, 0x3a33468
add edx, edx
sub eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, eax
xor ecx, 0x27
and eax, 0x27
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x28
jb 0x423270
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x40]
push eax
call fcn.00425150
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x18]
jmp dword [ecx*4 + 0x442784]
add eax, 8
mov dword [esp + 0x24], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov ebx, dword [esp + 0x18]
jmp dword [eax*4 + 0x44278c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44278c]
mov edx, dword [ecx]
cmp dword [ecx + 0x18], 3
mov edi, 0
jne case.default.0x42333d
mov edi, dword [ecx + 0x10]
xor eax, eax
test edx, edx
setne al
mov dword [esp], esi
jmp dword [eax*4 + 0x4427a4]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4427ac]
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], ebx
mov eax, edi
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42339f
mov ebx, edi
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0xd8], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408c20
add esp, 4
mov edi, dword [case.0x4233dc.4]
movsx edx, byte [ebx]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0xa4], eax
mov dword [esp + 0x1c], eax
mov eax, ebx
jmp dword [ecx*4 + 0x4427b4]
mov ebx, esi
mov esi, edx
or esi, 0x20
lea ecx, [esi - 0x61]
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x4233c7
mov edx, 0xffffffff
cmp ecx, 6
jae case.default.0x4233dc
add esi, 0xffffffa9
mov edx, esi
movsx esi, byte [eax + 1]
xor ecx, ecx
test esi, esi
setne cl
jmp dword [ecx*4 + 0x4427bc]
inc eax
jmp 0x42341a
mov ebx, esi
or ebx, 0x20
lea ecx, [ebx - 0x61]
add esi, 0xffffffd0
cmp esi, 0xa
jb 0x423405
mov esi, 0xffffffff
shl edx, 4
cmp ecx, 6
jae 0x423412
add ebx, 0xffffffa9
mov esi, ebx
mov ebx, dword [esp]
or edx, esi
add eax, 2
mov ecx, dword [esp + 0x1c]
mov byte [ecx], dl
inc ecx
mov dword [esp + 0x1c], ecx
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
movsx edx, byte [eax]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x4427b4]
mov eax, dword [esp + 0x1c]
mov byte [eax], 0
mov edi, dword [esp + 0x14]
nop
nop
inc edi
movzx eax, byte [edi - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x423450
cmp ecx, 0x20
je 0x423450
movzx ecx, al
cmp ecx, 0x2b
je 0x423476
cmp ecx, 0x2d
jne 0x4236d6
cmp al, 0x2b
sete byte [esp + 0x23]
movzx eax, byte [edi]
cmp al, 0x30
jne 0x423494
movzx eax, byte [edi + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea edi, [edi + ecx*2]
xor esi, esi
mov dword [esp + 0x1c], 0
xor ecx, ecx
jmp 0x4234cb
xor edx, edx
xor ebx, ebx
mov eax, 0xffffffff
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x3c], 0x22
add edx, eax
adc ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], edx
mov ecx, ebx
mov eax, ecx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x3c], esi
movsx ecx, byte [edi]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x42350b
mov dword [esp + 0x14], eax
mov eax, ecx
and eax, 0xffffffdf
add eax, 0xffffffbf
cmp eax, 0x19
ja 0x423589
or cl, 0x20
cmp cl, 0x66
jg 0x423589
movsx edx, cl
add edx, 0xffffffa9
mov eax, dword [esp + 0x14]
inc edi
mov dword [esp + 0x2c], ebx
and ebx, eax
mov dword [esp + 0x1c], 0xffffffff
mov esi, 0x22
mov ecx, 0xffffffff
cmp ebx, 0xffffffff
je 0x4234cb
mov ecx, dword [esp + 0x2c]
test eax, 0xf0000000
je 0x423550
mov dword [esp + 0x1c], 0xffffffff
mov ecx, 0xffffffff
test edx, edx
jne 0x4234cb
jmp 0x4234a2
shld eax, ecx, 4
shl ecx, 4
mov ebx, edx
sar ebx, 0x1f
mov esi, eax
mov eax, edx
add eax, ecx
mov eax, ebx
mov dword [esp + 0x14], esi
adc eax, esi
mov eax, ecx
mov dword [esp + 0x1c], 0xffffffff
mov ecx, 0xffffffff
mov esi, 0x22
jb 0x4234cb
jmp 0x4234bb
xor edi, edi
mov eax, ebx
neg eax
mov ecx, 0
sbb ecx, dword [esp + 0x14]
cmp byte [esp + 0x23], 0
jne case.default.0x4235bb
mov ebx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], ebx
mov esi, dword [case.0x4232de.22]
xor eax, eax
mov ebx, dword [esp]
cmp ebx, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x4427d4]
cmp dword [esp + 0x3c], 0x22
setne al
mov ecx, dword [ebx + 4]
mov edx, ecx
shr edx, 0x1c
xor edx, dword [esp + 0x14]
shl ecx, 4
or ecx, 1
xor ecx, dword [esp + 0x2c]
or ecx, edx
sete cl
and cl, al
movzx ecx, cl
mov eax, 1
jmp dword [ecx*4 + 0x4427dc]
mov edi, dword [ebx]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp esi
jmp dword [eax*4 + 0x4427f4]
add ebx, 8
xor eax, eax
cmp ebx, dword [esp + 0x28]
setne al
jmp dword [eax*4 + 0x4427d4]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4427fc]
mov eax, dword [case.0x4232de.36]
mov esi, dword [esp]
mov ebx, dword [esp + 0x38]
jmp case.0x4232de.34
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
mov esi, dword [esp]
mov ebx, dword [esp + 0x38]
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4236c5
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0
push 0x932a8d34
push dword [0x447398]
call fcn.00438ca0
add esp, 8
lea ecx, [esp + 0xc]
lea edx, [esp + 4]
push edx
push 1
push 0
push 0
push ecx
push 0
lea ecx, [esp + 0x58]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x442804]
mov eax, dword [case.0x4232de.36]
jmp case.0x4232de.34
dec edi
mov byte [esp + 0x23], 1
cmp al, 0x30
je 0x423484
jmp 0x423494
movzx eax, byte [edi]
test al, al
je 0x42370b
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x423700
mov word [ebx], 0x203a
add ebx, 2
mov edx, dword [esp + 4]
test edx, edx
je 0x42374a
mov eax, dword [esp + 8]
mov ecx, edx
and ecx, 3
je 0x423750
xor esi, esi
mov edi, ebx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
mov ebx, edi
inc esi
cmp ecx, esi
jne 0x423728
add ebx, esi
mov ecx, edx
sub ecx, esi
mov esi, ebx
mov edi, dword [esp]
jmp 0x423754
mov edi, esi
mov esi, ebx
jmp 0x423792
mov edi, esi
mov ecx, edx
cmp edx, 4
jb 0x423792
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [ebx + 4]
mov byte [ebx + 3], dl
mov ebx, esi
add ecx, 0xfffffffc
jne 0x423759
mov byte [esi], 0xa
inc esi
push 0x2e0ec9bb
push dword [0x447384]
call fcn.00438ca0
add esp, 8
push dword [esp + 8]
call eax
mov al, 1
mov dword [esp + 0x24], eax
mov eax, dword [case.0x4232de.36]
mov ebx, esi
mov esi, edi
nop
nop
jmp eax
jmp dword [0x442824]
mov ecx, dword [esp + 0x30]
jmp dword [0x44282c]
push dword [esp + 0xa4]
call fcn.00408c30
mov ecx, dword [esp + 0x34]
add esp, 4
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44278c]
jmp dword [0x44279c]
mov dword [esp], esi
mov edi, dword [esp + 0xd4]
jmp dword [0x442834]
mov esi, dword [esp + 0xa0]
mov ecx, esi
call fcn.004252c0
push esi
call fcn.00408c30
add esp, 4
jmp dword [0x44283c]
jmp dword [0x44283c]
push edi
call fcn.00408c30
add esp, 4
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x40], 0xea151417
mov dword [esp + 0x44], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja 0x4238db
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0xcd3d62fd
add ecx, 0xfd
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x15
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
mov ecx, dword [esp + 4]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
cmp ecx, 8
jb 0x423880
mov ecx, dword [0x44738c]
test ecx, ecx
je 0x423918
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x423910
inc esi
cmp ecx, esi
jne 0x423900
jmp 0x423918
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42394b
mov esi, ebx
mov ebx, dword [esp + 0x24]
jmp dword [0x442844]
mov eax, ebx
and al, 1
movzx ecx, al
mov edi, dword [esp + 0x28]
mov eax, ebx
jmp dword [ecx*4 + 0x44284c]
jmp dword [0x442854]
and al, 1
mov esi, dword [esp]
jmp dword [0x442860]
jmp 0x423998
mov esi, ebx
push eax
push 1
push dword [0x447394]
push ecx
call fcn.00436ea0
add esp, 0x10
mov ebx, dword [esp + 0x24]
jmp dword [0x442844]
test esi, esi
je 0x423998
cmp esi, edi
je 0x423998
mov dword [esp], esi
mov ebx, eax
jmp 0x423984
cmp esi, edi
je 0x4239c8
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x423980
push eax
call fcn.00408c30
add esp, 4
jmp 0x423980
test esi, esi
je 0x4239da
cmp esi, edi
je 0x4239da
mov dword [esp], esi
mov ebx, eax
jmp 0x4239b4
cmp esi, edi
je 0x4239c8
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x4239b0
push eax
call fcn.00408c30
add esp, 4
jmp 0x4239b0
mov eax, dword [esp]
push eax
call fcn.00408c30
add esp, 4
xor edi, edi
xor esi, esi
mov eax, ebx
jmp dword [0x442864]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [case.0x422695.181]
nop
nop
jmp eax
jmp dword [0x442934]
push dword [esp + 0x70]
call fcn.00408c30
add esp, 4
jmp dword [0x442940]
xor eax, eax
cmp ecx, 3
setne al
jmp dword [eax*4 + 0x44286c]
mov dword [esp + 0x84], ecx
mov esi, dword [esp + ecx*4 + 0x114]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x423e50
mov dword [esp + 0x98], eax
sar eax, 1
mov dword [esp + 0x9c], eax
mov dword [esp + 0x10], 0x733e6d30
mov dword [esp + 0x14], 0x77d171c3
mov dword [esp + 0x18], 0x7bd675d5
mov dword [esp + 0x1c], 0x7f297918
mov dword [esp + 0x20], 0x43e37dc8
mov dword [esp + 0x24], 0x47e341f4
mov word [esp + 0x28], 0x4544
lea eax, [esp + 0x28]
mov dword [eax + 9], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x24
ja 0x423f1b
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, eax
and edx, 0xd70134e
xor eax, 0x8d70134e
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xc0]
add al, 0xde
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x25
jb 0x423ed0
lea edi, [esp + 0xa4]
lea eax, [esp + 0x10]
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x28]
lea edi, [esp + 0xbc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x9c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0xd
lea eax, [ecx + ecx]
add eax, 0x1a
test edx, edx
jns 0x423f66
mov eax, 0xffffffff
push eax
call fcn.00408c20
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x70]
movzx ecx, word [eax]
mov dword [esp + 0x90], edx
mov eax, edx
test cx, cx
je 0x423fb1
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423fa0
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x423fe1
lea edx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423fd0
mov word [eax], 0
movzx ecx, word [esp + 0xa4]
test cx, cx
mov dword [esp + 0x64], esi
je 0x424011
lea edx, [esp + 0xa6]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424000
mov word [eax], 0
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0xa0]
call fcn.004397d0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x442874]
lea eax, [esp + 0xa0]
push 0
push eax
push dword [esp + 0x80]
call fcn.00439b80
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x44287c]
mov esi, dword [esp + 0xa0]
lea eax, [esi + 1]
push eax
call fcn.00408c20
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x84]
call fcn.00439c80
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x442884]
mov eax, dword [esp + 0xa0]
mov byte [edi + eax], 0
push edi
call fcn.00401f00
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0xc], 0
jmp dword [ecx*4 + 0x44288c]
mov dword [esp + 0x110], edi
mov dword [esp + 0x80], eax
push eax
call fcn.004028b0
add esp, 4
mov dword [esp + 0x10], 0xf489e2ff
mov dword [esp + 0x14], 0xebf6e0e6
mov dword [esp + 0x18], 0xfcf0f8b6
mov dword [esp + 0x1c], 0x938ee8ee
mov dword [esp + 0x20], 0x8cf98181
mov word [esp + 0x24], 0x9085
mov byte [esp + 0x26], 0x16
lea ecx, [esp + 0x28]
mov word [ecx + 3], 0
mov dword [ecx - 1], 0
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x48]
cmp ecx, 0x1c
ja 0x42419d
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x48]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + 0x19ddb032]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x19ddb031
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
add cl, 0xa2
mov edx, dword [esp + 0x48]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
cmp ecx, 0x1d
jb 0x424150
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00402950
add esp, 8
mov ecx, 0xffffffff
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4241b0
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x5c]
and edx, 0xfffffffc
mov ecx, dword [esp + 0x5c]
and ecx, 3
mov esi, dword [esp + 0x5c]
or esi, 3
imul esi, ecx
xor ecx, 3
imul ecx, edx
mov edx, dword [esp + 0x5c]
add esi, ecx
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x4241f4
cmp ecx, 0x2e
jne 0x4241f5
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x88], eax
mov dword [esp + 0x74], ebx
je 0x42420f
cmp ecx, 0x2e
jne 0x424210
dec esi
mov dword [esp + 0x10c], esi
lea eax, [esi + 1]
push eax
call fcn.00408c20
add esp, 4
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x5c], 0
je 0x424345
xor edi, edi
xor eax, eax
jmp 0x424257
mov eax, edi
and eax, 4
xor edi, 4
lea edi, [edi + eax*2]
mov eax, dword [esp + 0xc]
cmp edi, edx
jae 0x424345
mov dword [esp + 0x8c], eax
mov esi, dword [esp + 0x88]
movzx eax, byte [esi + edi]
push eax
call fcn.00418c70
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi + 1]
push eax
call fcn.00418c70
mov edx, dword [esp + 0x60]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov esi, dword [esp + 0x8c]
lea ecx, [esi + 1]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6c]
mov byte [ecx + esi], al
lea eax, [edi + 2]
cmp eax, edx
jae 0x424240
mov ecx, dword [esp + 0x88]
movzx eax, byte [ecx + eax]
push eax
call fcn.00418c70
mov edx, dword [esp + 0x60]
add esp, 4
cmp al, 0x40
je 0x424240
shl bh, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, bh
mov esi, dword [esp + 0x8c]
lea ebx, [esi + 2]
mov byte [esp + 0x63], al
mov ecx, dword [esp + 0x6c]
mov byte [ecx + esi + 1], ah
lea eax, [edi + 3]
cmp eax, edx
mov dword [esp + 0xc], ebx
jae 0x424240
mov ecx, dword [esp + 0x88]
movzx eax, byte [ecx + eax]
push eax
call fcn.00418c70
mov edx, dword [esp + 0x60]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esp + 0x63]
je 0x424240
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x8c]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esp + 0xc], ebx
jmp 0x424240
mov eax, dword [esp + 0x10c]
add eax, 0xfffffffb
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6c]
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
push 0x932a8d34
push dword [0x447398]
call fcn.00438ca0
add esp, 8
lea ecx, [esp + 4]
lea edx, [esp + 0x48]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x442894]
mov dword [esp + 0xc], 0
mov eax, dword [case.0x422695.148]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
jmp case.0x422695.146
mov dword [esp + 0x10], 0xa33ca1f7
mov dword [esp + 0x14], 0xdf8add32
mov dword [esp + 0x18], 0xdb50d952
mov dword [esp + 0x1c], 0xd7d4d556
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x17
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x64]
ja 0x42444e
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0x9b37c4bb
add eax, 0x9b37c4bb
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0xe3
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x68]
cmp eax, 0x18
jb 0x424410
lea edi, [esp + 0xc0]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
xor ecx, ecx
lea edi, [esp + 0xd0]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x98]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x424488
mov eax, 0xffffffff
push eax
call fcn.00408c20
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x4244b1
lea edx, [esi + 2]
mov eax, edi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4244a0
mov word [eax], 0
movzx ecx, word [esp + 0xc0]
test cx, cx
je 0x4244f3
lea edx, [esp + 0xc2]
mov esi, dword [esp + 0x80]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4244e0
jmp 0x4244fa
mov esi, dword [esp + 0x80]
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 4]
push dword [esp + 0xc]
push edi
call fcn.00409400
mov dword [esp + 0xc], eax
jmp dword [0x44289c]
push edi
call fcn.00408c30
add esp, 4
push 0x2e0ec9bb
push dword [0x447384]
call fcn.00438ca0
add esp, 8
push dword [esp + 8]
call eax
mov eax, dword [case.0x422695.148]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0x110]
jmp dword [0x4428b4]
push dword [esp + 0x6c]
call fcn.00408c30
add esp, 4
jmp dword [0x4428c0]
jmp dword [0x4428c0]
jmp dword [esi*4 + 0x4428ec]
mov ecx, dword [esp + 0x84]
jmp dword [0x442918]
jmp dword [0x4428cc]
push edi
call fcn.00408c30
add esp, 4
jmp dword [0x4428d8]
jmp dword [0x4428d8]
push 0
push 0
push 0xc00000
lea eax, [esp + 0x1c]
push eax
push esi
push edi
push dword [ebp + 8]
call fcn.0041b6e0
add esp, 0x1c
movzx eax, al
and bl, 1
movzx ecx, bl
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
cmp eax, edx
setne bl
jmp dword [0x4428fc]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x36
ja 0x424656
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xd916]
add eax, 0x16
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0x66
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x37
jb 0x424620
lea edi, [esp + 0xc0]
lea eax, [esp + 0x10]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xec]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x9c]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x4246a0
mov eax, 0xffffffff
jmp 0x4246a7
add eax, edx
add eax, eax
add eax, 0x2e
mov dword [esp + 0x74], ebx
push eax
call fcn.00408c20
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x70]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x4246e1
mov edx, dword [esp + 0x94]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4246d0
mov ecx, dword [esp + 0x64]
lea ebx, [ecx + 2]
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [ecx]
test cx, cx
je 0x424711
mov edx, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424700
mov word [eax], 0
movzx ecx, word [esp + 0xc0]
test cx, cx
je 0x424741
lea edx, [esp + 0xc2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424730
mov word [eax], 0
mov dword [esp + 0x10], 0x93049147
mov dword [esp + 0x14], 0x9f029d7d
mov dword [esp + 0x18], 0x9b0c9971
mov dword [esp + 0x1c], 0x87668576
mov word [esp + 0x20], 0x8186
mov dword [esp + 0x26], 0
mov dword [esp + 0x22], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x4247e6
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xc3]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x81df56c3
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xaa
and eax, 0x2a
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp], eax
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x424790
lea edi, [esp + 0x48]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0x58]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x98]
cmp eax, 0xffffffed
jge 0x424820
mov eax, 0xffffffff
jmp 0x424823
add eax, 0x12
push eax
call fcn.00408c20
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x64]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x424851
mov eax, edi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x424840
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x424890
lea edx, [esp + 0x4a]
mov ebx, dword [esp + 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424870
jmp 0x424894
mov ebx, dword [esp + 0x74]
mov word [eax], 0
mov dword [esp + 0x10], 0x4b545508
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x4245d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax - 0x21ceab33]
add eax, 0xcd
or eax, edx
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0x64
and eax, 0x64
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x4248d0
jmp 0x4245d0
jmp dword [0x442904]
push edi
call fcn.00408c30
add esp, 4
jmp dword [0x44290c]
mov ecx, dword [esp + 0x84]
jmp dword [0x442918]
jmp dword [0x44290c]
push esi
call fcn.00408c30
add esp, 4
mov ecx, dword [esp + 0x84]
jmp dword [0x442918]
inc ecx
jmp dword [0x44291c]
inc ecx
inc ecx
jmp dword [0x44291c]
mov dword [esp + 0x10], 0x83fe8de0
mov dword [esp + 0x14], 0x87e18113
mov dword [esp + 0x18], 0xbb2685e5
mov dword [esp + 0x1c], 0xbfc9b998
mov dword [esp + 0x20], 0xb321bd28
mov dword [esp + 0x24], 0xb7d7b126
mov dword [esp + 0x28], 0xabcfb52f
mov dword [esp + 0x2c], 0xaf32a9c4
mov dword [esp + 0x30], 0xa328adc9
mov dword [esp + 0x34], 0xa73aa1c5
mov dword [esp + 0x38], 0xdbbca5c0
mov word [esp + 0x3c], 0xd9d8
lea eax, [esp + 0x28]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
jmp dword [0x4428f4]
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x36
ja 0x424a5b
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xd916]
add eax, 0x16
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
add al, 0x66
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x37
jb 0x424a20
lea edi, [esp + 0xc0]
lea eax, [esp + 0x10]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x3c]
lea edi, [esp + 0xec]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x9c]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x17
xor eax, 0x17
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
dec ecx
lea eax, [edx + edx]
add eax, 0xfffffffe
test ecx, ecx
jns 0x424ab0
mov eax, 0xffffffff
push eax
call fcn.00408c20
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x70]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x424af1
mov edx, dword [esp + 0x94]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424ae0
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esp + 0x64]
movzx ecx, word [edx]
test cx, cx
je 0x424b21
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424b10
mov word [eax], 0
movzx ecx, word [esp + 0xc0]
test cx, cx
je 0x424b51
lea edx, [esp + 0xc2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424b40
mov word [eax], 0
mov dword [esp + 0x10], 0x93049147
mov dword [esp + 0x14], 0x9f029d7d
mov dword [esp + 0x18], 0x9b0c9971
mov dword [esp + 0x1c], 0x87668576
mov word [esp + 0x20], 0x8186
mov dword [esp + 0x26], 0
mov dword [esp + 0x22], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x424bf6
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0xc3]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x81df56c3
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xaa
and eax, 0x2a
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp], eax
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x424ba0
lea edi, [esp + 0x48]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0x58]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x98]
lea eax, [ecx + 0x12]
cmp ecx, 0xffffffed
jge 0x424c2d
mov eax, 0xffffffff
push eax
call fcn.00408c20
add esp, 4
mov ecx, dword [esp + 0x64]
movzx edx, word [ecx]
mov ecx, eax
test dx, dx
je 0x424c61
mov ecx, dword [esp + 0x64]
lea edi, [ecx + 2]
mov ecx, eax
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424c50
mov word [ecx], 0
movzx edx, word [esp + 0x48]
test dx, dx
je 0x424c91
lea edi, [esp + 0x4a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424c80
mov word [ecx], 0
mov dword [esp + 0x10], 0x4b545508
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xb
ja 0x424d06
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx - 0x21ceab33]
add ecx, 0xcd
or ecx, edi
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esp + 4], edi
mov ecx, dword [esp + 4]
mov edx, ecx
xor edx, 0x64
and ecx, 0x64
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xc
jb 0x424cc0
push 0
push 0
push 0xc00000
lea ecx, [esp + 0x1c]
push ecx
push esi
push eax
push dword [ebp + 8]
call fcn.0041b6e0
add esp, 0x1c
and bl, 1
or bl, al
jmp case.0x422695.166
push dword [esp + 0x90]
call fcn.00408c30
add esp, 4
jmp dword [esi*4 + 0x4428ec]
push esi
call fcn.00402b10
add esp, 4
push esi
call fcn.00402b10
add esp, 4
jmp dword [0x4428c4]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], 0xea151417
mov dword [esp + 0x14], 0
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x48]
cmp ecx, 7
ja 0x424df1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x48]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0xcd3d62fd
add ecx, 0xfd
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
add cl, 0x15
mov edx, dword [esp + 0x48]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x48]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
cmp ecx, 8
jb 0x424d90
mov ecx, dword [0x44738c]
test ecx, ecx
je case.0x422695.159
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x424e20
inc esi
cmp ecx, esi
jne 0x424e10
jmp case.0x422695.159
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x422695.159
push eax
push 1
push dword [0x447394]
push ecx
call fcn.00436ea0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], 0xea151417
mov dword [esp + 0x14], 0
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x48]
cmp ecx, 7
ja 0x424ed1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x48]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0xcd3d62fd
add ecx, 0xfd
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
add cl, 0x15
mov edx, dword [esp + 0x48]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x48]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
cmp ecx, 8
jb 0x424e70
mov ecx, dword [0x44738c]
test ecx, ecx
je 0x424f10
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x447390]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x424f00
inc esi
cmp ecx, esi
jne 0x424ef0
jmp 0x424f10
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x424f21
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4428dc]
movzx esi, byte [esp + 0xc]
jmp dword [0x4428e4]
push eax
push 1
push dword [0x447394]
push ecx
call fcn.00436ea0
add esp, 0x10
jmp dword [0x4428dc]
jmp dword [0x442940]
nop
jmp dword [0x442944]
mov eax, dword [case.0x422695.191]
nop
nop
nop
nop
nop
jmp eax
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret