Function at 0x4219c1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov esi, esp
push eax
mov dword [esi + 4], esp
push eax
mov dword [esi + 8], esp
sub esp, 0x20
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
mov dword [esi + 0x10], 0x8b4b8db1
mov dword [esi + 0x14], 0x87768978
mov dword [esi + 0x18], 0x83638558
mov dword [esi + 0x1c], 0x9f7f810c
mov dword [esi + 0x20], 0x9b7e9da1
mov dword [esi + 0x24], 0x976e9974
mov dword [esi + 0x28], 0x93609519
mov dword [esi + 0x2c], 0xaf53916c
mov dword [esi + 0x30], 0xab54ad22
mov dword [esi + 0x34], 0xa728a951
mov dword [esi + 0x38], 0xa346a558
mov dword [esi + 0x3c], 0xbf30a170
mov dword [esi + 0x40], 0xbb40bd4f
mov dword [esi + 0x44], 0xb742b941
mov dword [esi + 0x48], 0xb33db549
lea eax, [esi + 0x4c]
mov dword [esi + 0xc], eax
mov word [esi + 0x4c], 0xb1b0
mov dword [esi + 0x4e], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x41
ja 0x41e557
nop
nop
nop
nop
mov edi, dword [esi]
mov ecx, dword [esi]
movzx eax, byte [esi + ecx + 0x10]
lea ecx, [edi + 0x76e4c2]
lea edx, [edi + eax]
add edx, 0x76e4c2
add edi, 0xc2
and edi, eax
and ecx, eax
add ecx, edi
mov eax, edx
not eax
and eax, ecx
not ecx
and ecx, edx
sub ecx, eax
mov dword [esi + 0x58], ecx
mov eax, dword [esi + 0x58]
add al, 0xb2
mov ecx, dword [esi]
mov byte [esi + ecx + 0x10], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x42
jb 0x41e510
lea edx, [esi + 0x58]
lea eax, [esi + 0x10]
mov ecx, 0xf
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esi + 0x94]
mov ecx, 1
mov eax, dword [esi + 0xc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 4]
push edi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x445fc8]
mov edi, dword [edi]
test edi, edi
jns 0x41e59b
mov eax, 0xffffffff
jmp 0x41e59e
lea eax, [edi + edi]
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 8]
mov dword [ecx], eax
push dword [esi + 4]
push edi
push eax
push 0x1e
lea eax, [esi + 0x58]
push eax
push 0
call dword [0x445fc8]
mov dword [ebx], 0x23b821ca
mov dword [ebx + 4], 0xdf4addad
mov dword [ebx + 8], 0xdb47d942
mov dword [ebx + 0xc], 0xd736d548
mov dword [ebx + 0x10], 0xd342d14d
mov dword [ebx + 0x14], 0xcfcccd4e
mov byte [ebx + 0x18], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x18
ja 0x41e62e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + 0x7b]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x7f32747b
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
add al, 0xa3
mov ecx, dword [esi]
mov byte [ebx + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x19
jb 0x41e600
mov eax, dword [esi + 8]
mov edi, dword [eax]
push 0
push 0
push ebx
push edi
push dword [ebp + 8]
call fcn.00417f00
add esp, 0x14
mov ebx, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x441ad8]
push edi
call fcn.00409030
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [esp + 0x60]
jmp dword [0x441aec]
lea eax, [esp + 0x34]
push 0
push 0
push 0
push 0
push edi
push eax
push 0
push 0
push dword [esp + 0x40]
call fcn.0043a630
add esp, 0x24
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x34]
push 0
push 0
push 0
push 0
push edi
push eax
push 0
push 0
push dword [esp + 0x40]
call fcn.0043a630
add esp, 0x24
jmp dword [0x441af4]
mov ecx, dword [case.0x41e64d.10]
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441b08]
xor ebx, ebx
jmp 0x420285
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x14], 0
cmp ecx, dword [esp + 0x34]
setb al
mov dword [esp + 0x24], 0
jmp dword [eax*4 + 0x441b10]
mov ebx, esi
jmp dword [0x441b1c]
mov esi, dword [esp + 0x60]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41e83a
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov dword [esp + 0x30], esi
lea ecx, [esp + 0x30]
push ecx
push eax
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0043a360
add esp, 0x10
jmp case.0x41e64d.17
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov edi, eax
mov dword [esp + 0x30], esi
lea eax, [esp + 0x30]
push eax
push edi
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0043a360
add esp, 0x10
jmp dword [0x441b24]
mov esi, dword [esp + 0x60]
mov eax, esi
inc eax
js 0x41e860
lea eax, [esi + esi]
add eax, 2
jmp 0x41e865
not eax
shr eax, 0x1f
mov esi, ebx
jmp dword [eax*4 + 0x441b28]
lea eax, [esp + 0x5c]
push dword [esp + 0x20]
push 0
push 0x20019
push eax
push edi
call fcn.0043a220
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441b30]
jmp dword [0x441c00]
mov dword [esp + 0x64], edi
mov dword [esp + 0x88], 0x4ba34d99
mov dword [esp + 0x8c], 0x57a849a7
mov dword [esp + 0x90], 0x53ad55a7
mov dword [esp + 0x94], 0x5fb451a3
mov dword [esp + 0x98], 0x5bbe5da0
mov dword [esp + 0x9c], 0x678f5983
mov dword [esp + 0xa0], 0x638e6596
mov dword [esp + 0xa4], 0x6f956193
mov dword [esp + 0xa8], 0x6b4a6d93
mov dword [esp + 0xac], 0x779b69bd
mov dword [esp + 0xb0], 0x738d758b
mov dword [esp + 0xb4], 0x7f957191
mov dword [esp + 0xb8], 0x7b887d95
mov dword [esp + 0xbc], 0x7267993
mov dword [esp + 0xc0], 0x3ff05db
mov dword [esp + 0xc4], 0xff101ee
mov dword [esp + 0xc8], 0xbf50df5
mov dword [esp + 0xcc], 0x17fb09f4
mov dword [esp + 0xd0], 0x13f615e1
mov dword [esp + 0xd4], 0x1fe011c0
mov dword [esp + 0xd8], 0x1bf01def
mov dword [esp + 0xdc], 0x27d219f1
mov dword [esp + 0xe0], 0x23dd25c9
mov dword [esp + 0xe4], 0x2f1721c4
mov dword [esp + 0xe8], 0x2b112d13
mov dword [esp + 0xec], 0x37f92915
mov dword [esp + 0xf0], 0x33f835fe
mov dword [esp + 0xf4], 0x3f023100
mov dword [esp + 0xf8], 0x3b053d0d
mov dword [esp + 0xfc], 0xc7f73909
mov dword [esp + 0x100], 0xc32ec5f5
mov dword [esp + 0x104], 0xcf00c1ff
mov dword [esp + 0x108], 0xcbf2cdf4
mov dword [esp + 0x10c], 0xd7e6c909
mov dword [esp + 0x110], 0xd3e3d5e4
mov dword [esp + 0x114], 0xdfe2d1e0
mov dword [esp + 0x118], 0xdbe4dd12
mov dword [esp + 0x11c], 0xe7dcd919
mov dword [esp + 0x120], 0xe3d9e5de
mov dword [esp + 0x124], 0xef0ae1da
mov word [esp + 0x128], 0xedec
lea eax, [esp + 0x128]
mov word [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xab
ja 0x41eb49
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + 0xa]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x836f9f0a
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xba
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xac
jb 0x41eaf0
lea edi, [esp + 0xf2c]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x128]
mov eax, edx
lea edi, [esp + 0xfcc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xc373c595
mov dword [esp + 0x8c], 0xcf7ec16f
mov dword [esp + 0x90], 0xcb71cd7f
mov dword [esp + 0x94], 0xd762c97b
mov dword [esp + 0x98], 0xd370d56a
mov dword [esp + 0x9c], 0xdf67d18b
mov dword [esp + 0xa0], 0xdb70dd6c
mov dword [esp + 0xa4], 0x2761d96b
mov dword [esp + 0xa8], 0x2344259b
mov dword [esp + 0xac], 0x2f7c2170
mov dword [esp + 0xb0], 0x2b612d8a
mov dword [esp + 0xb4], 0x37962991
mov dword [esp + 0xb8], 0x339f3588
mov dword [esp + 0xbc], 0x3f8c3180
mov dword [esp + 0xc0], 0x3b973d64
mov dword [esp + 0xc4], 0x7853984
mov dword [esp + 0xc8], 0x3b505b1
mov dword [esp + 0xcc], 0xfa401b0
mov dword [esp + 0xd0], 0xbbb0d57
mov dword [esp + 0xd4], 0x17a409b8
mov dword [esp + 0xd8], 0x13ad15a7
mov dword [esp + 0xdc], 0x1f7011af
mov dword [esp + 0xe0], 0x1bb71d4d
mov dword [esp + 0xe4], 0x67a519a7
mov dword [esp + 0xe8], 0x63cd65c9
mov dword [esp + 0xec], 0x6fd261d5
mov dword [esp + 0xf0], 0x6b0c6dc7
mov dword [esp + 0xf4], 0x77d36937
mov dword [esp + 0xf8], 0x73c975d8
mov dword [esp + 0xfc], 0x7fcd71f5
mov dword [esp + 0x100], 0x7bd77dc2
mov dword [esp + 0x104], 0x47dc79c9
mov dword [esp + 0x108], 0x43fa4516
mov dword [esp + 0x10c], 0x4fea41f3
mov dword [esp + 0x110], 0x4bf84df9
mov dword [esp + 0x114], 0x57f549e1
mov dword [esp + 0x118], 0x530555f2
mov dword [esp + 0x11c], 0x5fec51e9
mov dword [esp + 0x120], 0x5bed5dea
mov dword [esp + 0x124], 0xa7ed59eb
mov dword [esp + 0x128], 0xa3e3a502
mov dword [esp + 0x12c], 0xafd9a1df
mov dword [esp + 0x130], 0xabe1add5
mov dword [esp + 0x134], 0xb7e2a9e0
mov dword [esp + 0x138], 0xb3c8b5c6
mov dword [esp + 0x13c], 0xbfcdb1cd
mov dword [esp + 0x140], 0xbbc3bdc1
mov dword [esp + 0x144], 0x8714b9c5
mov dword [esp + 0x148], 0x83ca85fb
mov dword [esp + 0x14c], 0x8ff881fa
mov dword [esp + 0x150], 0x8bfc8dc1
mov dword [esp + 0x154], 0x97f789fa
mov dword [esp + 0x158], 0x93e895e6
mov dword [esp + 0x15c], 0x9fee91dc
mov dword [esp + 0x160], 0x9be69dd1
mov dword [esp + 0x164], 0xe7e199e0
mov dword [esp + 0x168], 0xe340e59c
mov word [esp + 0x16c], 0xe1e2
mov word [edx + 0x4e], 0
mov dword [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xef
ja 0x41ee89
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + 0x61]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x1ca74d61
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0x59
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xf0
jb 0x41ee30
lea edi, [esp + 0xfce]
lea eax, [esp + 0x88]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x16c]
lea edi, [esp + 0x10b2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xebabd585
mov dword [esp + 0x8c], 0xef9ee98f
mov dword [esp + 0x90], 0xe399ed9f
mov dword [esp + 0x94], 0xe79ae193
mov dword [esp + 0x98], 0xfb88e592
mov dword [esp + 0x9c], 0xff82f9ab
mov dword [esp + 0xa0], 0xf383fd84
mov dword [esp + 0xa4], 0xf78bf197
mov dword [esp + 0xa8], 0xbc3f59a
mov dword [esp + 0xac], 0xf3a093f
mov dword [esp + 0xb0], 0x3600d3e
mov dword [esp + 0xb4], 0x78b0153
mov dword [esp + 0xb8], 0x1b780572
mov dword [esp + 0xbc], 0x1f69196b
mov dword [esp + 0xc0], 0x13701d63
mov dword [esp + 0xc4], 0x17661142
mov dword [esp + 0xc8], 0x2b6e1567
mov dword [esp + 0xcc], 0x2f542955
mov dword [esp + 0xd0], 0x23592d55
mov dword [esp + 0xd4], 0x2771214e
mov dword [esp + 0xd8], 0x3b5025ad
mov dword [esp + 0xdc], 0x3f493946
mov dword [esp + 0xe0], 0x33413d4f
mov dword [esp + 0xe4], 0x377f315e
mov dword [esp + 0xe8], 0x4b7d3503
mov dword [esp + 0xec], 0x4f0d4901
mov dword [esp + 0xf0], 0x43164d14
mov dword [esp + 0xf4], 0x47744172
mov dword [esp + 0xf8], 0x5b714571
mov dword [esp + 0xfc], 0x5f6f596d
mov dword [esp + 0x100], 0x53385d69
mov dword [esp + 0x104], 0x57165167
mov dword [esp + 0x108], 0x6b1c551e
mov dword [esp + 0x10c], 0x6f58692d
mov dword [esp + 0x110], 0x635b6d5e
mov dword [esp + 0x114], 0x67546152
mov dword [esp + 0x118], 0x7b526520
mov dword [esp + 0x11c], 0x7f32793d
mov dword [esp + 0x120], 0x73357d34
mov dword [esp + 0x124], 0x771c7138
mov word [esp + 0x128], 0x7576
mov dword [esp + 0x12e], 0
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
ja 0x41f10d
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + ecx]
add edx, 0xaf1fd3dd
add eax, 0xaf1fd3dd
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xa88], edx
mov eax, dword [esp + 0xa88]
add al, 0xf5
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xaa
jb 0x41f0b0
lea edi, [esp + 0xe8a]
lea eax, [esp + 0x88]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
lea edi, [esp + 0xf2a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x2b4b2575
mov dword [esp + 0x8c], 0x2f5e294f
mov dword [esp + 0x90], 0x33592d5f
mov dword [esp + 0x94], 0x375a3143
mov dword [esp + 0x98], 0x3b683542
mov dword [esp + 0x9c], 0x3f52396b
mov dword [esp + 0xa0], 0x43533d54
mov dword [esp + 0xa4], 0x472b4127
mov dword [esp + 0xa8], 0x4b73451a
mov dword [esp + 0xac], 0x4f7a497e
mov dword [esp + 0xb0], 0x53104d7e
mov dword [esp + 0xb4], 0x572b5103
mov dword [esp + 0xb8], 0x5b385522
mov dword [esp + 0xbc], 0x5f29592b
mov dword [esp + 0xc0], 0x63005d33
mov dword [esp + 0xc4], 0x67166132
mov dword [esp + 0xc8], 0x6b0e6517
mov dword [esp + 0xcc], 0x6f046905
mov dword [esp + 0xd0], 0x73196d05
mov dword [esp + 0xd4], 0x7721712e
mov dword [esp + 0xd8], 0x7b00750d
mov dword [esp + 0xdc], 0x7f097916
mov dword [esp + 0xe0], 0x83117d0f
mov dword [esp + 0xe4], 0x87bf81de
mov dword [esp + 0xe8], 0x8bbd85b3
mov dword [esp + 0xec], 0x8fcd89b1
mov dword [esp + 0xf0], 0x93c68dc4
mov dword [esp + 0xf4], 0x97a491a2
mov dword [esp + 0xf8], 0x9ba195a1
mov dword [esp + 0xfc], 0x9faf99ad
mov dword [esp + 0x100], 0xa3f89da9
mov dword [esp + 0x104], 0xa7e6a197
mov dword [esp + 0x108], 0xab9ca59e
mov dword [esp + 0x10c], 0xaf98a9ed
mov dword [esp + 0x110], 0xb39bad9e
mov dword [esp + 0x114], 0xb784b182
mov dword [esp + 0x118], 0xbb82b5f0
mov dword [esp + 0x11c], 0xbf82b9fd
mov dword [esp + 0x120], 0xc385bd84
mov dword [esp + 0x124], 0xc79cc1f8
mov word [esp + 0x128], 0xc5c6
lea eax, [esp + 0x128]
mov word [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xab
ja 0x41f39c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + 0xa5]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xb23f21a5
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0x7d
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xac
jb 0x41f340
lea edx, [esp + 0x1156]
lea eax, [esp + 0x88]
mov ecx, 0x28
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
lea edi, [esp + 0x11f6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xfb63f939
mov dword [esp + 0x8c], 0xff6efd5f
mov dword [esp + 0x90], 0xf365f16f
mov dword [esp + 0x94], 0xf752f563
mov dword [esp + 0x98], 0xeb44e962
mov dword [esp + 0x9c], 0xef4aed5b
mov dword [esp + 0xa0], 0xe37be148
mov dword [esp + 0xa4], 0xe743e547
mov dword [esp + 0xa8], 0xdb8bd94a
mov dword [esp + 0xac], 0xdf82dd8d
mov dword [esp + 0xb0], 0xd37cd18e
mov dword [esp + 0xb4], 0xd743d563
mov dword [esp + 0xb8], 0xcb54c942
mov dword [esp + 0xbc], 0xcf5dcd5b
mov dword [esp + 0xc0], 0xc36cc153
mov dword [esp + 0xc4], 0xc756c572
mov dword [esp + 0xc8], 0x3b9e3957
mov dword [esp + 0xcc], 0x3fa03da1
mov dword [esp + 0xd0], 0x33a53199
mov dword [esp + 0xd4], 0x3785359e
mov dword [esp + 0xd8], 0x2bbc29a1
mov dword [esp + 0xdc], 0x2fbd2db6
mov dword [esp + 0xe0], 0x23bd21bf
mov dword [esp + 0xe4], 0x276f258e
mov dword [esp + 0xe8], 0x1b511973
mov dword [esp + 0xec], 0x1f591d4d
mov dword [esp + 0xf0], 0x13561158
mov dword [esp + 0xf4], 0x17401542
mov dword [esp + 0xf8], 0xb5d0945
mov dword [esp + 0xfc], 0xf5f0d59
mov dword [esp + 0x100], 0x3a4015d
mov dword [esp + 0x104], 0x7460557
mov dword [esp + 0x108], 0x7b30794e
mov dword [esp + 0x10c], 0x7f2c7d39
mov dword [esp + 0x110], 0x7323712e
mov dword [esp + 0x114], 0x77207522
mov dword [esp + 0x118], 0x6b3a6934
mov dword [esp + 0x11c], 0x6f3a6d29
mov dword [esp + 0x120], 0x63296138
mov dword [esp + 0x124], 0x67c86534
mov word [esp + 0x128], 0x5966
lea eax, [esp + 0x128]
mov dword [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xad
ja 0x41f62c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea esi, [eax + 0xbf]
and esi, ecx
add eax, ecx
add esi, esi
sub eax, esi
add eax, 0xa15b97bf
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xc7
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xae
jb 0x41f5d0
lea eax, [esp + 0x10b4]
lea esi, [esp + 0x88]
mov ecx, 0x28
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0x1154]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xf2c]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0xfce]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0xe8a]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x441b38]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + ecx*4 + 0x74]
mov dword [esp + 0x88], 0xebe415e6
mov dword [esp + 0x8c], 0xef18e91a
mov dword [esp + 0x90], 0xe31ced1e
mov dword [esp + 0x94], 0xe748e112
mov word [esp + 0x98], 0xe5e6
lea ecx, [esp + 0x128]
mov word [ecx - 0x82], 0
mov dword [ecx - 0x86], 0
mov dword [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0x1f
ja 0x41f7ad
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx edx, byte [esp + edx + 0x88]
lea esi, [ecx + 0x6ba3b17d]
mov edi, esi
and edi, edx
xor esi, edx
lea esi, [esi + edi*2]
add ecx, 0x7d
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xa88], esi
mov ecx, dword [esp + 0xa88]
mov edx, ecx
xor edx, 0x94
and ecx, 0x14
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0x20
jb 0x41f740
mov esi, ebx
jmp dword [0x441b40]
movzx edx, word [eax]
lea ecx, [esp + 0x888]
test dx, dx
je 0x41f7e1
lea esi, [eax + 2]
lea ecx, [esp + 0x888]
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x41f7d0
mov word [ecx], 0
movzx edx, word [esp + 0x88]
test dx, dx
je 0x41f811
lea esi, [esp + 0x8a]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x41f800
mov word [ecx], 0
mov esi, ebx
jmp case.0x41f69a.2
mov word [ebx], 0
mov cx, 0x31
jmp dword [0x441b4c]
movzx ecx, word [eax]
test cx, cx
je 0x41f870
lea edx, [eax + 2]
lea ebx, [esp + 0x888]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f850
jmp 0x41f877
lea ebx, [esp + 0x888]
mov word [ebx], 0
movzx ecx, word [esp + 0x88]
test cx, cx
je 0x41f820
lea edx, [esp + 0x8a]
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f890
jmp 0x41f820
mov dword [esp + 8], esi
mov dword [esp + 0x1c], ecx
mov word [ebx - 2], cx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x888]
push dword [esp + 0x5c]
push 0
push 0x20019
push eax
push ecx
call fcn.0043a220
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441b58]
mov eax, dword [case.0x41f69a.44]
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x1c]
inc ecx
mov eax, dword [case.0x41f69a.5]
mov esi, dword [esp + 8]
jmp eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 0x800
mov dword [esp + 0x28], 0x400
xor ebx, ebx
xor edx, edx
mov esi, dword [esp + 8]
jmp 0x41f93f
mov word [esi], 0xa
add esi, 2
mov al, 1
mov dword [esp + 0x14], eax
inc edx
lea eax, [esp + 0x28]
lea edi, [esp + 0xa88]
lea ecx, [esp + 0x58]
push eax
push edi
push ecx
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x24], edx
push edx
push dword [esp + 0x44]
call fcn.0043a940
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441b60]
mov eax, ebx
and al, 1
movzx ecx, al
xor eax, eax
mov edx, dword [esp + 0x10]
jmp dword [ecx*4 + 0x441b68]
mov eax, dword [case.0x41f69a.16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
cmp dword [esp + 0x58], 1
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x441b80]
mov dword [esp + 8], esi
mov dword [esp + 0x38], 0xb3c9b5e9
mov dword [esp + 0x3c], 0xcfc1b1cf
mov dword [esp + 0x40], 0xcbbecd45
mov dword [esp + 0x44], 0xc7c8c946
lea eax, [esp + 0x48]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x15
ja 0x41fa4e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x38]
lea edx, [eax - 0x29a7c747]
and edx, ecx
add eax, ecx
add eax, 0xd65838b9
add edx, edx
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0xf1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], 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, 0x16
jb 0x41fa00
movzx esi, word [esp + 0x38]
lea eax, [esp + 0x88]
mov dword [esp + 0xc], eax
test si, si
je 0x41fab4
lea ecx, [esp + 0x38]
lea edx, [esp + 0x88]
mov dword [esp + 0xc], edx
jmp 0x41fa97
mov edx, dword [esp + 0xc]
add edx, 2
lea ecx, [esp + 0x38]
mov dword [esp + 0xc], edx
movzx esi, word [ecx]
test si, si
je 0x41fab4
movzx eax, word [edx]
test ax, ax
je 0x41faac
cmp ax, si
jne 0x41fa80
add edx, 2
add ecx, 2
jmp 0x41fa8f
mov dword [esp + 0xc], 0
cmp dword [esp + 0xc], 0
setne al
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ecx, dword [case.0x41f69a.23]
nop
nop
nop
nop
nop
nop
jmp ecx
movzx eax, al
jmp dword [eax*4 + 0x441b98]
xor eax, eax
cmp dword [esp + 0x58], 3
sete al
jmp dword [eax*4 + 0x441bc0]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x441bc8]
mov ecx, esi
jmp dword [0x441ba0]
mov eax, dword [esp + 0x28]
cmp eax, 2
jae 0x41fc1e
mov ecx, esi
jmp case.0x41f69a.26
mov dword [esp + 8], esi
mov dword [esp + 0x38], 0xb30bb5e6
mov dword [esp + 0x3c], 0x8f3db13f
mov dword [esp + 0x40], 0x8b3d8d07
mov dword [esp + 0x44], 0x87348904
mov word [esp + 0x48], 0x8586
lea eax, [esp + 0x48]
mov word [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1b
ja 0x41fbc3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx edx, byte [esp + eax + 0x38]
lea eax, [ecx + 0x99]
and eax, edx
mov esi, 0xb2322566
sub esi, ecx
or esi, edx
not esi
add esi, edx
sub esi, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
add al, 0xd1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1c
jb 0x41fb80
movzx esi, word [esp + 0x38]
lea eax, [esp + 0x88]
test si, si
je 0x41fdc6
lea ecx, [esp + 0x38]
lea eax, [esp + 0x88]
mov edx, eax
jmp 0x41fc05
add eax, 2
lea ecx, [esp + 0x38]
mov edx, eax
movzx esi, word [ecx]
test si, si
je 0x41fdc6
movzx edi, word [edx]
test di, di
je 0x41fdc4
cmp di, si
jne 0x41fbf0
add edx, 2
add ecx, 2
jmp 0x41fbf9
shr eax, 1
lea edx, [eax - 1]
mov ebx, eax
and ebx, 3
je 0x41fc69
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov ecx, esi
xor esi, esi
lea edi, [esp + 0xa88]
nop
nop
nop
mov eax, ebx
movzx ebx, word [edi]
xor edx, edx
test bx, bx
setne dl
lea edi, [edi + edx*2]
mov word [ecx], bx
mov ebx, eax
add ecx, 2
inc esi
cmp eax, esi
jne 0x41fc40
mov eax, dword [esp + 8]
sub eax, esi
mov esi, ecx
mov edx, dword [esp + 0xc]
mov ecx, esi
cmp edx, 3
jb case.0x41f69a.26
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
mov word [esi], cx
lea ecx, [edi + edx*2]
movzx edx, word [edi + edx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 2], dx
mov edi, esi
lea esi, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [edi + 4], cx
lea edx, [esi + ebx*2]
movzx ecx, word [esi + ebx*2]
xor ebx, ebx
test cx, cx
mov word [edi + 6], cx
setne bl
lea ecx, [edi + 8]
lea edi, [edx + ebx*2]
mov esi, ecx
add eax, 0xfffffffc
jne 0x41fc70
jmp case.0x41f69a.26
jmp dword [0x441ba8]
mov edi, dword [esp + 0x28]
cmp edi, 2
jb 0x41fcd0
shr edi, 1
lea eax, [edi - 1]
mov esi, edi
and esi, 3
je 0x41fd2e
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
xor ebx, ebx
lea edx, [esp + 0xa88]
nop
nop
nop
nop
mov edi, esi
movzx esi, word [edx]
xor eax, eax
test si, si
setne al
lea edx, [edx + eax*2]
mov word [ecx], si
mov esi, edi
add ecx, 2
inc ebx
cmp edi, ebx
jne 0x41fd00
mov edi, dword [esp + 8]
sub edi, ebx
mov eax, dword [esp + 0xc]
cmp eax, 3
jae 0x41fd40
jmp 0x41fcd0
lea edx, [esp + 0xa88]
cmp eax, 3
jb 0x41fcd0
nop
nop
nop
nop
nop
nop
movzx eax, word [edx]
xor ebx, ebx
test ax, ax
setne bl
mov word [ecx], ax
lea eax, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [ecx + 2], dx
lea edx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [ecx + 4], ax
lea eax, [edx + ebx*2]
movzx esi, word [edx + ebx*2]
xor edx, edx
test si, si
setne dl
lea edx, [eax + edx*2]
mov word [ecx + 6], si
add ecx, 8
add edi, 0xfffffffc
jne 0x41fd40
jmp 0x41fcd0
mov word [ecx], 0x3a
lea esi, [ecx + 4]
mov edx, dword [esp + 0x10]
mov word [ecx + 2], 0x20
mov eax, dword [case.0x41f69a.32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov bl, 1
jmp eax
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x10]
jmp dword [ecx*4 + 0x441bc8]
mov eax, dword [esp + 0x28]
cmp eax, 2
jb 0x41f930
shr eax, 1
lea edi, [eax - 1]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xa88]
and eax, 3
je 0x41fe4f
mov dword [esp + 0x14], ebx
mov dword [esp + 8], edi
mov edi, esi
xor esi, esi
lea ecx, [esp + 0xa88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
mov ebx, eax
xor eax, eax
test dx, dx
setne al
lea ecx, [ecx + eax*2]
mov eax, ebx
mov word [edi], dx
add edi, 2
inc esi
cmp ebx, esi
jne 0x41fe20
sub dword [esp + 0xc], esi
mov esi, edi
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x14]
cmp edi, 3
jb 0x41f930
mov edi, dword [esp + 0xc]
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 0x41fe60
mov edx, dword [esp + 0x10]
jmp 0x41f930
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x6c]
jmp dword [0x441bd4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], 0x3c3d3e3f
mov dword [esp + 0x3c], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja 0x41ff5b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx esi, byte [esp + edx + 0x38]
lea edx, [ecx + esi]
add edx, 0x4dcfd3d8
add ecx, 0x4dcfd3d8
and ecx, esi
add ecx, ecx
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x18
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], 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 0x41ff00
mov ecx, dword [0x446fd4]
test ecx, ecx
je case.0x41f69a.39
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x41ff90
inc esi
cmp ecx, esi
jne 0x41ff80
jmp case.0x41f69a.39
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x41f69a.39
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
jmp case.0x41f69a.39
jmp dword [0x441bd8]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], 0x3c3d3e3f
mov dword [esp + 0x3c], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja 0x42003b
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx esi, byte [esp + edx + 0x38]
lea edx, [ecx + esi]
add edx, 0x4dcfd3d8
add ecx, 0x4dcfd3d8
and ecx, esi
add ecx, ecx
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x18
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], 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 0x41ffe0
mov ecx, dword [0x446fd4]
test ecx, ecx
je 0x41ffb0
mov edx, dword [esp + 0x38]
xor esi, esi
mov edi, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x420080
inc esi
cmp ecx, esi
jne 0x420060
jmp 0x41ffb0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41ffb0
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
jmp dword [0x441bd8]
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x441b50]
mov ebx, esi
mov ecx, dword [esp + 0x68]
inc ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x441b38]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x88], 0x3c3d3e3f
mov dword [esp + 0x8c], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 7
ja 0x420189
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx esi, byte [esp + edx + 0x88]
lea edx, [ecx + esi]
add edx, 0x4dcfd3d8
add ecx, 0x4dcfd3d8
and ecx, esi
add ecx, ecx
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0xa88], ecx
mov ecx, dword [esp + 0xa88]
add cl, 0x18
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
mov ecx, dword [esp + 0x888]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0x888], ecx
mov ecx, dword [esp + 0x888]
cmp ecx, 8
jb 0x420110
mov ecx, dword [0x446fd4]
test ecx, ecx
je 0x4201e0
mov edx, dword [esp + 0x88]
xor esi, esi
mov edi, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x4201c0
inc esi
cmp ecx, esi
jne 0x4201b0
jmp 0x4201e0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4201e0
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov esi, ebx
mov edi, dword [esp + 0x64]
jmp dword [0x441c00]
push edi
call fcn.00409030
add esp, 4
mov eax, dword [case.0x41f69a.55]
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x24]
inc ecx
xor eax, eax
mov dword [esp + 0x24], ecx
cmp ecx, dword [esp + 0x34]
setb al
jmp dword [eax*4 + 0x441b10]
jmp dword [0x441c24]
mov word [esi], 0
jmp dword [0x441c28]
mov word [esi], 0
mov word [esi], 0
jmp dword [0x441c28]
mov ebx, dword [esp + 0x14]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x441c30]
mov dword [esp + 8], esi
jmp dword [0x441c3c]
mov eax, dword [case.0x41f69a.77]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x41f69a.80]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
and bl, 1
mov eax, dword [case.0x41e64d.3]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx ecx, word [esp + 0x11f8]
xor ebx, ebx
test cx, cx
je 0x4202fa
lea eax, [esp + 0x11f8]
xor ebx, ebx
jmp 0x4202d2
add ebx, esi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov esi, dword [esp + 8]
je 0x4202fa
cmp eax, esi
jae 0x4202fa
movzx edi, cx
xor ecx, ecx
cmp edi, 0x800
setb dl
mov esi, 1
cmp edi, 0x80
jb 0x4202c0
mov cl, dl
xor ecx, 3
mov esi, ecx
jmp 0x4202c0
lea eax, [ebx + 1]
push eax
call fcn.00409020
add esp, 4
mov edx, ebx
and edx, 1
mov dword [esp + 0x14], ebx
mov ecx, ebx
xor ecx, 1
lea ecx, [ecx + edx*2]
lea edx, [eax + ecx]
dec edx
mov ebx, eax
mov dword [esp + 0x10], eax
cmp edx, eax
jbe 0x4203d5
mov eax, edx
mov ebx, dword [esp + 0x10]
mov edx, ebx
add edx, ecx
mov dword [esp + 0xc], edx
lea edi, [esp + 0x11f8]
jmp 0x420358
mov byte [ebx], dl
mov esi, 1
add edi, 2
add ebx, esi
cmp ebx, eax
mov esi, dword [esp + 8]
jae 0x4203d5
cmp edi, esi
jae 0x4203d5
movzx edx, word [edi]
test dx, dx
je 0x4203d5
cmp dx, 0x7f
jbe 0x420340
mov ecx, ebx
not ecx
add ecx, dword [esp + 0xc]
cmp ecx, 2
jb 0x4203a0
movzx esi, dx
cmp esi, 0x7ff
ja 0x4203a0
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [ebx], cl
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 1], dl
mov esi, 2
jmp 0x420347
xor esi, esi
cmp ecx, 3
jb 0x420347
movzx esi, dx
mov ecx, esi
shr ecx, 0xc
or cl, 0xe0
mov byte [ebx], cl
mov ecx, esi
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [ebx + 1], cl
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 2], dl
mov esi, 3
jmp 0x420347
mov byte [ebx], 0
mov dword [esp + 0x88], 0xcff2f121
mov dword [esp + 0x8c], 0xf3c7c6cd
mov dword [esp + 0x90], 0xf8c4c6c1
mov dword [esp + 0x94], 0xfbfb2203
mov dword [esp + 0x98], 0xf8fdfefc
mov dword [esp + 0x9c], 0xf8c4e53b
mov dword [esp + 0xa0], 0xfef6f0fe
mov dword [esp + 0xa4], 0xc7ca33cf
mov word [esp + 0xa8], 0x41d4
mov dword [esp + 0xaa], 0
mov dword [esp + 0xad], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0x28
ja 0x4204c8
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + 0x48b57ad0]
add eax, 0xd0
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xa88], edx
mov eax, dword [esp + 0xa88]
add al, 0x50
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0x29
jb 0x420470
lea eax, [esp + 0x88]
mov ecx, dword [ebp + 8]
push dword [esp + 0x14]
mov edi, dword [esp + 0x14]
push edi
push eax
call fcn.00409940
jmp dword [0x441c44]
movzx ecx, word [esp + 0x11f8]
test cx, cx
je 0x420614
lea eax, [esp + 0x11f8]
xor edi, edi
jmp 0x420522
add edi, esi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov esi, dword [esp + 8]
je 0x42054a
cmp eax, esi
jae 0x42054a
movzx ebx, cx
xor ecx, ecx
cmp ebx, 0x800
setb dl
mov esi, 1
cmp ebx, 0x80
jb 0x420510
mov cl, dl
xor ecx, 3
mov esi, ecx
jmp 0x420510
lea ebx, [edi + 1]
push ebx
call fcn.00409020
add esp, 4
test edi, edi
mov dword [esp + 0x14], edi
jle 0x420626
lea ecx, [eax + edi]
mov dword [esp + 0xc], ecx
add ebx, eax
mov dword [esp + 0x10], ebx
mov edi, eax
lea ebx, [esp + 0x11f8]
mov dword [esp + 0x1c], eax
jmp 0x420596
mov byte [edi], dl
mov esi, 1
add ebx, 2
add edi, esi
cmp edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
jae 0x42060e
cmp ebx, esi
jae 0x42060e
movzx edx, word [ebx]
test dx, dx
je 0x42060e
cmp dx, 0x7f
jbe 0x420580
mov ecx, edi
not ecx
add ecx, dword [esp + 0x10]
movzx eax, dx
cmp ecx, 2
jb 0x4205e0
cmp eax, 0x7ff
ja 0x4205e0
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
mov esi, 2
jmp 0x420587
xor esi, esi
cmp ecx, 3
jb 0x420587
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and dl, 0x3f
or dl, 0x80
mov byte [edi + 2], dl
mov esi, 3
jmp 0x420587
mov eax, dword [esp + 0x1c]
jmp 0x420628
mov dword [esp + 0x14], 0
push 1
call fcn.00409020
add esp, 4
mov edi, eax
mov byte [edi], 0
mov dword [esp + 0x88], 0xcff2f121
mov dword [esp + 0x8c], 0xf3c7c6cd
mov dword [esp + 0x90], 0xf8c4c6c1
mov dword [esp + 0x94], 0xfbfb2203
mov dword [esp + 0x98], 0xf8fdfefc
mov dword [esp + 0x9c], 0xf8c4e53b
mov dword [esp + 0xa0], 0xfef6f0fe
mov dword [esp + 0xa4], 0xc7ca33cf
mov word [esp + 0xa8], 0x41d4
mov dword [esp + 0xaa], 0
mov dword [esp + 0xad], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0x28
ja 0x42071a
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [edi + 0x48b57ad0]
add edi, 0xd0
and edi, ecx
or edx, ecx
sub edx, edi
mov dword [esp + 0xa88], edx
mov edx, dword [esp + 0xa88]
add dl, 0x50
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], dl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0x29
jb 0x4206c0
lea edx, [esp + 0x88]
mov ecx, dword [ebp + 8]
push dword [esp + 0x14]
push eax
push edx
call fcn.00409940
jmp case.0x41f69a.65
mov ebx, eax
jmp dword [0x441c48]
push edi
call fcn.00409030
add esp, 4
mov eax, dword [case.0x41f69a.62]
nop
nop
nop
nop
nop
nop
jmp eax
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442398]
jmp dword [ecx*4 + 0x442310]
mov dword [esp + 0x58], 0xdb88d9bc
mov dword [esp + 0x5c], 0xe7a9e5a9
mov dword [esp + 0x60], 0xe3b1e1a9
mov dword [esp + 0x64], 0xefbcedb0
mov dword [esp + 0x68], 0xeb8ee9b1
mov dword [esp + 0x6c], 0xf7b7f5a1
mov dword [esp + 0x70], 0xf3baf1b3
mov dword [esp + 0x74], 0xffa8fdb5
mov dword [esp + 0x78], 0xfb9ef9b5
mov dword [esp + 0x7c], 0x7510557
mov dword [esp + 0x80], 0x35e014e
mov dword [esp + 0x84], 0xf4f0d53
mov dword [esp + 0x88], 0xb47095a
mov dword [esp + 0x8c], 0x17431570
mov dword [esp + 0x90], 0x13711179
mov dword [esp + 0x94], 0x1f691d6e
mov dword [esp + 0x98], 0x1b6d196b
mov dword [esp + 0x9c], 0x275a254a
mov dword [esp + 0xa0], 0x237d2144
mov dword [esp + 0xa4], 0x2f582d45
mov dword [esp + 0xa8], 0x2b5d2944
mov dword [esp + 0xac], 0x3745354b
mov dword [esp + 0xb0], 0x33713154
mov dword [esp + 0xb4], 0x3f4c3d41
mov dword [esp + 0xb8], 0x3b57394a
mov dword [esp + 0xbc], 0x473a4532
mov dword [esp + 0xc0], 0x432f411e
mov dword [esp + 0xc4], 0x4f3d4d3e
mov dword [esp + 0xc8], 0x4b3d4921
mov dword [esp + 0xcc], 0x57325522
mov dword [esp + 0xd0], 0x5324510d
mov dword [esp + 0xd4], 0x5f285d35
mov dword [esp + 0xd8], 0x5b26592b
mov dword [esp + 0xdc], 0x67126505
mov dword [esp + 0xe0], 0x63626114
mov byte [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x90
ja case.0x41f69a.90
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx edi, byte [esp + ecx + 0x58]
lea ecx, [edx - 0x52f55424]
and ecx, edi
add edx, edi
add edx, 0xad0aabdc
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xfc
mov edx, dword [esp]
mov byte [esp + edx + 0x58], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x91
jb 0x420cc0
lea ecx, [esp + 0x14]
lea edx, [esp + 0x58]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043a220
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x442318]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x10]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x34]
call fcn.0043a630
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442320]
jmp 0x420df1
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x442388]
mov eax, dword [esp + 0x10]
mov edx, eax
and edx, 0x7ffffefb
lea ecx, [eax + eax]
not ecx
add ecx, eax
and ecx, 0x104
imul ecx, edx
mov edx, eax
and edx, 0x104
or eax, 0x104
imul eax, edx
add eax, ecx
mov esi, dword [esp + 4]
lea eax, [esi + eax*2]
push eax
push dword [esp + 0x10]
call fcn.00436cd0
add esp, 8
mov dword [esp + 0xc], eax
lea esi, [eax + esi*2]
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x442328]
mov word [esi], 0
mov eax, esi
sub eax, dword [esp + 0xc]
sar eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], 0x8a858487
mov dword [esp + 0x5c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x420e59
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x58]
lea edi, [ecx + 0x15]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0xc1bd7115
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x6d
mov edx, dword [esp]
mov byte [esp + edx + 0x58], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x420e20
mov ecx, dword [0x446fd4]
test ecx, ecx
je case.default.0x421190
mov edx, dword [esp + 0x58]
xor ebx, ebx
mov edi, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x11081610
je 0x421159
inc ebx
cmp ecx, ebx
jne 0x420e80
jmp case.default.0x421190
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x442328]
mov edi, dword [esp + 0x54]
mov eax, edi
inc eax
jns 0x420ed0
mov eax, 0xffffffff
jmp 0x420ed6
lea eax, [edi + edi]
add eax, 2
push eax
call fcn.00409020
add esp, 4
mov dword [esp + 0x50], edi
mov edi, eax
lea eax, [esp + 0x50]
push eax
push edi
push ebx
push dword [esp + 0x20]
call fcn.0043a360
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442330]
jmp 0x421000
lea eax, [esp + 0x24]
push dword [esp + 0x14]
push 0
push 0x20019
push eax
mov dword [esp + 0x14], edi
push edi
call fcn.0043a220
add esp, 0x14
not eax
shr eax, 0x1f
lea edi, [esp + 0x58]
jmp dword [eax*4 + 0x442338]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x28], 0x235b2d68
mov dword [esp + 0x2c], 0x27562157
mov dword [esp + 0x30], 0x3b5b2558
mov dword [esp + 0x34], 0x3f6c39b1
mov dword [esp + 0x38], 0x334f3d5d
mov dword [esp + 0x3c], 0x37363155
mov word [esp + 0x40], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x19
ja 0x420fcd
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + 0x61dc4326]
and edx, ecx
add eax, ecx
add eax, 0x61dc4326
add edx, edx
sub eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xf6
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x1a
jb 0x420f90
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x28]
push eax
push edi
push 0
push ecx
push dword [esp + 0x34]
call fcn.0043ac80
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442340]
jmp dword [0x442348]
jmp 0x421040
mov eax, dword [case.0x420feb.9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x442368]
push edi
call fcn.00409030
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x442328]
movzx eax, word [esp + 0x58]
test ax, ax
je 0x421061
lea ecx, [esp + 0x5a]
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421050
mov word [esi], 0xa
add esi, 2
jmp dword [0x442350]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 0x8a858487
mov dword [esp + 0x2c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 7
ja 0x4210da
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + 0x15]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xc1bd7115
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x6d
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 8
jb 0x4210a0
mov ecx, dword [0x446fd4]
test ecx, ecx
je case.0x420d23.8
mov edx, dword [esp + 0x28]
xor edi, edi
mov eax, dword [0x446fd8]
nop
cmp dword [eax + edi*8], 0x11081610
je 0x42112e
inc edi
cmp ecx, edi
jne 0x4210f0
jmp case.0x420d23.8
movzx eax, word [esp + 0x58]
test ax, ax
je 0x421121
lea ecx, [esp + 0x5a]
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421110
mov word [esi], 0xa
add esi, 2
jmp 0x421040
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.0x420d23.8
push dword [esp + 0x18]
push 1
push dword [0x446fdc]
push eax
call fcn.00436e40
add esp, 0x10
nop
nop
nop
nop
nop
mov edi, dword [esp + 4]
jmp 0x421000
mov ecx, dword [edi + ebx*8 + 4]
cmp ecx, edx
je case.default.0x421190
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x58]
push eax
call fcn.00439830
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x442370]
xor eax, eax
cmp dword [esp + 0x58], 1
sete al
jmp dword [eax*4 + 0x442378]
xor eax, eax
mov ecx, 1
lea ebx, [esp + 0xe4]
jmp dword [ecx*4 + 0x442380]
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x442388]
mov eax, 2
xor ecx, ecx
lea ebx, [esp + 0xe4]
jmp dword [ecx*4 + 0x442380]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x442388]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442390]
xor eax, eax
cmp esi, dword [esp + 0xc]
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x4423a0]
mov eax, dword [esp + 0xc]
movzx ecx, word [eax]
xor ebx, ebx
test cx, cx
jne 0x421250
push 1
call fcn.00409020
add esp, 4
mov edi, eax
mov dword [esp + 0x1c], eax
jmp 0x421389
mov ebx, edx
add ebx, edi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x421285
test esi, esi
je 0x421258
cmp eax, esi
jae 0x421285
mov edx, ebx
movzx ebx, cx
xor ecx, ecx
cmp ebx, 0x800
setb byte [esp + 4]
mov edi, 1
cmp ebx, 0x80
jb 0x421240
movzx ebx, byte [esp + 4]
mov cl, bl
xor ecx, 3
mov edi, ecx
jmp 0x421240
lea edi, [ebx + 1]
push edi
call fcn.00409020
add esp, 4
test ebx, ebx
mov dword [esp + 0x1c], eax
jle 0x421387
lea ecx, [eax + ebx]
mov dword [esp + 0x18], ecx
add edi, eax
mov dword [esp + 0x48], edi
mov edx, dword [esp + 0xc]
mov edi, eax
jmp 0x4212d6
mov byte [edi], cl
mov eax, 1
add edx, 2
add edi, eax
cmp edi, dword [esp + 0x18]
jae 0x421389
test esi, esi
je 0x4212e2
cmp edx, esi
jae 0x421389
movzx ecx, word [edx]
test cx, cx
je 0x421389
cmp cx, 0x7f
jbe 0x4212c0
mov dword [esp + 0x20], edx
mov eax, edi
not eax
add eax, dword [esp + 0x48]
movzx edx, cx
mov dword [esp + 4], edx
cmp dword [esp + 4], 0x7ff
ja 0x421340
cmp eax, 2
mov eax, 0
mov edx, dword [esp + 0x20]
jb 0x4212c7
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov eax, 2
jmp 0x4212c7
cmp eax, 3
mov eax, 0
mov edx, dword [esp + 0x20]
jb 0x4212c7
mov eax, dword [esp + 4]
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr dword [esp + 4], 6
mov eax, dword [esp + 4]
not eax
or eax, 0x3f
add eax, dword [esp + 4]
add al, 0x81
mov byte [edi + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov eax, 3
jmp 0x4212c7
mov edi, eax
mov ecx, dword [ebp + 8]
mov byte [edi], 0
mov dword [esp + 0x58], 0x97989e7b
mov dword [esp + 0x5c], 0x829080ab
mov dword [esp + 0x60], 0x8fb29156
mov byte [esp + 0x64], 0x38
mov dword [esp + 0x65], 0
mov dword [esp + 0x69], 0
mov byte [esp + 0x6d], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x421408
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x58]
lea esi, [eax - 0x514c207a]
add eax, 0x86
and eax, edx
or esi, edx
sub esi, eax
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x28]
add al, 0x56
mov edx, dword [esp]
mov byte [esp + edx + 0x58], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x4213d0
lea eax, [esp + 0x58]
push ebx
mov esi, dword [esp + 0x20]
push esi
push eax
call fcn.00409940
mov ebx, eax
jmp dword [0x4423a8]
jmp dword [0x4423b0]
push esi
call fcn.00409030
add esp, 4
nop
push esi
call fcn.00409030
add esp, 4
jmp dword [0x4423b8]
push dword [esp + 0xc]
call fcn.00435190
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x4c]
push 0x410
call fcn.00435560
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4423c8]
mov dword [esp + 0x60], 0xf4abe28d
mov dword [esp + 0x64], 0xf6f4a98e
mov dword [esp + 0x68], 0x82fdfb99
mov dword [esp + 0x6c], 0xeff8fc9d
mov dword [esp + 0x70], 0x8ee3d8ec
mov dword [esp + 0x74], 0xf7e6dce5
mov dword [esp + 0x78], 0x8cf1d4f0
mov dword [esp + 0x7c], 0x90d78eeb
mov dword [esp + 0x80], 0xc8fafcf8
mov dword [esp + 0x84], 0x98cbd1f9
mov dword [esp + 0x88], 0xbdcc5f9
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x37
ja 0x421ab5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x60]
mov edx, eax
and edx, 0xb6bc531
xor eax, 0xb6bc531
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
add al, 0xa9
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x38
jb case.default.0x421ad7
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push 0
push 0x2b
push esi
push eax
call fcn.00435b00
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp edi, ecx
sete al
jmp dword [eax*4 + 0x4423d0]
mov eax, ecx
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
mov esi, ecx
call fcn.00409020
add esp, 4
mov dword [esp + 0x58], 0
xor ecx, ecx
mov dword [esp + 0x5c], esi
cmp edi, esi
setne cl
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], eax
mov esi, eax
jmp dword [ecx*4 + 0x4423d8]
mov ebx, dword [esp + 0x48]
mov ecx, ebx
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x442460]
jmp 0x4220cc
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x5c]
setne al
jmp dword [eax*4 + 0x4423d8]
mov dword [esp + 4], esi
mov esi, dword [edi]
push 0x400
push 0
lea ebx, [esp + 0x68]
push ebx
call fcn.004091b0
add esp, 0xc
lea eax, [esp + 0x38]
lea ecx, [esp + 0x4c]
push eax
push 0x400
push ebx
push esi
call fcn.00435990
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
mov eax, 3
mov dword [esp + 0x24], edi
jmp dword [ecx*4 + 0x4423e0]
xor ecx, ecx
cmp dword [esp + 0x38], 0
sete cl
jmp dword [ecx*4 + 0x4423e8]
xor eax, eax
mov ecx, 1
mov esi, dword [esp + 4]
jmp dword [ecx*4 + 0x4423f0]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x58]
jmp dword [ecx*4 + 0x4423f0]
lea edx, [esp + 0x60]
jmp dword [0x4423f8]
xor ecx, ecx
xor eax, eax
cmp ecx, 3
sete al
jmp dword [eax*4 + 0x442448]
mov dword [esp + 0x38], 0x8b740003
lea ecx, [esp + 0x3c]
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xf
ja 0x421c75
nop
nop
nop
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 + 0x38]
lea esi, [ecx - 0x10b121be]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0xef4ede41
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x32
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x10
jb 0x421c30
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.00402910
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x442438]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 4]
jmp 0x421ccd
movzx ecx, byte [eax]
test cl, cl
je 0x421cbd
inc eax
mov esi, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x421cb0
jmp 0x421cc1
mov esi, dword [esp + 4]
mov word [esi], 0x203a
add esi, 2
mov edi, dword [esp + 0x24]
movzx eax, byte [esp + 0x60]
test al, al
je 0x421ceb
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x421ce0
mov byte [esi], 0
mov byte [esi], 0xa
inc esi
mov al, 1
mov dword [esp + 0x48], eax
jmp 0x421f2c
xor ecx, ecx
cmp eax, 3
sete cl
jmp dword [ecx*4 + 0x442448]
mov eax, dword [case.0x421c8a.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx ecx, byte [edi + 1]
inc edi
mov dword [esp + 8], edi
xor eax, eax
mov edi, 0
test cl, cl
je 0x421d60
mov edi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x2e
je 0x421d60
movzx ecx, byte [edi + 1]
inc edi
test cl, cl
jne 0x421d50
xor edi, edi
xor ecx, ecx
test edi, edi
setne cl
mov edx, dword [esp + 8]
jmp dword [ecx*4 + 0x442420]
mov ebx, edi
sub ebx, edx
lea eax, [ebx + ebx*2]
shr eax, 2
mov dword [esp + 0x1c], eax
mov ecx, ebx
or ecx, 0xfffffffe
mov eax, ebx
and eax, 0xfffffffe
add ecx, eax
cmp byte [edx + ecx + 1], 0x3d
je 0x421da2
mov ecx, ebx
xor ecx, 0xfffffffe
lea eax, [ecx + eax*2]
cmp byte [edx + eax + 1], 0x2e
jne 0x421da9
mov ecx, dword [esp + 0x1c]
dec ecx
jmp 0x421dad
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ebx
mov dword [esp + 4], esi
mov eax, dword [esp + 8]
movzx eax, byte [ebx + eax - 2]
cmp eax, 0x3d
je 0x421dc8
cmp eax, 0x2e
jne 0x421dc9
dec ecx
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409020
add esp, 4
mov dword [esp + 0x28], eax
cmp edi, dword [esp + 8]
je 0x421ee7
xor ebx, ebx
mov edi, 2
jmp 0x421e12
mov edx, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
mov ebx, edx
cmp edi, ecx
mov edi, eax
jae 0x421ee7
mov esi, dword [esp + 8]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00417dd0
add esp, 4
mov byte [esp + 0x2c], al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00417dd0
add esp, 4
movzx ecx, byte [esp + 0x2c]
shl cl, 2
mov edx, eax
shr dl, 4
and dl, 3
or dl, cl
mov ecx, dword [esp + 0x28]
mov byte [ecx + ebx], dl
lea edx, [ebx + 1]
mov ecx, dword [esp + 0x34]
cmp edi, ecx
jae 0x421e00
mov byte [esp + 0x20], al
mov dword [esp + 0x2c], ebx
movzx eax, byte [esi + edi]
push eax
mov esi, edx
call fcn.00417dd0
mov edx, esi
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
je 0x421e00
mov ebx, eax
movzx edx, byte [esp + 0x20]
shl dl, 4
shr al, 2
and al, 0xf
or al, dl
mov esi, dword [esp + 0x2c]
lea edx, [esi + 2]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x421df0
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00417dd0
mov ecx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x20]
je 0x421e00
shl bl, 6
add al, bl
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x421e00
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov byte [esi + eax], 0
push esi
call fcn.00401ff0
add esp, 4
mov ebx, eax
jmp dword [0x442428]
push esi
call fcn.00409030
add esp, 4
push ebx
call fcn.00402990
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x442430]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 4]
push ebx
call fcn.00402bf0
add esp, 4
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x442440]
mov eax, dword [case.0x421ad7.16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
test edi, edi
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x442418]
xor ecx, ecx
test eax, eax
sete cl
mov edi, dword [esp + 0x24]
jmp dword [ecx*4 + 0x442440]
mov byte [esp + 0x45f], 0
mov byte [esp + 0x45f], 0
movzx eax, byte [esp + 0x60]
xor edi, edi
test al, al
je 0x421fbd
mov ecx, edx
nop
nop
nop
cmp al, 0x2e
je 0x421fd0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x421fb0
jmp dword [0x442404]
mov edi, ecx
jmp dword [0x442404]
xor ebx, ebx
test edi, edi
jne 0x422103
jmp 0x422110
mov ecx, dword [ebp + 8]
mov byte [esi], 0
mov edx, esi
mov eax, dword [esp + 0x30]
xor edx, eax
not eax
and eax, esi
add eax, eax
sub eax, edx
mov dword [esp + 0x60], 0xf7f4f529
mov dword [esp + 0x64], 0xf30f0cf5
mov dword [esp + 0x68], 0xf6fefcf9
mov dword [esp + 0x6c], 0xfcf4143b
mov dword [esp + 0x70], 0xefc506f9
mov dword [esp + 0x74], 0xdfb0403
mov dword [esp + 0x78], 0x300cf03
mov word [esp + 0x7c], 0x9906
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0x23
ja 0x4220bb
nop
nop
nop
mov edi, dword [esp]
mov edx, dword [esp]
movzx ebx, byte [esp + edx + 0x60]
lea edx, [edi + 0x59249571]
lea esi, [edi + ebx]
add esi, 0x59249571
add edi, 0x71
and edi, ebx
and edx, ebx
add edx, edi
mov edi, esi
not edi
and edi, edx
not edx
and edx, esi
sub edx, edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x38]
mov esi, edx
or esi, 0xe8
and edx, 0xe8
add edx, esi
inc dl
mov esi, dword [esp]
mov byte [esp + esi + 0x60], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x24
jb 0x422060
lea edx, [esp + 0x60]
push eax
push dword [esp + 0x34]
push edx
call fcn.00409940
mov ebx, eax
mov ecx, dword [case.0x421c8a.15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x442478]
push dword [esp + 0x30]
call fcn.00409030
add esp, 4
and bl, 1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test edi, edi
je 0x422110
cmp edi, ecx
je 0x422110
push edi
call fcn.00409030
add esp, 4
mov eax, dword [case.0x421190.21]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea ecx, [esp + 0x4c]
call fcn.00435690
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442508]
jmp dword [ecx*4 + 0x442490]
mov dword [esp + 0x40], 0x3bea39ea
mov dword [esp + 0x44], 0x3ff53dfd
mov dword [esp + 0x48], 0x3d501f5
mov dword [esp + 0x4c], 0x7d605d6
mov dword [esp + 0x50], 0xbd409dd
mov dword [esp + 0x54], 0xfcf0dc5
mov dword [esp + 0x58], 0x13d811cb
mov dword [esp + 0x5c], 0x17da15d9
mov dword [esp + 0x60], 0x1bc419d1
mov dword [esp + 0x64], 0x1fcd1dcf
mov dword [esp + 0x68], 0xe334e1d8
mov dword [esp + 0x6c], 0xe727e53b
mov dword [esp + 0x70], 0xeb2fe934
mov dword [esp + 0x74], 0xef3aed36
mov dword [esp + 0x78], 0xf35cf14d
mov dword [esp + 0x7c], 0xf753f544
mov dword [esp + 0x80], 0xfb2df92a
mov dword [esp + 0x84], 0xff5bfd4e
mov dword [esp + 0x88], 0xc36fc15d
mov word [esp + 0x8c], 0xc5c2
mov word [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 0x57
ja 0x4222cc
nop
nop
nop
nop
nop
nop
nop
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 - 0x7c222529]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x83dddad6
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x1f
mov edx, dword [esp + 0xac]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
cmp ecx, 0x58
jb 0x422270
lea ecx, [esp + 8]
lea edi, [esp + 0x40]
push 0
push 0
push eax
push ecx
push edi
call fcn.0043a220
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x442498]
lea ebx, [esp + 0x30]
lea eax, [esp + 0x1c]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x28]
call fcn.0043a630
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4424a0]
mov ecx, dword [esp + 0x30]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x42232d
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov esi, eax
mov dword [esp + 0x40], 0xfb66f93d
mov dword [esp + 0x44], 0xff68fd6f
mov dword [esp + 0x48], 0xf36cf11d
mov dword [esp + 0x4c], 0xf704f56e
mov dword [esp + 0x50], 0xeb7ce915
mov dword [esp + 0x54], 0xefeced72
mov word [esp + 0x58], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x19
ja 0x4223ed
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + ecx]
add edx, 0xb0e2231f
add eax, 0x1f
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 + 0xdc], eax
mov eax, dword [esp + 0xdc]
add al, 0x27
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xac]
mov eax, dword [esp + 0xac]
cmp eax, 0x1a
jb 0x422390
push ebx
push esi
push 0
push edi
push dword [esp + 0x18]
call fcn.0043ac80
add esp, 0x14
shr eax, 0x1f
mov dword [esp], esi
jmp dword [eax*4 + 0x4424a8]
mov dword [esp], 0
jmp dword [0x4424b0]
push esi
call fcn.00409030
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov dword [esp + 0x40], 0x8a858487
mov dword [esp + 0x44], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0xac]
cmp ecx, 7
ja 0x4224b3
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xac]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x15]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xc1bd7115
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, 8
jb 0x422460
mov ecx, dword [0x446fd4]
test ecx, ecx
je case.default.0x422525
mov edx, dword [esp + 0x40]
xor esi, esi
mov ebx, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x11081610
je 0x4224f4
inc esi
cmp ecx, esi
jne 0x4224d0
jmp case.default.0x422525
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x4424f8]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x422525
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
nop
nop
xor ecx, ecx
cmp dword [esp], 0
setne cl
mov eax, 2
lea ebx, [esp + 0x8e]
jmp dword [ecx*4 + 0x4424b8]
push edi
call fcn.00439830
add esp, 4
movzx edx, al
xor eax, eax
mov ecx, 1
jmp dword [edx*4 + 0x4424c0]
xor edx, edx
cmp dword [esp + 0x40], 1
sete dl
jmp dword [edx*4 + 0x4424c8]
mov edx, dword [case.0x422525.2]
nop
nop
nop
mov eax, 2
xor ecx, ecx
jmp edx
jmp dword [ecx*4 + 0x4424e0]
mov ecx, dword [case.0x422525.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp ecx
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x4424f8]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x442500]
xor ebx, ebx
cmp dword [esp], 0
sete bl
jmp dword [ebx*4 + 0x442510]
mov dword [esp + 0x40], 0x2b852d88
mov dword [esp + 0x44], 0x178429bb
mov dword [esp + 0x48], 0x13bb15be
mov dword [esp + 0x4c], 0x1fba11bb
mov dword [esp + 0x50], 0x1b891db3
mov dword [esp + 0x54], 0x7ac198a
mov dword [esp + 0x58], 0x3a905ad
mov dword [esp + 0x5c], 0xf9401d2
mov dword [esp + 0x60], 0xba00da0
lea eax, [esp + 0x64]
mov word [esp + 0x64], 0x908
mov dword [esp + 0x6a], 0
mov dword [esp + 0x66], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x2d
ja 0x422678
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0x826af3da
add ecx, 0x826af3da
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xdc], esi
mov ecx, dword [esp + 0xdc]
add cl, 0xa
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x2e
jb 0x422630
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
mov ecx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4226b0
cmp eax, 0xffffffd9
jge 0x4226ce
mov eax, 0xffffffff
jmp 0x4226d1
xor eax, eax
jmp 0x423505
add eax, 0x26
push eax
call fcn.00409020
add esp, 4
mov esi, eax
mov eax, dword [esp]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x422711
mov eax, dword [esp]
lea edx, [eax + 2]
mov eax, esi
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 0x422700
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x422741
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 0x422730
mov word [eax], 0
jmp dword [ebx*4 + 0x442518]
push dword [esp]
call fcn.00409030
add esp, 4
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00439a50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442520]
xor edi, edi
xor ebx, ebx
jmp dword [0x442590]
push esi
call fcn.00409030
add esp, 4
mov eax, dword [case.0x422b2a.16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x4425a8]
mov eax, ebx
not eax
and eax, edi
mov ecx, edi
not ecx
and ecx, ebx
sub ecx, eax
sar ecx, 3
imul eax, ecx, 0x421
push eax
call fcn.00409020
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x40], 0x834e81a5
mov dword [esp + 0x44], 0x8765856b
mov dword [esp + 0x48], 0x8b668969
mov dword [esp + 0x4c], 0x8f7e8d4d
mov dword [esp + 0x50], 0x93569160
mov dword [esp + 0x54], 0x97629575
mov dword [esp + 0x58], 0x9bbf9979
mov dword [esp + 0x5c], 0x9f4d9d40
mov dword [esp + 0x60], 0xa347a154
mov dword [esp + 0x64], 0xa74ba545
mov dword [esp + 0x68], 0xab46a974
mov dword [esp + 0x6c], 0xaf4dad43
mov dword [esp + 0x70], 0xb35eb151
mov dword [esp + 0x74], 0xb740b59a
mov dword [esp + 0x78], 0xbb5cb95c
lea eax, [esp + 0x7c]
mov word [esp + 0x7c], 0xbdbc
mov dword [esp + 0x7e], 0
mov dword [esp + 0x82], 0
mov byte [esp + 0x86], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x46
ja 0x4228d8
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0x7e64ecc0
add ecx, 0x7e64ecc0
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xdc], esi
mov ecx, dword [esp + 0xdc]
add cl, 0xc0
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x47
jb 0x422890
lea ebx, [esp + 0xdc]
lea edx, [esp + 0x40]
mov ecx, 0xf
mov edi, ebx
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 esi, [esp + 0x30]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x445fc8]
mov edi, dword [esp + 0x30]
test edi, edi
jns 0x422b67
mov eax, 0xffffffff
jmp 0x422b6a
mov dword [esp + 0x3c], esi
jmp dword [0x44252c]
lea eax, [esp + 0x30]
push 0
push eax
push dword [esp + 0x24]
call fcn.00439db0
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x30]
push 0
push eax
push dword [esp + 0x24]
call fcn.00439db0
add esp, 0xc
jmp dword [0x442530]
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x442538]
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
push eax
call fcn.00409020
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.00439eb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x442540]
jmp dword [0x44254c]
mov esi, dword [esp + 0x30]
mov byte [edi + esi], 0
push 0x20
call fcn.00409020
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 ecx, eax
push esi
push edi
call fcn.00425380
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x30]
mov byte [edi + esi], 0
push 0x20
call fcn.00409020
add esp, 4
mov ebx, 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 ecx, eax
push esi
push edi
call fcn.00425380
jmp dword [0x442550]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edi
movzx eax, al
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x442558]
mov dword [esp + 0x40], 0x8f9e88e3
mov dword [esp + 0x44], 0x988e9e83
mov dword [esp + 0x48], 0xafa3d7cf
mov dword [esp + 0x4c], 0xd2f5a2b4
mov dword [esp + 0x50], 0xa4abaeb2
mov dword [esp + 0x54], 0xaaa9cefb
mov dword [esp + 0x58], 0xa7bea6bf
mov word [esp + 0x5c], 0x15a7
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x24
ja 0x422b13
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0xa5b85d7]
add eax, 0xd7
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0xdc]
add al, 0x1f
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x25
jb 0x422ad0
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x40]
push eax
call fcn.00425570
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x442560]
mov esi, edx
mov edi, dword [esp + 0x34]
jmp dword [0x442570]
mov ecx, dword [esp + 0x38]
call fcn.004256e0
push dword [esp + 0x38]
call fcn.00409030
add esp, 4
jmp dword [0x442578]
xor eax, eax
test edi, edi
jne 0x4234ce
jmp 0x423505
lea eax, [edi + edi]
push eax
call fcn.00409020
add esp, 4
push esi
mov esi, eax
push edi
push eax
push 0x1e
push ebx
push 0
call dword [0x445fc8]
lea eax, [esp + 0x9c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00439a50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4425b0]
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
jmp dword [0x442690]
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0xa4]
call fcn.00439db0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x38], esi
jmp dword [eax*4 + 0x4425b8]
mov esi, dword [esp + 0xa8]
lea eax, [esi + 1]
push eax
call fcn.00409020
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xa8]
call fcn.00439eb0
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
jmp dword [eax*4 + 0x4425c0]
mov esi, dword [esp + 0xa8]
mov byte [edi + esi], 0
push 0x20
call fcn.00409020
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.00425380
movzx eax, al
xor edx, edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
jmp dword [eax*4 + 0x4425c8]
mov dword [esp + 0x40], 0x1f0e0423
mov dword [esp + 0x44], 0x141e2e03
mov dword [esp + 0x48], 0x1f2b275f
mov dword [esp + 0x4c], 0x32511a08
mov dword [esp + 0x50], 0xe8231e12
mov dword [esp + 0x54], 0xede9bcab
mov dword [esp + 0x58], 0xe7d9e6ec
mov dword [esp + 0x5c], 0xefd5d6b7
mov word [esp + 0x60], 0x75ed
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0x2b
ja 0x422d6c
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx esi, byte [esp + ecx + 0x40]
lea edx, [eax + 0x61520eed]
mov ecx, edx
and ecx, esi
mov edi, edx
xor edi, esi
or edx, esi
xor edx, edi
add eax, 0xed
and eax, esi
add eax, edx
lea ecx, [edi + ecx*2]
sub ecx, eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 8]
add al, 0x85
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 0x2c
jb 0x422d20
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x40]
push eax
call fcn.00425570
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
xor edx, edx
jmp dword [ecx*4 + 0x4425d0]
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xa0]
jmp dword [0x442680]
mov dword [esp + 0x28], edx
mov ecx, esi
call fcn.004256e0
push esi
call fcn.00409030
add esp, 4
jmp dword [0x442688]
jmp dword [0x4425e0]
add eax, 8
xor edx, edx
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov ecx, esi
jmp dword [eax*4 + 0x4425e8]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4425e8]
mov eax, dword [ecx]
mov dword [esp + 0x3c], eax
cmp dword [ecx + 0x18], 3
mov esi, 0
jne case.default.0x422e31
mov esi, dword [ecx + 0x10]
xor eax, eax
cmp dword [esp + 0x3c], 0
setne al
jmp dword [eax*4 + 0x4425f0]
mov eax, dword [case.0x422d8e.13]
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x442608]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebx
mov edx, esi
mov eax, esi
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne 0x422e60
sub ecx, edx
inc ecx
shr ecx, 1
mov dword [esp + 0xd8], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409020
mov edx, esi
add esp, 4
mov esi, dword [case.0x422d8e.19]
mov ecx, dword [case.0x422d8e.25]
mov dword [esp], edx
movsx edx, byte [edx]
mov dword [esp + 0xa4], eax
mov dword [esp + 4], eax
mov eax, edx
jmp case.0x422d8e.16
mov eax, dword [esp + 0x18]
or eax, ebx
add edi, 2
mov dword [esp], edi
mov edx, dword [esp + 4]
mov byte [edx], al
inc edx
mov dword [esp + 4], edx
movsx eax, byte [edi]
nop
nop
nop
jmp esi
xor ebx, ebx
test al, al
setne bl
jmp dword [ebx*4 + 0x442620]
mov edx, dword [esp]
inc edx
mov dword [esp + 0x18], edx
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov ebx, eax
or ebx, 0x20
lea edi, [ebx - 0x61]
add eax, 0xffffffd0
mov edx, eax
cmp eax, 0xa
jb 0x422ef9
mov edx, 0xffffffff
cmp edi, 6
jb 0x422f02
mov eax, edx
jmp 0x422f07
add ebx, 0xffffffa9
mov eax, ebx
mov edi, dword [esp + 0x18]
movsx ebx, byte [edi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x442638]
mov edx, eax
mov eax, ebx
or eax, 0x20
lea edi, [eax - 0x61]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb 0x422f33
mov ebx, 0xffffffff
shl edx, 4
mov dword [esp + 0x18], edx
cmp edi, 6
mov edi, dword [esp]
jae 0x422ea3
add eax, 0xffffffa9
mov ebx, eax
jmp 0x422ea3
mov eax, dword [esp + 4]
mov byte [eax], 0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
jmp 0x422f71
inc edi
movzx eax, byte [edi]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x422f70
cmp ecx, 0x20
je 0x422f70
mov dword [esp + 0x24], esi
cmp al, 0x2b
sete cl
cmp al, 0x2d
setne dl
sete al
or al, cl
movzx eax, al
lea esi, [edi + eax]
mov dword [esp], esi
or dl, cl
mov byte [esp + 0x18], dl
cmp byte [edi + eax], 0x30
jne 0x422fc4
movzx ecx, byte [edi + eax + 1]
and cl, 0xdf
xor edx, edx
cmp cl, 0x58
sete dl
lea eax, [eax + edx*2]
add eax, edi
mov dword [esp], eax
xor ecx, ecx
xor esi, esi
xor edx, edx
jmp 0x422fd2
mov ecx, ebx
mov edi, edx
mov ebx, esi
mov dword [esp + 4], ecx
mov edx, dword [esp]
movsx ecx, byte [edx]
lea eax, [ecx - 0x30]
cmp eax, 0xa
jb 0x42300b
mov esi, edi
mov eax, ecx
and eax, 0xffffffdf
add eax, 0xffffffbf
cmp eax, 0x19
mov edi, dword [esp + 0x24]
ja 0x423079
or cl, 0x20
cmp cl, 0x66
jg 0x423079
movsx eax, cl
add eax, 0xffffffa9
mov edi, esi
inc edx
mov dword [esp], edx
mov ecx, ebx
and ecx, edi
mov esi, 0xffffffff
mov edx, 0xffffffff
cmp ecx, 0xffffffff
mov ecx, 0x22
je 0x422fd2
mov ecx, edi
shld edi, ebx, 4
shr ecx, 0x1c
shl ebx, 4
xor edx, edx
mov esi, ecx
neg esi
sbb edx, edx
or edi, edx
or edx, ebx
mov ebx, eax
sar ebx, 0x1f
add edx, eax
adc ebx, edi
mov edi, 0xffffffff
mov esi, 0xffffffff
jb 0x423058
mov edi, ebx
mov esi, edx
mov edx, edi
mov ebx, 0x22
mov eax, 0x22
jb 0x42306a
mov eax, dword [esp + 4]
test ecx, ecx
jne 0x422fd0
mov ebx, eax
jmp 0x422fd0
mov eax, ebx
xor ebx, ebx
mov dword [esp], eax
neg eax
mov ecx, 0
sbb ecx, esi
cmp byte [esp + 0x18], 0
jne case.default.0x4230a4
mov dword [esp], eax
mov esi, ecx
mov dword [esp + 0x18], esi
xor eax, eax
mov edx, dword [esp + 0x10]
cmp edx, edi
setne al
jmp dword [eax*4 + 0x442640]
cmp dword [esp + 4], 0x22
setne al
mov ecx, dword [edx + 4]
mov esi, ecx
shr esi, 0x1c
xor esi, dword [esp + 0x18]
shl ecx, 4
or ecx, 1
xor ecx, dword [esp]
or ecx, esi
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x442648]
mov eax, 1
jmp dword [eax*4 + 0x442650]
mov ebx, dword [edx]
xor eax, eax
jmp dword [eax*4 + 0x442650]
add edx, 8
xor eax, eax
cmp edx, dword [esp + 0x24]
setne al
jmp dword [eax*4 + 0x442640]
mov eax, dword [case.0x422d8e.37]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test ebx, ebx
setne al
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
jmp dword [eax*4 + 0x442668]
mov ebx, dword [esp + 0x24]
jmp dword [0x442678]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4231b5
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push 0x932a8d34
push dword [0x446fe0]
call fcn.00438df0
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x1c]
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 + 0x442670]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
jmp dword [0x442678]
movzx eax, byte [ebx]
test al, al
je 0x4231ed
inc ebx
mov ecx, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4231e0
jmp 0x4231f1
mov ecx, dword [esp + 0x2c]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x42322b
mov ecx, dword [esp + 0x20]
mov edx, esi
and edx, 3
je 0x42322f
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x423210
mov edx, esi
sub edx, edi
add eax, edi
mov edi, eax
jmp 0x423231
mov edi, eax
jmp 0x42326f
mov edx, esi
cmp esi, 4
jb 0x42326f
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x423236
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x2c], edi
push 0x2e0ec9bb
push dword [0x446fcc]
call fcn.00438df0
add esp, 8
push dword [esp + 0x20]
call eax
mov dl, 1
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
jmp dword [0x442678]
push dword [esp + 0xa4]
mov esi, edx
call fcn.00409030
mov ecx, dword [esp + 0x38]
mov edx, esi
add esp, 4
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4425e8]
jmp dword [0x442578]
jmp dword [0x442580]
mov dword [esp + 0x28], edx
jmp dword [0x442688]
push edi
call fcn.00409030
add esp, 4
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x40], 0x8a858487
mov dword [esp + 0x44], 0
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
cmp ecx, 7
ja 0x42335e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x15]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xc1bd7115
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x6d
mov edx, dword [esp + 0x1c]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
jb 0x423320
mov ecx, dword [0x446fd4]
test ecx, ecx
je 0x42339c
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x423390
inc esi
cmp ecx, esi
jne 0x423380
jmp 0x42339c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42350d
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
jmp dword [0x442690]
jmp dword [0x44269c]
push esi
call fcn.00409030
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409030
add esp, 4
jmp dword [0x4426a0]
mov eax, dword [esp + 0x28]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x4426a8]
jmp 0x4234a7
mov esi, dword [esp + 0x2c]
mov byte [esi], 0
sub esi, dword [esp + 0x14]
mov dword [esp + 0x40], 0x2f222171
mov dword [esp + 0x44], 0x2317162d
mov dword [esp + 0x48], 0x38343631
mov dword [esp + 0x4c], 0xa3a1e73
mov dword [esp + 0x50], 0x177d3c01
mov dword [esp + 0x54], 0x39033e3b
mov dword [esp + 0x58], 0x130e470b
mov dword [esp + 0x5c], 0x9d08
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x423495
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x40]
mov edx, eax
and edx, 0x7579448
xor eax, 0x7579448
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 8
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 0x20
jb 0x423450
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x18]
lea eax, [esp + 0x48]
push eax
call fcn.00409940
mov ecx, dword [case.0x422525.128]
nop
nop
nop
jmp ecx
jmp dword [0x4426c0]
push dword [esp + 0x14]
mov esi, eax
call fcn.00409030
mov eax, esi
add esp, 4
and al, 1
test edi, edi
je 0x423505
cmp edi, ebx
je 0x423505
mov dword [esp + 0x28], eax
mov esi, edi
jmp 0x4234e4
cmp esi, ebx
je 0x4234f8
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x4234e0
push eax
call fcn.00409030
add esp, 4
jmp 0x4234e0
push edi
call fcn.00409030
add esp, 4
mov eax, dword [esp + 0x28]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
jmp dword [0x442690]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 4], 0
mov dword [esp], 0
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x442568]
xor eax, eax
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov dword [edx + esi*8 + 4], eax
add ebx, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, edx
mov dword [esp + 4], ebx
jmp dword [eax*4 + 0x442568]
mov esi, dword [ecx]
mov edx, dword [esp + 4]
mov eax, edx
not eax
and eax, edi
mov ebx, edi
not ebx
and ebx, edx
sub ebx, eax
mov eax, ebx
sar eax, 3
cmp edx, dword [esp]
mov dword [esp + 0x28], ecx
je 0x4235bd
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edi
jmp 0x42364f
mov dword [esp + 0x14], eax
inc eax
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
mov dword [esp + 0x18], ecx
add ebx, ecx
cmp ebx, eax
ja 0x4235d9
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.00409020
add esp, 4
mov dword [esp + 0x10], eax
test edi, edi
je 0x42362e
mov eax, dword [esp]
cmp edi, eax
je 0x423625
xor eax, eax
mov edx, dword [esp + 0x10]
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, dword [esp]
jne 0x423600
mov eax, edi
push eax
call fcn.00409030
add esp, 4
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], eax
lea eax, [ecx + ebx*8]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
mov dword [esp + 0x18], ecx
jae 0x4236f0
mov ebx, ecx
lea eax, [edi + eax*8]
mov ecx, edx
mov dword [esp + 4], eax
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x10]
lea edi, [eax + ebx*8]
lea eax, [eax + ebx*8]
add eax, 8
mov ebx, edi
add edi, edx
cmp edi, eax
jbe 0x42369a
cmp dword [esp + 4], ecx
mov ecx, dword [esp + 0x18]
je 0x4236f0
push edx
push ebx
push eax
call fcn.004090a0
mov ecx, dword [esp + 0x24]
add esp, 0xc
jmp 0x4236f0
mov ecx, edx
shr ecx, 2
mov dword [esp + 0x14], ebx
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, edx
and ebx, 0xfffffffc
add eax, ebx
mov dword [esp + 0x2c], eax
add ebx, dword [esp + 0x14]
mov ecx, edx
shr ecx, 1
and ecx, 1
mov edi, ebx
mov dword [esp + 4], ebx
mov edi, eax
mov eax, dword [esp + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x2c]
test dl, 1
mov ecx, dword [esp + 0x18]
je 0x4236f0
and edx, 2
movzx ecx, byte [ebx + edx]
mov byte [eax + edx], cl
mov ecx, dword [esp + 0x18]
nop
nop
nop
mov eax, dword [esp + 0x10]
mov dword [eax + ecx*8], 0
mov dword [esp + 0x10], eax
mov dword [eax + ecx*8 + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
inc eax
cmp byte [esi + ebx], 0
jne 0x423710
push eax
mov dword [esp + 8], eax
call fcn.00409020
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax*8], edi
mov ecx, dword [esp + 4]
shr ecx, 2
mov edx, esi
mov eax, edi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esp + 4]
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, esi
mov ecx, dword [esp + 4]
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x14], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 4]
test al, 1
je 0x423783
mov eax, dword [esp + 4]
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esp + 0x14]
mov byte [edx + eax], cl
mov eax, dword [esp + 4]
cmp eax, 1
je 0x423555
lea ecx, [eax - 1]
cmp eax, 2
jne 0x42379b
mov eax, 0xffffffff
jmp 0x4237db
and ebx, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
shr edx, 8
xor al, byte [esi]
movzx eax, al
xor edx, dword [eax*4 + 0x43c7a0]
mov eax, edx
shr eax, 8
xor dl, byte [esi + 1]
add esi, 2
movzx edx, dl
xor eax, dword [edx*4 + 0x43c7a0]
add ebx, 0xfffffffe
jne 0x4237b0
mov edx, dword [esp + 0x10]
test cl, 1
mov ebx, dword [esp + 0x24]
je 0x4237fb
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43c7a0]
mov eax, ecx
not eax
jmp 0x42355f
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], 0x8a858487
mov dword [esp + 0x44], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 7
ja 0x423874
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + 0x15]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xc1bd7115
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x6d
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 8
jb 0x423830
mov ecx, dword [0x446fd4]
test ecx, ecx
je 0x4238a8
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x446fd8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x4238a0
inc esi
cmp ecx, esi
jne 0x423890
jmp 0x4238a8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4238b6
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
jmp dword [0x442590]
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
jmp dword [0x442590]
push edi
call fcn.00409030
add esp, 4
push edi
call fcn.00409030
add esp, 4
jmp dword [0x44258c]
mov eax, dword [edi]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov ecx, dword [esi + 0x70]
mov byte [ecx], 0
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423930
sar ecx, 1
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov dword [ebx], 0xeb08d53a
mov dword [ebx + 4], 0xef0de91b
mov dword [ebx + 8], 0xe310ed09
mov dword [ebx + 0xc], 0xe735e1c2
mov dword [ebx + 0x10], 0xfb03e512
mov dword [ebx + 0x14], 0xff03f90e
lea eax, [ebx + 0x18]
mov word [ebx + 0x18], 0xfdfe
mov dword [ebx + 0x1a], 0
mov dword [ebx + 0x1e], 0
mov dword [ebx + 0x22], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x25
ja 0x4239d6
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add ecx, 0x1d
and ecx, edi
add ecx, ecx
sub edx, ecx
add edx, 0x7782bc1d
mov dword [esi + 8], edx
mov ecx, dword [esi + 8]
add cl, 0x35
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x26
jb 0x4239a0
mov edx, ebx
mov ebx, dword [esi + 0x38]
mov edi, ebx
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x18]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx]
mov edx, eax
and edx, ecx
xor eax, ecx
lea ecx, [eax + edx*2]
lea edx, [eax + edx*2]
add edx, 0xc
lea eax, [ecx + ecx]
add eax, 0x18
test edx, edx
jns 0x423a1e
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423a60
add ecx, 2
mov ebx, dword [esi + 0x1c]
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423a40
jmp 0x423a63
mov ebx, dword [esi + 0x1c]
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423a91
add ecx, 2
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423a80
mov word [eax], 0
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx]
test cx, cx
je 0x423ac1
mov edx, dword [esi + 0x14]
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 0x423ab0
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [esi + 0x60]
mov eax, dword [esi + 0x40]
push dword [eax]
call fcn.00439a50
add esp, 0x14
jmp dword [0x4426f8]
not eax
shr eax, 0x1f
mov ecx, dword [esi + 0x84]
jmp dword [eax*4 + 0x442700]
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov ecx, dword [esi + 0x70]
mov byte [ecx], 0
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423b20
sar ecx, 1
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov dword [ebx], 0xeb08d53a
mov dword [ebx + 4], 0xef0de91b
mov dword [ebx + 8], 0xe310ed09
mov dword [ebx + 0xc], 0xe735e1c2
mov dword [ebx + 0x10], 0xfb03e512
mov dword [ebx + 0x14], 0xff03f90e
lea eax, [ebx + 0x18]
mov word [ebx + 0x18], 0xfdfe
mov dword [ebx + 0x1a], 0
mov dword [ebx + 0x1e], 0
mov dword [ebx + 0x22], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x25
ja 0x423bc6
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add ecx, 0x1d
and ecx, edi
add ecx, ecx
sub edx, ecx
add edx, 0x7782bc1d
mov dword [esi + 8], edx
mov ecx, dword [esi + 8]
add cl, 0x35
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x26
jb 0x423b90
mov edx, ebx
mov ebx, dword [esi + 0x38]
mov edi, ebx
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x18]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx + edx]
add eax, 0x1a
test ecx, ecx
jns 0x423c06
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423c50
add ecx, 2
mov ebx, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423c30
jmp 0x423c53
mov ebx, dword [esi + 0x1c]
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423c81
add ecx, 2
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423c70
mov word [eax], 0
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx]
test cx, cx
je 0x423cb1
mov edx, dword [esi + 0x14]
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 0x423ca0
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [esi + 0x60]
mov eax, dword [esi + 0x40]
push dword [eax]
call fcn.00439a50
add esp, 0x14
mov eax, dword [esi + 0x74]
mov edi, dword [eax]
jmp 0x423910
mov edi, dword [esi + 0x2c]
mov dword [edi], 0x632e61dc
mov dword [edi + 4], 0x67c565cb
mov dword [edi + 8], 0x6bc669c9
mov dword [edi + 0xc], 0x6fdd6d0c
mov dword [edi + 0x10], 0x53fd51c4
mov dword [edi + 0x14], 0x57f755c6
mov dword [edi + 0x18], 0x5bff59ff
mov dword [edi + 0x1c], 0x5ff25de0
mov dword [edi + 0x20], 0x43d441e5
mov dword [edi + 0x24], 0x47ea45e1
mov dword [edi + 0x28], 0x4be849ec
lea eax, [edi + 0x2c]
mov dword [edi + 0x2c], 0x4d4c
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x2f
ja 0x423d94
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x2c]
movzx edi, byte [edi + edx]
lea edx, [ecx - 0x602fe030]
mov ebx, edi
not ebx
or ebx, edx
and edx, edi
mov edi, dword [esi + 0x2c]
add edx, ebx
neg edx
add ecx, edx
add ecx, 0x9fd01fcf
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x50
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x30
jb 0x423d50
mov edx, edi
mov ebx, dword [esi + 0x4c]
mov edi, ebx
mov ecx, 0xb
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x2c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, eax
and ecx, 1
xor eax, 1
mov edx, dword [esi + 0x20]
add eax, dword [edx]
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 0x16
lea eax, [edx + edx]
add eax, 0x2c
test ecx, ecx
jns 0x423ddd
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov ebx, dword [esi + 0xa0]
je 0x423e21
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423e10
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423e51
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423e40
mov word [eax], 0
mov ecx, dword [esi + 0x4c]
movzx ecx, word [ecx]
test cx, cx
je 0x423e81
mov edx, dword [esi + 0x5c]
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 0x423e70
mov word [eax], 0
mov dword [ebx], 0x13e41127
mov dword [ebx + 4], 0x1fe21dfd
mov dword [ebx + 8], 0x1bec19f1
mov dword [ebx + 0xc], 0x27c625f6
lea eax, [ebx + 0x10]
mov word [ebx + 0x10], 0x2126
mov dword [ebx + 0x16], 0
mov dword [ebx + 0x12], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x423f09
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add ecx, 0xd3
and ecx, edi
add ecx, ecx
sub edx, ecx
add edx, 0xcfd229d3
mov dword [esi + 8], edx
mov ecx, dword [esi + 8]
add cl, 0x3b
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x423ed0
mov edx, ebx
mov ebx, dword [esi + 0x48]
mov edi, ebx
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x10]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, eax
add ecx, 9
lea eax, [eax + eax + 0x12]
jns 0x423f3d
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov edi, dword [esi + 0x9c]
je 0x423f81
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423f70
mov word [eax], 0
mov ecx, dword [esi + 0x48]
movzx ecx, word [ecx]
test cx, cx
je 0x423fb1
mov edx, dword [esi + 0x44]
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], 0
mov dword [edi], 0x7b78791c
mov dword [edi + 4], 0
mov word [edi + 8], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 9
ja 0x42401c
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
and edx, 0x64496cf
xor eax, 0x64496cf
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
add al, 0x57
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0xa
jb 0x423fe0
mov eax, dword [esi + 0x6c]
mov ecx, edi
mov edi, dword [eax]
mov eax, dword [esi + 0x68]
mov ebx, dword [eax]
push 0
push 0
push 0xc00000
push ecx
push edi
push ebx
mov eax, dword [esi + 0x88]
push dword [eax]
call fcn.0041b0e0
add esp, 0x1c
mov ecx, dword [esi + 0x64]
or byte [ecx], al
jmp dword [0x4427dc]
mov edi, dword [esi + 0x2c]
mov dword [edi], 0x632e61dc
mov dword [edi + 4], 0x67c565cb
mov dword [edi + 8], 0x6bc669c9
mov dword [edi + 0xc], 0x6fdd6d0c
mov dword [edi + 0x10], 0x53fd51c4
mov dword [edi + 0x14], 0x57f755c6
mov dword [edi + 0x18], 0x5bff59ff
mov dword [edi + 0x1c], 0x5ff25de0
mov dword [edi + 0x20], 0x43d441e5
mov dword [edi + 0x24], 0x47ea45e1
mov dword [edi + 0x28], 0x4be849ec
lea eax, [edi + 0x2c]
mov dword [edi + 0x2c], 0x4d4c
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x2f
ja 0x424104
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x2c]
movzx edi, byte [edi + edx]
lea edx, [ecx - 0x602fe030]
mov ebx, edi
not ebx
or ebx, edx
and edx, edi
mov edi, dword [esi + 0x2c]
add edx, ebx
neg edx
add ecx, edx
add ecx, 0x9fd01fcf
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x50
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x30
jb 0x4240c0
mov edx, edi
mov ebx, dword [esi + 0x4c]
mov edi, ebx
mov ecx, 0xb
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x2c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0x17
lea eax, [edx + edx]
add eax, 0x2e
test ecx, ecx
jns 0x424144
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov ebx, dword [esi + 0xa0]
je 0x424181
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424170
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x4241b1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4241a0
mov word [eax], 0
mov ecx, dword [esi + 0x4c]
movzx ecx, word [ecx]
test cx, cx
je 0x4241e1
mov edx, dword [esi + 0x5c]
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 0x4241d0
mov word [eax], 0
mov dword [ebx], 0x13e41127
mov dword [ebx + 4], 0x1fe21dfd
mov dword [ebx + 8], 0x1bec19f1
mov dword [ebx + 0xc], 0x27c625f6
lea eax, [ebx + 0x10]
mov word [ebx + 0x10], 0x2126
mov dword [ebx + 0x16], 0
mov dword [ebx + 0x12], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x424269
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add ecx, 0xd3
and ecx, edi
add ecx, ecx
sub edx, ecx
add edx, 0xcfd229d3
mov dword [esi + 8], edx
mov ecx, dword [esi + 8]
add cl, 0x3b
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x424230
mov edx, ebx
mov ecx, 4
mov ebx, dword [esi + 0x48]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebx + 0x10]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, eax
add ecx, 9
lea eax, [eax + eax + 0x12]
jns 0x42429d
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov edi, dword [esi + 0x9c]
je 0x4242e1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4242d0
mov word [eax], 0
mov ecx, dword [esi + 0x48]
movzx ecx, word [ecx]
test cx, cx
je 0x424311
mov edx, dword [esi + 0x44]
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 0x424300
mov word [eax], 0
mov dword [edi], 0x7b78791c
mov dword [edi + 4], 0
mov word [edi + 8], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 9
ja 0x42437c
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
and edx, 0x64496cf
xor eax, 0x64496cf
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
add al, 0x57
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0xa
jb 0x424340
push 0
push 0
push 0xc00000
push edi
mov eax, dword [esi + 0x6c]
push dword [eax]
mov eax, dword [esi + 0x68]
push dword [eax]
mov eax, dword [esi + 0x88]
push dword [eax]
call fcn.0041b0e0
add esp, 0x1c
mov ecx, dword [esi + 0x64]
or byte [ecx], al
jmp case.0x422525.198
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4427e0]
push ebx
call fcn.00409030
add esp, 4
xor eax, eax
test edi, edi
sete al
mov ebx, dword [esi + 0x1c]
jmp dword [eax*4 + 0x4427e8]
xor eax, eax
test edi, edi
sete al
mov ebx, dword [esi + 0x1c]
jmp dword [eax*4 + 0x4427e8]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4427b0]
push eax
call fcn.00409030
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4427c4]
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x442750]
push ecx
call fcn.00409030
add esp, 4
mov eax, dword [esi + 0x94]
push dword [eax]
call fcn.00402bf0
add esp, 4
mov eax, dword [esi + 0x98]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x442758]
mov eax, dword [ebx]
mov dword [esi + 8], 0x8a858487
mov dword [esi + 0xc], 0
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x50]
cmp ecx, 7
ja 0x4244c7
nop
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x50]
movzx edx, byte [esi + edx + 8]
lea edi, [ecx + 0x15]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0xc1bd7115
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
add cl, 0x6d
mov edx, dword [esi + 0x50]
mov byte [esi + edx + 8], cl
inc dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
cmp ecx, 8
jb 0x424490
mov ecx, dword [0x446fd4]
test ecx, ecx
je 0x424510
mov edx, dword [esi + 8]
xor edi, edi
mov ebx, dword [0x446fd8]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x4244f0
inc edi
cmp ecx, edi
jne 0x4244e0
jmp 0x424510
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x424510
push eax
push 1
push dword [0x446fdc]
push ecx
call fcn.00436e40
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov ebx, dword [esi + 0x1c]
mov eax, dword [case.0x422525.181]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ecx, dword [case.0x422525.184]
nop
nop
nop
jmp ecx
jmp dword [0x4427ac]
mov eax, dword [esi + 0xac]
mov dword [eax], 0x7bdc7997
mov dword [eax + 4], 0x7f827dca
mov dword [eax + 8], 0x73f871ca
mov dword [eax + 0xc], 0x777475c6
lea ecx, [eax + 0x10]
mov dword [esi + 0x14], ecx
mov dword [eax + 0x10], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x13
ja 0x4245c8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [eax + edx]
lea edi, [ecx + 0x8f]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0x4e63888f
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x17
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x14
jb 0x424590
mov edx, eax
mov eax, dword [esi + 0x78]
mov edi, eax
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [eax + 0x10]
xor ecx, ecx
mov eax, dword [esi + 0x14]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, eax
and ecx, 8
xor eax, 8
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x424603
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x424641
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424630
mov word [eax], 0
mov ecx, dword [esi + 0x78]
movzx ecx, word [ecx]
test cx, cx
je 0x424671
mov edx, dword [esi + 0x80]
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 0x424660
mov word [eax], 0
mov eax, dword [esi + 0x88]
mov ecx, dword [eax]
mov eax, dword [esi + 0x8c]
mov edi, dword [eax]
mov eax, dword [esi + 0x7c]
push dword [eax]
push dword [eax + 4]
push edi
call fcn.00409790
mov ecx, dword [esi + 0x70]
mov byte [ecx], al
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x442738]
push edi
call fcn.00409030
add esp, 4
push 0x2e0ec9bb
push dword [0x446fcc]
call fcn.00438df0
add esp, 8
mov ecx, dword [esi + 0x7c]
push dword [ecx + 4]
call eax
mov eax, dword [esi + 0x90]
mov ecx, dword [eax]
mov eax, dword [case.0x422525.164]
jmp case.0x422525.162
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esi + 0x60]
jmp dword [ecx*4 + 0x442730]
mov eax, dword [case.0x422525.164]
mov ecx, dword [esi + 0x3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebx + 4], 0
push 0x932a8d34
push dword [0x446fe0]
call fcn.00438df0
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
mov dword [ebx + 4], 0
push 0x932a8d34
push dword [0x446fe0]
call fcn.00438df0
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
jmp dword [0x442728]
mov dword [esi + 0x80], edx
jmp dword [0x4426f0]
jmp 0x423910
push 0
push ecx
mov ebx, dword [esi + 0x60]
push dword [ebx]
call fcn.00439db0
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442708]
mov eax, dword [esi + 0x84]
mov ebx, dword [eax]
lea eax, [ebx + 1]
push eax
call fcn.00409020
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x98]
mov dword [eax], edi
push 0
push ebx
mov ebx, dword [esi + 0x60]
push edi
push dword [ebx]
call fcn.00439eb0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442710]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x442758]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401ff0
add esp, 4
mov ecx, dword [esi + 0x94]
mov dword [ecx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x442718]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x442758]
push eax
call fcn.00402990
add esp, 4
mov ebx, dword [esi + 0xb4]
mov dword [ebx], 0xbe81acb7
mov dword [ebx + 4], 0x938c96b0
mov dword [ebx + 8], 0x868e86c8
mov dword [ebx + 0xc], 0x9b849e88
mov dword [ebx + 0x10], 0x86b18d89
mov word [ebx + 0x14], 0x868d
mov byte [ebx + 0x16], 0xc
mov dword [ebx + 0x17], 0
mov dword [ebx + 0x1b], 0
mov byte [ebx + 0x1f], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1f
ja 0x4248be
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, ecx
and edi, 0x2c0fe8db
xor ecx, 0xac0fe8db
lea ecx, [ecx + edi*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 8], edi
mov ecx, dword [esi + 8]
add cl, 3
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x20
jb 0x424880
push ebx
push eax
call fcn.00402a30
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
mov dword [esi + 0x58], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4248e0
shr edx, 2
mov ebx, ecx
or ecx, 0xfffffffe
mov edi, ebx
and edi, 0xfffffffe
add ecx, edi
cmp byte [eax + ecx + 1], 0x3d
je 0x424912
mov ecx, ebx
xor ecx, 0xfffffffe
lea ecx, [ecx + edi*2]
cmp byte [eax + ecx + 1], 0x2e
jne 0x424913
dec edx
mov dword [esi + 0x18], ebx
movzx ecx, byte [eax + ebx - 2]
cmp ecx, 0x3d
je 0x424925
cmp ecx, 0x2e
jne 0x424926
dec edx
mov dword [esi + 0xa8], edx
lea eax, [edx + 1]
push eax
call fcn.00409020
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x3c], ecx
mov dword [eax], ecx
cmp dword [esi + 0x18], 0
je 0x424a36
xor edx, edx
mov edi, 2
jmp 0x424970
mov edx, dword [esi + 0x28]
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x424a36
mov dword [esi + 0x14], edx
mov ebx, dword [esi + 0x58]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00417dd0
add esp, 4
mov byte [esi + 0x28], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00417dd0
mov edx, dword [esi + 0x14]
add esp, 4
mov bh, al
movzx ecx, byte [esi + 0x28]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x3c]
mov byte [ecx + edx], al
mov ecx, dword [esi + 0x18]
inc edx
cmp edi, ecx
jae 0x424960
mov eax, dword [esi + 0x58]
movzx eax, byte [eax + edi]
push eax
mov dword [esi + 0x28], edx
call fcn.00417dd0
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
add esp, 4
cmp al, 0x40
je 0x424960
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edx, dword [esi + 0x14]
lea ecx, [edx + 2]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x3c]
mov byte [ecx + edx + 1], al
mov ecx, dword [esi + 0x18]
lea eax, [edi + 1]
cmp eax, ecx
jae 0x424958
mov eax, dword [esi + 0x58]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00417dd0
mov ecx, dword [esi + 0x18]
add esp, 4
cmp al, 0x40
mov edx, dword [esi + 0x28]
je 0x424960
shl bl, 6
add al, bl
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x14]
mov byte [ecx + edx + 2], al
mov ecx, dword [esi + 0x18]
add edx, 3
jmp 0x424960
mov eax, dword [esi + 0xa8]
add eax, 0xfffffffb
mov edi, dword [esi + 0xb0]
mov dword [edi], eax
mov eax, dword [esi + 0x3c]
add eax, 5
mov dword [edi + 4], eax
mov ebx, dword [esi + 0x7c]
mov dword [ebx], 0
jmp dword [0x442724]
mov eax, dword [esi + 0x70]
movzx eax, byte [eax]
jmp dword [eax*4 + 0x4427c8]
jmp dword [0x4427d0]
jmp dword [0x442764]
push edi
call fcn.00409030
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00409030
add esp, 4
jmp dword [0x44276c]
jmp dword [0x44277c]
push edi
call fcn.00409030
add esp, 4
mov eax, dword [case.0x422525.196]
nop
nop
jmp eax
mov eax, dword [esi + 0x74]
mov edi, dword [eax]
add edi, 4
mov dword [eax], edi
mov eax, dword [esi + 0x48]
add eax, 2
mov dword [esi + 0x44], eax
xor eax, eax
mov ecx, dword [esi + 0xa4]
cmp edi, dword [ecx]
mov ecx, dword [esi + 0x4c]
lea ecx, [ecx + 2]
mov dword [esi + 0x5c], ecx
setne al
mov ecx, dword [esi + 0x38]
add ecx, 2
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0x54]
jmp dword [eax*4 + 0x4426d8]
mov eax, dword [case.0x422525.141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x422525.213]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x442810]
push eax
call fcn.00409030
add esp, 4
jmp dword [0x442818]
jmp dword [0x442818]
nop
nop
nop
nop
nop
nop
jmp dword [0x442824]
mov eax, dword [esi + 0x64]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov ecx, esp
sub esp, 0x14
mov dword [esi + 0x54], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x30], esp
sub esp, 0x10
mov dword [esi + 0x28], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x18], edx
mov esp, edx
push eax
sub esp, 0x18
mov dword [esi + 0x44], esp
sub esp, 0x28
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x3c], edx
mov esp, edx
push eax
sub esp, 0x14
mov dword [esi + 0x5c], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x14], edx
mov esp, edx
push eax
sub esp, 8
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x20], esp
sub esp, 0x1c
mov dword [esi + 0x38], esp
sub esp, 0x28
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x1c], edx
mov esp, edx
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x94], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xb4], edx
mov esp, edx
push eax
mov dword [esi + 0x90], esp
sub esp, 8
mov dword [esi + 0xb0], esp
sub esp, 8
mov dword [esi + 0x7c], esp
sub esp, 0x10
mov dword [esi + 0x78], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xac], edx
mov esp, edx
push eax
mov dword [esi + 0x8c], esp
sub esp, 0x30
mov dword [esi + 0x4c], esp
sub esp, 0x30
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x2c], edx
mov esp, edx
push eax
mov dword [esi + 0x6c], esp
sub esp, 0x14
mov dword [esi + 0x48], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xa0], edx
mov esp, edx
push eax
mov dword [esi + 0x68], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x9c], edx
mov esp, edx
mov dword [esi + 0x88], ecx
mov edx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [eax], 0x7bbb7981
mov dword [eax + 4], 0x7fcc7dca
mov dword [eax + 8], 0x73d371ba
mov dword [eax + 0xc], 0x77d775c6
mov dword [eax + 0x10], 0x4b484991
lea ecx, [eax + 0x14]
mov dword [esi + 0x80], ecx
mov dword [eax + 0x14], 0
mov word [eax + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x424d47
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax + ecx]
lea ecx, [edx + 0x1359830f]
lea edi, [edx + ebx]
add edi, 0x1359830f
add edx, 0xf
and edx, ebx
and ecx, ebx
add ecx, edx
mov edx, edi
not edx
and edx, ecx
not ecx
and ecx, edi
sub ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
or edx, 0x96
and ecx, 0x96
add ecx, edx
inc cl
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x424cf0
mov ebx, dword [esi + 0x54]
mov edi, ebx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, ebx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0x80]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x34]
push edi
push 0
push 0
push 9
push ebx
push 0
call dword [0x445fc8]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x424d88
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
push dword [esi + 0x34]
push edi
push eax
push 9
push ebx
push 0
call dword [0x445fc8]
mov edi, dword [esi + 0x18]
mov dword [edi], 0x73db6d28
mov dword [edi + 4], 0x77d171c7
mov dword [edi + 8], 0x7bcc75c7
mov dword [edi + 0xc], 0x7f7e79dc
lea eax, [edi + 0x10]
mov dword [esi + 0x54], eax
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x17
mov ebx, dword [esi + 0x3c]
ja 0x424e2b
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea edi, [ecx + 0x5a2394ce]
and edi, edx
add ecx, edx
add ecx, 0x5a2394ce
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x18]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x5e
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x18
jb 0x424df0
mov edx, dword [esi + 0x28]
mov eax, edi
mov edi, edx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x10
mov edi, edx
xor ecx, ecx
mov eax, dword [esi + 0x54]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebx], 0x1be319c4
mov dword [ebx + 4], 0x17f515e7
mov dword [ebx + 8], 0x13e011e7
mov dword [ebx + 0xc], 0x2fed2dd0
mov dword [ebx + 0x10], 0x2bdc29c9
mov dword [ebx + 0x14], 0x27d425c5
mov dword [ebx + 0x18], 0x232221a9
lea eax, [ebx + 0x1c]
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x20], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x20
ja 0x424ee5
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, ecx
and edi, 0x1123bdd4
xor ecx, 0x1123bdd4
lea ecx, [ecx + edi*2]
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x34
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
mov ecx, dword [esi + 4]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
cmp ecx, 0x21
jb 0x424ea0
mov edx, dword [esi + 0x44]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x14]
mov dword [edi], 0x831b8dc8
mov dword [edi + 4], 0x87e18117
mov dword [edi + 8], 0xbb2c8517
mov dword [edi + 0xc], 0xbfceb9dc
mov dword [edi + 0x10], 0xb3f4bdc8
lea eax, [edi + 0x14]
mov dword [esi + 0x18], eax
mov word [edi + 0x14], 0xb1b0
mov dword [edi + 0x16], 0
mov word [edi + 0x1a], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
mov ebx, dword [esi + 0x1c]
ja 0x424fa6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x14]
movzx edi, byte [edi + edx]
lea edx, [ecx + edi]
add edx, 0x254ebb16
add ecx, 0x16
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov edi, dword [esi + 0x14]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x66
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1c
jb 0x424f60
mov ecx, 5
mov edx, dword [esi + 0x5c]
mov eax, edi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
mov ecx, 1
mov eax, dword [esi + 0x18]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x28]
mov dword [edi], eax
mov eax, dword [esi + 0x44]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov eax, dword [esi + 0x64]
mov byte [eax], 0
mov eax, dword [esi + 0x74]
mov dword [eax], edi
lea ecx, [edi + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [eax], ecx
jmp dword [0x4426d4]
push eax
sub esp, 0x10
mov dword [esi + 0x34], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x14], esp
sub esp, 0x10
mov dword [esi + 0x38], esp
sub esp, 0x18
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x40], ecx
mov esp, ecx
push eax
sub esp, 0x18
mov dword [esi + 0x20], esp
sub esp, 0x28
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x2c], ecx
mov esp, ecx
push eax
sub esp, 0x14
mov dword [esi + 0x18], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x24], ecx
mov esp, ecx
mov dword [eax], 0x7bbb7981
mov dword [eax + 4], 0x7fcc7dca
mov dword [eax + 8], 0x73d371ba
mov dword [eax + 0xc], 0x77d775c6
mov dword [eax + 0x10], 0x4b484991
lea ecx, [eax + 0x14]
mov dword [esi + 0x30], ecx
mov dword [eax + 0x14], 0
mov word [eax + 0x18], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x19
ja 0x4250e7
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax + ecx]
lea ecx, [edx + 0x1359830f]
lea edi, [edx + ebx]
add edi, 0x1359830f
add edx, 0xf
and edx, ebx
and ecx, ebx
add ecx, edx
mov edx, edi
not edx
and edx, ecx
not ecx
and ecx, edi
sub ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
or edx, 0x96
and ecx, 0x96
add ecx, edx
inc cl
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
jb 0x425090
mov ebx, dword [esi + 0x34]
mov edi, ebx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, ebx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0x30]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x14]
push edi
push 0
push 0
push 9
push ebx
push 0
call dword [0x445fc8]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x425125
mov eax, 0xffffffff
push eax
call fcn.00409020
add esp, 4
push dword [esi + 0x14]
push edi
push eax
push 9
push ebx
push 0
call dword [0x445fc8]
mov ebx, dword [esi + 0x40]
mov dword [ebx], 0x73db6d28
mov dword [ebx + 4], 0x77d171c7
mov dword [ebx + 8], 0x7bcc75c7
mov dword [ebx + 0xc], 0x7f7e79dc
lea eax, [ebx + 0x10]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x17
ja 0x4251b8
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx + 0x5a2394ce]
and edi, edx
add ecx, edx
add ecx, 0x5a2394ce
add edi, edi
sub ecx, edi
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x5e
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x18
jb 0x425180
mov ecx, 4
mov edx, dword [esi + 0x38]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x2c]
mov dword [edi], 0x1be319c4
mov dword [edi + 4], 0x17f515e7
mov dword [edi + 8], 0x13e011e7
mov dword [edi + 0xc], 0x2fed2dd0
mov dword [edi + 0x10], 0x2bdc29c9
mov dword [edi + 0x14], 0x27d425c5
mov dword [edi + 0x18], 0x232221a9
lea eax, [edi + 0x1c]
mov dword [esi + 0x14], eax
mov dword [edi + 0x1c], 0
mov byte [edi + 0x20], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x20
mov ebx, dword [esi + 0x24]
ja 0x425278
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
mov edi, ecx
and edi, 0x1123bdd4
xor ecx, 0x1123bdd4
lea ecx, [ecx + edi*2]
mov edi, dword [esi + 0x2c]
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x34
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
mov ecx, dword [esi + 4]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
cmp ecx, 0x21
jb 0x425230
mov ecx, 7
mov edx, dword [esi + 0x20]
mov eax, edi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x1c
mov edi, edx
xor ecx, ecx
mov eax, dword [esi + 0x14]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebx], 0x831b8dc8
mov dword [ebx + 4], 0x87e18117
mov dword [ebx + 8], 0xbb2c8517
mov dword [ebx + 0xc], 0xbfceb9dc
mov dword [ebx + 0x10], 0xb3f4bdc8
lea eax, [ebx + 0x14]
mov word [ebx + 0x14], 0xb1b0
mov dword [ebx + 0x16], 0
mov word [ebx + 0x1a], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
ja 0x425320
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add edx, 0x254ebb16
add ecx, 0x16
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x66
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1c
jb 0x4252e0
mov ecx, 5
mov edx, dword [esi + 0x18]
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x422525.133
mov eax, dword [esi + 0x48]
add eax, 2
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x4c]
add eax, 2
mov dword [esi + 0x5c], eax
xor eax, eax
cmp edi, ecx
mov ecx, dword [esi + 0x78]
lea edx, [ecx + 2]
setne al
mov ecx, dword [esi + 0x38]
add ecx, 2
mov dword [esi + 0x14], ecx
mov dword [esi + 0x54], edx
jmp dword [eax*4 + 0x4426d8]