Function at 0x421a26
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2200
call fcn.00408ed0
mov dword [esp + 0x11f8], 0xf3440db0
mov dword [esp + 0x11fc], 0xf73df135
mov dword [esp + 0x1200], 0xfb4df53d
mov dword [esp + 0x1204], 0xff48f94c
mov dword [esp + 0x1208], 0xe35efd45
mov dword [esp + 0x120c], 0xe751e155
mov dword [esp + 0x1210], 0xeb5ce521
mov dword [esp + 0x1214], 0xe9e8
mov byte [esp + 0x1218], 0
mov dword [esp + 0xa88], 0
mov eax, dword [esp + 0xa88]
cmp eax, 0x20
ja 0x41e45b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa88]
mov ecx, dword [esp + 0xa88]
movzx ecx, byte [esp + ecx + 0x11f8]
lea edx, [eax + ecx]
add edx, 0x2eaabe7e
add eax, 0x2eaabe7e
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x88]
add al, 0x8e
mov ecx, dword [esp + 0xa88]
mov byte [esp + ecx + 0x11f8], al
inc dword [esp + 0xa88]
mov eax, dword [esp + 0xa88]
cmp eax, 0x21
jb 0x41e400
lea eax, [esp + 0x48]
lea esi, [esp + 0x11f8]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.0043bec0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x442de0]
mov edi, dword [esp + 0x48]
jmp dword [0x442dec]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x44]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push edi
call fcn.0043c2f0
add esp, 0x24
nop
nop
nop
nop
lea eax, [esp + 0x58]
lea ecx, [esp + 0x44]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push edi
call fcn.0043c2f0
add esp, 0x24
jmp dword [0x442df4]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x442df8]
xor eax, eax
cmp ebx, dword [esp + 0x44]
setb al
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x442e00]
mov word [esi], 0
mov eax, dword [esp + 0xc]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov dword [esp + 0x10], esi
jmp dword [ecx*4 + 0x442f00]
movzx ecx, word [esp + 0x11f8]
test cx, cx
je 0x41fe33
xor edi, edi
lea eax, [esp + 0x11f8]
jmp 0x41fd24
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x44]
setb al
jmp dword [eax*4 + 0x442e00]
mov edi, dword [esp + 0x58]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41e563
mov eax, 0xffffffff
push eax
call fcn.00408f00
add esp, 4
mov dword [esp + 0x70], edi
lea ecx, [esp + 0x70]
push ecx
push eax
push ebx
push dword [esp + 0x54]
mov edi, eax
call fcn.0043c010
add esp, 0x10
not eax
shr eax, 0x1f
mov ecx, 1
jmp dword [eax*4 + 0x442e08]
lea eax, [esp + 0x54]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
mov dword [esp + 0x70], edi
push edi
call fcn.0043bec0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442e10]
mov eax, dword [case.0x41fb9c.46]
jmp case.0x41fb9c.44
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x88], 0x63cb612d
mov dword [esp + 0x8c], 0x67f465c7
mov dword [esp + 0x90], 0x6bf969c7
mov dword [esp + 0x94], 0x6fc86dc3
mov dword [esp + 0x98], 0x53ee51c4
mov dword [esp + 0x9c], 0x57ff55e3
mov dword [esp + 0xa0], 0x5bfe59f6
mov dword [esp + 0xa4], 0x5fc95df3
mov dword [esp + 0xa8], 0x432241d3
mov dword [esp + 0xac], 0x47e34509
mov dword [esp + 0xb0], 0x4bd949db
mov dword [esp + 0xb4], 0x4fe94ded
mov dword [esp + 0xb8], 0xb31cb119
mov dword [esp + 0xbc], 0xb7d6b513
mov dword [esp + 0xc0], 0xbb2fb90b
mov dword [esp + 0xc4], 0xbf2dbd1e
mov dword [esp + 0xc8], 0xa331a139
mov dword [esp + 0xcc], 0xa703a530
mov dword [esp + 0xd0], 0xab16a905
mov dword [esp + 0xd4], 0xaf3cad1c
mov dword [esp + 0xd8], 0x9334913f
mov dword [esp + 0xdc], 0x973a953d
mov dword [esp + 0xe0], 0x9b09993d
mov dword [esp + 0xe4], 0x9fc79d20
mov dword [esp + 0xe8], 0x83d581d3
mov dword [esp + 0xec], 0x87c585d1
mov dword [esp + 0xf0], 0x8bcc89ce
mov dword [esp + 0xf4], 0x8fda8ddc
mov dword [esp + 0xf8], 0xf3a1f1a1
mov dword [esp + 0xfc], 0xf7a7f5a5
mov dword [esp + 0x100], 0xfb5ef9a9
mov dword [esp + 0x104], 0xffbcfdaf
mov dword [esp + 0x108], 0xe3bae1b8
mov dword [esp + 0x10c], 0xe7b6e5a5
mov dword [esp + 0x110], 0xebbbe9b8
mov dword [esp + 0x114], 0xefbaedbc
mov dword [esp + 0x118], 0xd380d192
mov dword [esp + 0x11c], 0xd780d595
mov dword [esp + 0x120], 0xdb8dd98e
mov dword [esp + 0x124], 0xdf62dd8a
mov word [esp + 0x128], 0xc1c0
mov dword [esp + 0x12e], 0
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
ja 0x41e861
nop
nop
nop
mov edx, dword [esp + 0x888]
mov eax, dword [esp + 0x888]
movzx esi, byte [esp + eax + 0x88]
lea eax, [edx + 0x10de14d0]
lea ecx, [edx + esi]
add ecx, 0x10de14d0
add edx, 0xd0
and edx, esi
and eax, esi
add eax, edx
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
mov ecx, eax
xor ecx, 0x4f
and eax, 0x4f
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
mov eax, dword [esp + 0x888]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 0x888], eax
mov eax, dword [esp + 0x888]
cmp eax, 0xaa
jb 0x41e7d0
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 edx, [esp + 0x128]
mov eax, edx
lea edi, [esp + 0xf2a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xfb63f9b9
mov dword [esp + 0x8c], 0xff6efd5f
mov dword [esp + 0x90], 0xf365f16f
mov dword [esp + 0x94], 0xf752f563
mov dword [esp + 0x98], 0xeb44e962
mov dword [esp + 0x9c], 0xef77ed43
mov dword [esp + 0xa0], 0xe344e170
mov dword [esp + 0xa4], 0xe76de573
mov dword [esp + 0xa8], 0xdb38d973
mov dword [esp + 0xac], 0xdf68dd64
mov dword [esp + 0xb0], 0xd315d172
mov dword [esp + 0xb4], 0xd746d545
mov dword [esp + 0xb8], 0xcb6fc944
mov dword [esp + 0xbc], 0xcf58cd54
mov dword [esp + 0xc0], 0xc367c178
mov dword [esp + 0xc4], 0xc751c550
mov dword [esp + 0xc8], 0xbb29b95d
mov dword [esp + 0xcc], 0xbf10bd24
mov dword [esp + 0xd0], 0xb32bb117
mov dword [esp + 0xd4], 0xb710b52c
mov dword [esp + 0xd8], 0xab21a927
mov dword [esp + 0xdc], 0xaf4cad3f
mov dword [esp + 0xe0], 0xa307a111
mov dword [esp + 0xe4], 0xa731a537
mov dword [esp + 0xe8], 0x9b019905
mov dword [esp + 0xec], 0x9f029d01
mov dword [esp + 0xf0], 0x93709107
mov dword [esp + 0xf4], 0x97039527
mov dword [esp + 0xf8], 0x8b1d8934
mov dword [esp + 0xfc], 0x8f198d01
mov dword [esp + 0x100], 0x8327811a
mov dword [esp + 0x104], 0x8728851d
mov dword [esp + 0x108], 0x7bea7936
mov dword [esp + 0x10c], 0x7fda7deb
mov dword [esp + 0x110], 0x73ec71e5
mov dword [esp + 0x114], 0x77e175d5
mov dword [esp + 0x118], 0x6bd969da
mov dword [esp + 0x11c], 0x6ff86dfd
mov dword [esp + 0x120], 0x63f161f2
mov dword [esp + 0x124], 0x67f965f3
mov dword [esp + 0x128], 0x5b9359ca
mov dword [esp + 0x12c], 0x5f955d8f
mov dword [esp + 0x130], 0x53955189
mov dword [esp + 0x134], 0x57925594
mov dword [esp + 0x138], 0x4b9c4986
mov dword [esp + 0x13c], 0x4f994d99
mov dword [esp + 0x140], 0x4393419d
mov dword [esp + 0x144], 0x47e04591
mov dword [esp + 0x148], 0x3bfa3993
mov dword [esp + 0x14c], 0x3ff43df2
mov dword [esp + 0x150], 0x33e031fd
mov dword [esp + 0x154], 0x37e735e2
mov dword [esp + 0x158], 0x2bfc29e6
mov dword [esp + 0x15c], 0x2ffe2de8
mov dword [esp + 0x160], 0x23f621ed
mov dword [esp + 0x164], 0x27ed25f4
mov dword [esp + 0x168], 0x1bb419f0
mov word [esp + 0x16c], 0x1d1a
mov word [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xeb
ja 0x41eb98
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 + 0x55c03f7f]
add eax, 0x7f
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xa88], edx
mov eax, dword [esp + 0xa88]
add al, 0x87
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xec
jb 0x41eb40
lea edi, [esp + 0xf2c]
lea eax, [esp + 0x88]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x16c]
mov ecx, 1
lea edi, [esp + 0x1010]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xb30bb1ed
mov dword [esp + 0x8c], 0xb704b517
mov dword [esp + 0x90], 0x8b398937
mov dword [esp + 0x94], 0x8f288d33
mov dword [esp + 0x98], 0x832e8134
mov dword [esp + 0x9c], 0x872085db
mov dword [esp + 0xa0], 0x9b23993e
mov dword [esp + 0xa4], 0x9f3b9d3f
mov dword [esp + 0xa8], 0x93e3913c
mov dword [esp + 0xac], 0x97e895e7
mov dword [esp + 0xb0], 0xeb46e998
mov dword [esp + 0xb4], 0xef5bedb3
mov dword [esp + 0xb8], 0xe35ee154
mov dword [esp + 0xbc], 0xe759e55b
mov dword [esp + 0xc0], 0xfb56f943
mov dword [esp + 0xc4], 0xff4cfdac
mov dword [esp + 0xc8], 0xf354f14f
mov dword [esp + 0xcc], 0xf74af54d
mov dword [esp + 0xd0], 0xcb79c96d
mov dword [esp + 0xd4], 0xcf91cd60
mov dword [esp + 0xd8], 0xc376c175
mov dword [esp + 0xdc], 0xc779c578
mov dword [esp + 0xe0], 0xdb61d967
mov dword [esp + 0xe4], 0xdf97dd70
mov dword [esp + 0xe8], 0xd3a5d1a3
mov dword [esp + 0xec], 0xd795d5a1
mov dword [esp + 0xf0], 0x2b6c296e
mov dword [esp + 0xf4], 0x2f5a2d5c
mov dword [esp + 0xf8], 0x23512151
mov dword [esp + 0xfc], 0x27572555
mov dword [esp + 0x100], 0x3b9e3949
mov dword [esp + 0x104], 0x3f7c3d4f
mov dword [esp + 0x108], 0x337a3178
mov dword [esp + 0x10c], 0x37463575
mov dword [esp + 0x110], 0xb7b0978
mov dword [esp + 0x114], 0xf7a0d7c
mov dword [esp + 0x118], 0x3700142
mov dword [esp + 0x11c], 0x7700545
mov dword [esp + 0x120], 0x1b6d196e
mov dword [esp + 0x124], 0x1fb21d6a
mov word [esp + 0x128], 0x1110
lea eax, [esp + 0x128]
mov dword [eax + 9], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xac
ja 0x41ee2b
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + 0xef1ac98]
lea esi, [eax + 0x98]
mov edi, edx
and edi, esi
and edi, ecx
xor edx, esi
and edx, ecx
add eax, ecx
add eax, 0xef1ac98
lea ecx, [edx + edi*2]
sub eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xd8
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xad
jb 0x41edc0
lea edi, [esp + 0x1156]
lea eax, [esp + 0x88]
mov ebx, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0x11f6]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0xbb13b9f9
mov dword [esp + 0x8c], 0xbf0ebd1f
mov dword [esp + 0x90], 0x8335810f
mov dword [esp + 0x94], 0x87228533
mov dword [esp + 0x98], 0x8bd48932
mov dword [esp + 0x9c], 0x8f2a8ddb
mov dword [esp + 0xa0], 0x933b9128
mov dword [esp + 0xa4], 0x97339537
mov dword [esp + 0xa8], 0x9beb99ca
mov dword [esp + 0xac], 0x9ff29dee
mov dword [esp + 0xb0], 0xe3bce1ee
mov dword [esp + 0xb4], 0xe753e5b3
mov dword [esp + 0xb8], 0xeb44e952
mov dword [esp + 0xbc], 0xef5ded5b
mov dword [esp + 0xc0], 0xf3acf143
mov dword [esp + 0xc4], 0xf746f5a2
mov dword [esp + 0xc8], 0xfb5ef947
mov dword [esp + 0xcc], 0xff50fd51
mov dword [esp + 0xd0], 0xc375c159
mov dword [esp + 0xd4], 0xc795c59e
mov dword [esp + 0xd8], 0xcb7cc971
mov dword [esp + 0xdc], 0xcf7dcd66
mov dword [esp + 0xe0], 0xd37dd17f
mov dword [esp + 0xe4], 0xd7afd58e
mov dword [esp + 0xe8], 0xdba1d9a3
mov dword [esp + 0xec], 0xdf99ddad
mov dword [esp + 0xf0], 0x23662198
mov dword [esp + 0xf4], 0x27502552
mov dword [esp + 0xf8], 0x2b5d2955
mov dword [esp + 0xfc], 0x2f5f2d59
mov dword [esp + 0x100], 0x3394315d
mov dword [esp + 0x104], 0x37763547
mov dword [esp + 0x108], 0x3b40394e
mov dword [esp + 0x10c], 0x3f4c3d79
mov dword [esp + 0x110], 0x373014e
mov dword [esp + 0x114], 0x7700572
mov dword [esp + 0x118], 0xb7a0944
mov dword [esp + 0x11c], 0xf7a0d49
mov dword [esp + 0x120], 0x13691178
mov dword [esp + 0x124], 0x17481564
mov word [esp + 0x128], 0x1916
mov dword [esp + 0x12e], 0
mov dword [esp + 0x12a], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xa9
ja 0x41f0b2
nop
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
lea edx, [eax + 0x97]
mov esi, ecx
not esi
or esi, edx
and edx, ecx
add edx, esi
neg edx
add eax, edx
add eax, 0x78cb5f96
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 0xdf
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xaa
jb 0x41f050
lea edx, [esp + 0x10b4]
lea eax, [esp + 0x88]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x128]
mov ecx, 1
lea edi, [esp + 0x1154]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x88], 0x5b33592d
mov dword [esp + 0x8c], 0x47d44527
mov dword [esp + 0x90], 0x43d141d7
mov dword [esp + 0x94], 0x4f204ddb
mov dword [esp + 0x98], 0x4b2e49d4
mov dword [esp + 0x9c], 0x77187503
mov dword [esp + 0xa0], 0x731b711e
mov dword [esp + 0xa4], 0x7f137d1f
mov dword [esp + 0xa8], 0x7b2b791c
mov dword [esp + 0xac], 0x67306539
mov dword [esp + 0xb0], 0x63066130
mov dword [esp + 0xb4], 0x6ff36d1b
mov dword [esp + 0xb8], 0x6bfe69f4
mov dword [esp + 0xbc], 0x97019503
mov dword [esp + 0xc0], 0x93f691fb
mov dword [esp + 0xc4], 0x9f0c9dec
mov dword [esp + 0xc8], 0x9bf4990f
mov dword [esp + 0xcc], 0x871285ed
mov dword [esp + 0xd0], 0x831181ed
mov dword [esp + 0xd4], 0x8ff98de8
mov dword [esp + 0xd8], 0x8b168915
mov dword [esp + 0xdc], 0xb721b520
mov dword [esp + 0xe0], 0xb3d9b127
mov dword [esp + 0xe4], 0xbfe7bdd8
mov dword [esp + 0xe8], 0xbbe5b9eb
mov dword [esp + 0xec], 0xa7e5a5f9
mov dword [esp + 0xf0], 0xa3eca1ee
mov dword [esp + 0xf4], 0xaff2adfc
mov dword [esp + 0xf8], 0xabf9a9f9
mov dword [esp + 0xfc], 0xd787d585
mov dword [esp + 0x100], 0xd3bed181
mov dword [esp + 0x104], 0xdf9cdd8f
mov dword [esp + 0x108], 0xdb82d980
mov dword [esp + 0x10c], 0xc796c585
mov dword [esp + 0x110], 0xc393c190
mov dword [esp + 0x114], 0xcf92cd9c
mov dword [esp + 0x118], 0xcb98c98a
mov dword [esp + 0x11c], 0xf7a8f5b5
mov dword [esp + 0x120], 0xf3adf1ae
mov dword [esp + 0x124], 0xff9afda2
mov word [esp + 0x128], 0xf9f8
lea eax, [esp + 0x128]
mov byte [eax + 0xe], 0
mov dword [eax + 0xa], 0
mov dword [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0xae
ja 0x41f345
nop
nop
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
movzx ecx, byte [esp + ecx + 0x88]
mov esi, eax
and esi, 0xcb1d5bcc
xor eax, 0x4b1d5bcc
lea eax, [eax + esi*2]
xor eax, ecx
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
mov ecx, eax
or ecx, 0x6b
and eax, 0x6b
add eax, ecx
inc al
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0xaf
jb 0x41f2e0
lea eax, [esp + 0x1012]
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 + 0x10b2]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe8a]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0xf2c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 5
setne al
mov esi, dword [esp + 0x10]
jmp dword [eax*4 + 0x442e18]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + ecx*4 + 0x74]
mov dword [esp + 0x88], 0xfba8f9d6
mov dword [esp + 0x8c], 0xffacfdaa
mov dword [esp + 0x90], 0xf3a0f1ae
mov dword [esp + 0x94], 0xf75cf5a2
mov word [esp + 0x98], 0xe9f6
lea ecx, [esp + 0x128]
mov byte [ecx - 0x82], 0
mov dword [ecx - 0x86], 0
mov dword [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov edi, esi
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0x1e
ja 0x41f4c4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x888]
mov edx, dword [esp + 0x888]
movzx esi, byte [esp + edx + 0x88]
lea edx, [ecx + esi]
add edx, 0x2686adbf
add ecx, 0xbf
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]
mov edx, ecx
xor edx, 0xc6
and ecx, 0x46
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, 0x1f
jb 0x41f450
movzx ecx, word [eax]
lea edx, [esp + 0x888]
test cx, cx
mov esi, edi
je 0x41f4f1
add eax, 2
lea edx, [esp + 0x888]
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41f4e0
mov word [edx], 0
movzx eax, word [esp + 0x88]
test ax, ax
je 0x41f521
lea ecx, [esp + 0x8a]
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f510
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x1c], edx
jmp dword [eax*4 + 0x442e20]
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
cmp di, 0x35
setb al
mov edx, dword [esp + 0x1c]
mov ecx, edi
jmp dword [eax*4 + 0x442e20]
mov word [edx - 2], cx
lea eax, [esp + 0x50]
mov edi, ecx
lea ecx, [esp + 0x888]
push dword [esp + 0x54]
push 0
push 0x20019
push eax
push ecx
call fcn.0043bec0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442e38]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], 0x800
mov dword [esp + 0x40], 0x400
mov dword [esp + 0x18], 0
xor ecx, ecx
jmp 0x41f5d4
mov dword [esi], 0x20003a
add esi, 4
mov al, 1
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
inc ecx
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0xa8c]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x24], ecx
push ecx
push dword [esp + 0x68]
call fcn.0043c610
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x442e40]
mov eax, dword [esp + 0x18]
and al, 1
movzx ecx, al
xor eax, eax
jmp dword [ecx*4 + 0x442e48]
mov eax, dword [case.0x41fb9c.15]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
cmp dword [esp + 0x4c], 1
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x442e60]
mov dword [esp + 0x20], 0xbb11551
mov dword [esp + 0x24], 0xf9909af
mov dword [esp + 0x28], 0x39e0d85
mov dword [esp + 0x2c], 0x7000196
mov dword [esp + 0x30], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja 0x41f6bc
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + 0x2d]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xb125ea2d
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xc5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x41f680
movzx edi, word [esp + 0x20]
lea eax, [esp + 0x88]
test di, di
je 0x41f708
lea eax, [esp + 0x88]
mov ecx, eax
lea edx, [esp + 0x20]
jmp 0x41f6f1
add eax, 2
lea edx, [esp + 0x20]
mov ecx, eax
movzx edi, word [edx]
test di, di
je 0x41f708
movzx ebx, word [ecx]
test bx, bx
je 0x41f706
cmp bx, di
jne 0x41f6e0
add ecx, 2
add edx, 2
jmp 0x41f6e9
xor eax, eax
test eax, eax
setne al
mov ecx, dword [case.0x41fb9c.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
movzx eax, al
jmp dword [eax*4 + 0x442e78]
mov eax, dword [case.0x41fb9c.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x4c]
xor ecx, ecx
cmp eax, 3
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x442ea0]
jmp dword [0x442eac]
jmp dword [0x442e8c]
mov edi, dword [esp + 0x40]
cmp edi, 2
jb 0x41f5c0
shr edi, 1
lea eax, [edi - 1]
mov edx, edi
and edx, 3
je 0x41f7c1
mov dword [esp + 8], edi
mov dword [esp + 0x18], eax
xor ebx, ebx
lea ecx, [esp + 0xa88]
mov edi, edx
movzx edx, word [ecx]
xor eax, eax
test dx, dx
setne al
lea ecx, [ecx + eax*2]
mov word [esi], dx
mov edx, edi
add esi, 2
inc ebx
cmp edi, ebx
jne 0x41f790
mov edi, dword [esp + 8]
sub edi, ebx
mov eax, dword [esp + 0x18]
cmp eax, 3
jae 0x41f7e0
jmp 0x41f5c0
lea ecx, [esp + 0xa88]
cmp eax, 3
jb 0x41f5c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [ecx]
xor edx, edx
test ax, ax
setne dl
mov word [esi], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [esi + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [esi + 4], ax
lea eax, [ecx + edx*2]
movzx edx, word [ecx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
lea ecx, [eax + ecx*2]
mov word [esi + 6], dx
add esi, 8
add edi, 0xfffffffc
jne 0x41f7e0
jmp 0x41f5c0
movzx eax, al
jmp dword [eax*4 + 0x442eb8]
mov eax, dword [esp + 0x40]
cmp eax, 2
jb 0x41f902
shr eax, 1
lea edx, [eax - 1]
mov edi, eax
and edi, 3
je 0x41f922
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
xor ebx, ebx
lea ecx, [esp + 0xa88]
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
mov edi, esi
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [edi], si
mov esi, edi
mov edi, eax
add esi, 2
inc ebx
cmp eax, ebx
jne 0x41f880
mov eax, dword [esp + 0xc]
sub eax, ebx
mov edx, dword [esp + 8]
cmp edx, 3
jb 0x41f902
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
add esi, 8
add eax, 0xfffffffc
jne 0x41f8b0
mov word [esi], 0xa
add esi, 2
mov al, 1
mov dword [esp + 0xc], eax
mov eax, dword [case.0x41fb9c.43]
mov ecx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea ecx, [esp + 0xa88]
cmp edx, 3
jae 0x41f8b0
jmp 0x41f902
mov dword [esp + 0x20], 0x3630150
mov dword [esp + 0x24], 0x7750577
mov dword [esp + 0x28], 0xb65097f
mov dword [esp + 0x2c], 0xf6a0d7e
mov word [esp + 0x30], 0x1110
lea eax, [esp + 0x32]
mov byte [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1e
ja 0x41f9c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xc9b00e00
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1f
jb 0x41f990
movzx edi, word [esp + 0x20]
lea eax, [esp + 0x88]
test di, di
je 0x41fa18
lea eax, [esp + 0x88]
mov ecx, eax
lea edx, [esp + 0x20]
jmp 0x41fa01
add eax, 2
lea edx, [esp + 0x20]
mov ecx, eax
movzx edi, word [edx]
test di, di
je 0x41fa18
movzx ebx, word [ecx]
test bx, bx
je 0x41fa16
cmp bx, di
jne 0x41f9f0
add ecx, 2
add edx, 2
jmp 0x41f9f9
xor eax, eax
test eax, eax
setne al
jmp dword [0x442eb0]
mov dword [esp + 0x20], 0x3630150
mov dword [esp + 0x24], 0x7750577
mov dword [esp + 0x28], 0xb65097f
mov dword [esp + 0x2c], 0xf6a0d7e
mov word [esp + 0x30], 0x1110
lea eax, [esp + 0x32]
mov byte [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1e
ja case.0x41fb9c.35
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xc9b00e00
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1f
jb 0x41fa80
jmp case.0x41fb9c.35
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], 0xa2a1a0a7
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xb
ja 0x41fb2e
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x20]
lea edi, [ecx + 0x1b]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0x921e261b
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x43
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xc
jb 0x41faf0
mov ecx, dword [0x447768]
test ecx, ecx
je case.default.0x41fb9c
mov edx, dword [esp + 0x20]
xor edi, edi
mov ebx, dword [0x44776c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x41fb60
inc edi
cmp ecx, edi
jne 0x41fb50
jmp case.default.0x41fb9c
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.default.0x41fb9c
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x68]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x1c]
jmp dword [eax*4 + 0x442e20]
jmp dword [0x442e34]
mov ecx, dword [esp + 0x64]
inc ecx
xor eax, eax
cmp ecx, 5
setne al
jmp dword [eax*4 + 0x442e18]
mov edi, esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0x88], 0xa2a1a0a7
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x888], 0
mov ecx, dword [esp + 0x888]
cmp ecx, 0xb
ja 0x41fc69
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 + 0x1b]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0x921e261b
mov dword [esp + 0xa88], ecx
mov ecx, dword [esp + 0xa88]
add cl, 0x43
mov edx, dword [esp + 0x888]
mov byte [esp + edx + 0x88], cl
inc dword [esp + 0x888]
mov ecx, dword [esp + 0x888]
cmp ecx, 0xc
jb 0x41fc10
mov ecx, dword [0x447768]
test ecx, ecx
mov esi, edi
je 0x41fcc0
mov edx, dword [esp + 0x88]
xor edi, edi
mov ebx, dword [0x44776c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x41fca0
inc edi
cmp ecx, edi
jne 0x41fc90
jmp 0x41fcc0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41fcc0
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x41fb9c.46]
mov ebx, dword [esp + 0x5c]
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
mov eax, dword [esp + 0x60]
jmp dword [0x442ee0]
push eax
call fcn.00408f10
add esp, 4
xor eax, eax
jmp dword [eax*4 + 0x442ee8]
jmp dword [ecx*4 + 0x442ee8]
mov eax, dword [case.0x41fb9c.51]
nop
nop
nop
nop
jmp eax
add esi, edi
mov edi, esi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov esi, dword [esp + 0x10]
je 0x41fd55
cmp eax, esi
jae 0x41fd55
mov esi, edi
movzx ebx, cx
xor ecx, ecx
cmp ebx, 0x800
setb dl
mov edi, 1
cmp ebx, 0x80
jb 0x41fd10
mov cl, dl
xor ecx, 3
mov edi, ecx
jmp 0x41fd10
xor ebx, ebx
jmp case.0x41e47c.6
lea ebx, [edi + 1]
push ebx
call fcn.00408f00
add esp, 4
mov dword [esp + 8], eax
test edi, edi
mov dword [esp + 0x1c], edi
jle 0x41fe4d
mov eax, dword [esp + 8]
lea ecx, [eax + edi]
mov dword [esp + 0x18], ecx
add ebx, eax
lea edx, [esp + 0x11f8]
mov edi, eax
mov eax, ebx
mov dword [esp + 0xc], ebx
jmp 0x41fda6
mov byte [edi], cl
mov ebx, 1
add edx, 2
add edi, ebx
cmp edi, dword [esp + 0x18]
jae 0x41fe51
cmp edx, esi
jae 0x41fe51
movzx ecx, word [edx]
test cx, cx
je 0x41fe51
cmp cx, 0x7f
jbe 0x41fd90
mov ebx, eax
mov eax, edi
not eax
add eax, ebx
cmp eax, 2
jb 0x41fdf9
mov ebx, esi
movzx esi, cx
cmp esi, 0x7ff
mov esi, ebx
ja 0x41fdf9
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 ebx, 2
mov eax, dword [esp + 0xc]
jmp 0x41fd97
xor ebx, ebx
cmp eax, 3
mov eax, dword [esp + 0xc]
jb 0x41fd97
movzx ebx, cx
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, dword [esp + 0xc]
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov ebx, 3
jmp 0x41fd97
mov dword [esp + 0x1c], 0
push 1
call fcn.00408f00
add esp, 4
mov edi, eax
mov dword [esp + 8], eax
jmp 0x41fe51
mov edi, dword [esp + 8]
mov byte [edi], 0
mov dword [esp + 0x88], 0xdfd2dd8d
mov dword [esp + 0x8c], 0xd3e7e6d9
mov dword [esp + 0x90], 0xaca8d6dd
mov dword [esp + 0x94], 0xabab8aeb
mov dword [esp + 0x98], 0xaca1aea0
mov dword [esp + 0x9c], 0xa4a081e3
mov dword [esp + 0xa0], 0x8eb6acae
mov dword [esp + 0xa4], 0xa7bafbbf
mov word [esp + 0xa8], 0x2db8
mov dword [esp + 0xaa], 0
mov dword [esp + 0xae], 0
mov dword [esp + 0xb2], 0
mov byte [esp + 0xb6], 0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x888], 0
mov eax, dword [esp + 0x888]
cmp eax, 0x2e
ja 0x41ff5a
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 + 0xb6]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x8322abb6
mov dword [esp + 0xa88], eax
mov eax, dword [esp + 0xa88]
add al, 6
mov ecx, dword [esp + 0x888]
mov byte [esp + ecx + 0x88], al
inc dword [esp + 0x888]
mov eax, dword [esp + 0x888]
cmp eax, 0x2f
jb 0x41ff00
lea eax, [esp + 0x88]
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0xc]
push eax
call fcn.004099c0
jmp dword [0x442f08]
push dword [esp + 8]
mov esi, eax
call fcn.00408f10
mov eax, esi
add esp, 4
mov ecx, dword [case.0x41fb9c.56]
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x442f24]
mov ebx, eax
and bl, 1
jmp dword [0x442f2c]
mov ebx, eax
and bl, 1
jmp dword [0x442f2c]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4435f8]
jmp dword [ecx*4 + 0x443560]
mov dword [esp + 0x58], 0x6390619c
mov dword [esp + 0x5c], 0x67a165a1
mov dword [esp + 0x60], 0x6b9969a1
mov dword [esp + 0x64], 0x6f9c6d98
mov dword [esp + 0x68], 0x13ee11e9
mov dword [esp + 0x6c], 0x17d715d9
mov dword [esp + 0x70], 0x1bd219db
mov dword [esp + 0x74], 0x1fd01dd5
mov dword [esp + 0x78], 0x3fe01c5
mov dword [esp + 0x7c], 0x7c905f7
mov dword [esp + 0x80], 0xbfe09ce
mov dword [esp + 0x84], 0xfcf0dfb
mov dword [esp + 0x88], 0x33f731c2
mov dword [esp + 0x8c], 0x37fb35c8
mov dword [esp + 0x90], 0x3bd939d1
mov dword [esp + 0x94], 0x3fd13dae
mov dword [esp + 0x98], 0x23cd21b3
mov dword [esp + 0x9c], 0x27b225c2
mov dword [esp + 0xa0], 0x2bdd29d4
mov dword [esp + 0xa4], 0x2fc02dc5
mov dword [esp + 0xa8], 0xd33dd134
mov dword [esp + 0xac], 0xd745d543
mov dword [esp + 0xb0], 0xdb19d924
mov dword [esp + 0xb4], 0xdf4cdd49
mov dword [esp + 0xb8], 0xc327c152
mov dword [esp + 0xbc], 0xc752c52a
mov dword [esp + 0xc0], 0xcb2fc93e
mov dword [esp + 0xc4], 0xcf5dcd5e
mov dword [esp + 0xc8], 0xf31df119
mov dword [esp + 0xcc], 0xf70af51a
mov dword [esp + 0xd0], 0xfb14f90d
mov dword [esp + 0xd4], 0xff10fd15
mov dword [esp + 0xd8], 0xe376e173
mov dword [esp + 0xdc], 0xe70ae505
mov dword [esp + 0xe0], 0xebeae904
lea ecx, [esp + 0xe4]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x91
ja 0x420570
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 + edx]
add ecx, 0xb0
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0xdd8c5ab0
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x28]
add cl, 0x30
mov edx, dword [esp]
mov byte [esp + edx + 0x58], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x92
jb 0x420530
lea ecx, [esp + 0x10]
lea edx, [esp + 0x58]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043bec0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443568]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x24]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x30]
call fcn.0043c2f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443570]
jmp 0x4208f1
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4435e8]
mov eax, dword [esp + 0x24]
mov ecx, eax
and ecx, 0x104
mov edx, eax
or eax, 0x104
imul eax, ecx
xor ecx, 0x104
and edx, 0x7ffffefb
imul edx, ecx
add eax, edx
mov esi, dword [esp + 8]
lea eax, [esi + eax*2]
push eax
push dword [esp + 0x10]
call fcn.00438c10
add esp, 8
mov dword [esp + 0xc], eax
lea esi, [eax + esi*2]
xor ebx, ebx
jmp 0x420641
inc ebx
mov eax, dword [case.0x42058a.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ebx, dword [esp + 0x24]
setb al
jmp dword [eax*4 + 0x443588]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x54]
mov eax, ebx
inc eax
jns 0x420680
mov eax, 0xffffffff
jmp 0x420686
lea eax, [ebx + ebx]
add eax, 2
push eax
call fcn.00408f00
add esp, 4
mov edi, eax
mov dword [esp + 0x50], ebx
lea eax, [esp + 0x50]
push eax
push edi
mov ebx, dword [esp + 0x10]
push ebx
push dword [esp + 0x1c]
call fcn.0043c010
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443590]
jmp dword [0x4435a8]
lea eax, [esp + 0x20]
push dword [esp + 0x10]
push 0
push 0x20019
push eax
push edi
call fcn.0043bec0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443598]
jmp dword [0x4435a8]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x28], 0xebabd592
mov dword [esp + 0x2c], 0xef98e99f
mov dword [esp + 0x30], 0xe38bed92
mov dword [esp + 0x34], 0xe7b2e16d
mov dword [esp + 0x38], 0xfb97e581
mov dword [esp + 0x3c], 0xfff8f981
mov byte [esp + 0x40], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x18
ja 0x42078d
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add edx, 0xebe8f8dd
add eax, 0xebe8f8dd
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0xf5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], 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, 0x19
jb 0x420740
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x28]
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push ecx
push dword [esp + 0x30]
call fcn.0043c9b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4435a0]
jmp 0x4207e9
movzx eax, word [esp + 0x58]
test ax, ax
je 0x4207e1
lea ecx, [esp + 0x5a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4207d0
mov word [esi], 0xa
add esi, 2
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 0x12111017
lea eax, [esp + 0x2c]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 9
ja 0x42085d
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax - 0x218ea92d]
and edx, ecx
add eax, ecx
add eax, 0xde7156d3
add edx, edx
sub eax, edx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x3b
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xa
jb 0x420820
mov ecx, dword [0x447768]
test ecx, ecx
je 0x4208b0
mov edx, dword [esp + 0x28]
xor ebx, ebx
mov eax, dword [0x44776c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebx*8], 0x11081610
je 0x420890
inc ebx
cmp ecx, ebx
jne 0x420880
jmp 0x4208b0
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edx
je 0x4208b0
push dword [esp + 0x18]
push 1
push dword [0x447770]
push eax
call fcn.00438da0
add esp, 0x10
nop
nop
nop
mov ebx, dword [esp + 8]
jmp dword [0x4435a8]
jmp dword [0x4435b0]
push edi
call fcn.00408f10
add esp, 4
push edi
call fcn.00408f10
add esp, 4
jmp dword [0x4435b8]
mov word [esi], 0
mov eax, esi
sub eax, dword [esp + 0xc]
sar eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], 0x12111017
lea ecx, [esp + 0xe4]
mov word [ecx - 0x84], 0
mov dword [ecx - 0x88], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 9
ja 0x42096c
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 - 0x218ea92d]
and edi, edx
add ecx, edx
add ecx, 0xde7156d3
add edi, edi
sub ecx, edi
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0x3b
mov edx, dword [esp]
mov byte [esp + edx + 0x58], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xa
jb 0x420930
mov ecx, dword [0x447768]
test ecx, ecx
je case.default.0x4209d0
mov edx, dword [esp + 0x58]
xor ebx, ebx
mov edi, dword [0x44776c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x11081610
je 0x4209a0
inc ebx
cmp ecx, ebx
jne 0x420990
jmp case.default.0x4209d0
mov ecx, dword [edi + ebx*8 + 4]
cmp ecx, edx
je case.default.0x4209d0
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x58]
push eax
call fcn.0043b420
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4435c0]
xor eax, eax
cmp dword [esp + 0x58], 1
sete al
jmp dword [eax*4 + 0x4435c8]
xor eax, eax
mov ecx, 1
jmp 0x4209f8
mov eax, 2
xor ecx, ecx
mov edx, dword [case.0x4209d0.7]
nop
nop
jmp edx
jmp dword [ecx*4 + 0x4435e0]
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4435e8]
xor eax, eax
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4435e8]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4435f0]
mov eax, dword [case.0x4209d0.19]
nop
nop
nop
nop
jmp eax
jmp dword [0x44361c]
xor eax, eax
mov edi, dword [esp + 0xc]
cmp esi, edi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x443620]
movzx ecx, word [edi]
xor ebx, ebx
test cx, cx
je 0x420bc3
mov eax, edi
jmp 0x420aa0
mov ebx, edx
add ebx, edi
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x420ad5
test esi, esi
je 0x420aa8
cmp eax, esi
jae 0x420ad5
mov edx, ebx
movzx ebx, cx
xor ecx, ecx
cmp ebx, 0x800
setb byte [esp + 8]
mov edi, 1
cmp ebx, 0x80
jb 0x420a90
movzx ebx, byte [esp + 8]
mov cl, bl
xor ecx, 3
mov edi, ecx
jmp 0x420a90
lea edi, [ebx + 1]
push edi
call fcn.00408f00
add esp, 4
test ebx, ebx
jle 0x420bd3
lea ecx, [eax + ebx]
mov dword [esp + 8], ecx
add edi, eax
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov edi, eax
mov dword [esp + 0x48], ebx
jmp 0x420b26
mov byte [edi], cl
mov eax, 1
add edx, 2
add edi, eax
cmp edi, dword [esp + 8]
jae 0x420bbd
test esi, esi
je 0x420b32
cmp edx, esi
jae 0x420bbd
movzx ecx, word [edx]
test cx, cx
je 0x420bbd
cmp cx, 0x7f
jbe 0x420b10
mov eax, edi
not eax
add eax, dword [esp + 0x18]
cmp eax, 2
jb 0x420b80
movzx ebx, cx
cmp ebx, 0x7ff
mov ebx, dword [esp + 0x48]
ja 0x420b80
mov eax, ecx
shr eax, 6
xor al, 0xc0
mov byte [edi], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov eax, 2
jmp 0x420b17
cmp eax, 3
mov eax, 0
jb 0x420b17
movzx eax, cx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, dword [esp + 0x1c]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [edi + 2], cl
mov eax, 3
jmp 0x420b17
mov esi, dword [esp + 0x14]
jmp 0x420bd7
push 1
call fcn.00408f00
add esp, 4
mov esi, eax
mov edi, eax
jmp 0x420bd7
mov edi, eax
mov esi, eax
mov byte [edi], 0
mov dword [esp + 0x58], 0x5f4e5473
mov dword [esp + 0x5c], 0x445e4e53
mov dword [esp + 0x60], 0x4754591c
mov byte [esp + 0x64], 0x32
mov dword [esp + 0x69], 0
mov dword [esp + 0x65], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x420c5a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x58]
lea edx, [eax + 0x2c5e4825]
and edx, ecx
add eax, ecx
add eax, 0x2c5e4825
add edx, edx
sub eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add al, 0xfd
mov ecx, dword [esp]
mov byte [esp + ecx + 0x58], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x420c20
lea eax, [esp + 0x58]
mov ecx, dword [ebp + 8]
push ebx
push esi
push eax
call fcn.004099c0
mov ebx, eax
mov edi, dword [esp + 0xc]
jmp dword [0x443628]
push esi
call fcn.00408f10
add esp, 4
push edi
call fcn.00437510
add esp, 4
mov eax, dword [case.0x4209d0.30]
nop
nop
nop
nop
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x44]
push 0x410
call fcn.00437820
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x443648]
mov dword [esp + 0x60], 0x325b0035
mov dword [esp + 0x64], 0x18124d28
mov dword [esp + 0x68], 0x2c152b49
mov dword [esp + 0x6c], 0x371e2645
mov dword [esp + 0x70], 0x18434a36
mov dword [esp + 0x74], 0xdfbcb6bd
mov dword [esp + 0x78], 0xdad1bed2
mov dword [esp + 0x7c], 0xd6bfd4cb
mov dword [esp + 0x80], 0xb6c8c6ca
mov dword [esp + 0x84], 0xceabb5d9
mov dword [esp + 0x88], 0x63b2a9a9
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov word [esp + 0x94], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x35
ja 0x42133e
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 + 0x60]
lea edx, [eax + ecx]
add edx, 0x27c767ec
add eax, 0x27c767ec
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
mov ecx, eax
xor ecx, 0x8b
and eax, 0xb
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x36
jb 0x4212f0
lea eax, [esp + 8]
lea ecx, [esp + 0x44]
push 0
push 0x2b
push ebx
push eax
call fcn.00437db0
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor eax, eax
cmp edi, ecx
sete al
jmp dword [eax*4 + 0x443650]
mov eax, ecx
sub eax, edi
sar eax, 2
mov esi, ecx
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.00408f00
add esp, 4
mov dword [esp + 0x54], 0
xor ecx, ecx
mov dword [esp + 0x58], esi
cmp edi, esi
setne cl
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], eax
jmp dword [ecx*4 + 0x443658]
mov esi, dword [edi]
push 0x400
push 0
push ebx
call fcn.00408f80
add esp, 0xc
lea eax, [esp + 0x28]
lea ecx, [esp + 0x44]
push eax
push 0x400
push ebx
push esi
call fcn.00437c40
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
mov dword [esp + 0x5c], edi
jmp dword [ecx*4 + 0x443680]
xor eax, eax
cmp dword [esp + 0x28], 0
sete al
jmp dword [eax*4 + 0x443688]
mov eax, 1
jmp dword [eax*4 + 0x443690]
mov eax, dword [esp + 0x54]
jmp dword [eax*4 + 0x443690]
mov byte [esp + 0x45f], 0
movzx ecx, byte [esp + 0x60]
xor eax, eax
test cl, cl
je 0x421462
mov edx, ebx
cmp cl, 0x2e
je 0x421460
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x421450
jmp 0x421462
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443698]
lea esi, [eax + 1]
movzx ecx, byte [eax + 1]
xor edi, edi
test cl, cl
je 0x421492
mov edx, esi
nop
cmp cl, 0x2e
je 0x421490
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x421480
jmp 0x421492
mov edi, edx
xor ecx, ecx
test edi, edi
setne cl
jmp dword [ecx*4 + 0x4436a0]
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [eax + ecx]
cmp eax, 0x3d
je 0x4214b8
cmp eax, 0x2e
jne 0x4214b9
dec edx
movzx eax, byte [ecx + esi - 2]
cmp eax, 0x3d
mov dword [esp + 0x20], ecx
je 0x4214cc
cmp eax, 0x2e
jne 0x4214cd
dec edx
mov eax, edx
and eax, 1
mov ecx, edx
mov dword [esp + 0x50], edx
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00408f00
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
cmp edi, esi
je 0x4215f1
xor esi, esi
mov edi, 2
jmp 0x421522
mov edx, dword [esp + 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
mov esi, edx
cmp edi, ecx
mov edi, eax
jae 0x4215f1
mov ebx, dword [esp + 0x24]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.004187c0
add esp, 4
mov byte [esp + 0x18], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.004187c0
add esp, 4
mov bh, al
movzx ecx, byte [esp + 0x18]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x14]
mov byte [ecx + esi], al
lea edx, [esi + 1]
mov ecx, dword [esp + 0x20]
cmp edi, ecx
jae 0x421510
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.004187c0
mov edx, esi
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
je 0x421510
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 0x18]
lea edx, [esi + 2]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x14]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x421500
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.004187c0
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x40]
je 0x421510
shl bl, 6
add al, bl
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x421510
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
mov byte [esi + eax], 0
push esi
call fcn.00401f00
add esp, 4
mov ebx, eax
jmp dword [0x4436a8]
push esi
call fcn.00408f10
add esp, 4
push ebx
call fcn.004028d0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4436b0]
jmp 0x421719
mov dword [esp + 0x28], 0xb748083
lea ecx, [esp + 0x2c]
mov dword [ecx + 7], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xe
mov edi, dword [esp + 0x1c]
ja 0x4216ad
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add ecx, 2
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xf002
mov dword [esp], esi
mov ecx, dword [esp]
add cl, 0xf2
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x28], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xf
jb 0x421670
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.00402850
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4436b8]
jmp 0x4216f3
movzx ecx, byte [eax]
test cl, cl
je 0x4216eb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4216e0
mov word [edi], 0x203a
add edi, 2
movzx eax, byte [esp + 0x60]
test al, al
je 0x42170b
lea ecx, [esp + 0x61]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x421700
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x1c], edi
mov al, 1
mov dword [esp + 0x3c], eax
push ebx
call fcn.00402b30
add esp, 4
lea ebx, [esp + 0x60]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x4216c2.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0x5c]
add edi, 4
xor eax, eax
cmp edi, dword [esp + 0x58]
setne al
jmp dword [eax*4 + 0x443658]
jmp dword [0x44366c]
jmp dword [0x44367c]
mov edx, dword [esp + 0x3c]
mov eax, edx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4436e0]
mov esi, dword [esp + 0x38]
jmp dword [0x4436e8]
xor edx, edx
test edi, edi
jne 0x421886
jmp case.0x4209d0.33
mov edi, dword [esp + 0x1c]
mov byte [edi], 0
mov esi, dword [esp + 0x38]
sub edi, esi
mov dword [esp + 0x60], 0xfffafdad
mov dword [esp + 0x64], 0xebc7f6f1
mov dword [esp + 0x68], 0xecf0f6fd
mov dword [esp + 0x6c], 0xc2d2ceb3
mov dword [esp + 0x70], 0xf789c8fd
mov dword [esp + 0x74], 0xc5cbcecb
mov dword [esp + 0x78], 0xdbde87db
mov word [esp + 0x7c], 0x51dc
mov dword [esp + 0x7e], 0
mov byte [esp + 0x82], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x421853
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x60]
lea ecx, [eax + edx]
add ecx, 0x23063d12
add eax, 0x12
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add al, 0x82
mov ecx, dword [esp]
mov byte [esp + ecx + 0x60], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x421810
lea eax, [esp + 0x60]
mov ecx, dword [ebp + 8]
push edi
push esi
push eax
call fcn.004099c0
mov edx, eax
jmp dword [0x4436e8]
push esi
mov esi, edx
call fcn.00408f10
mov edx, esi
add esp, 4
and dl, 1
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test edi, edi
je case.0x4209d0.33
cmp edi, ecx
je case.0x4209d0.33
push edi
mov esi, edx
call fcn.00408f10
mov edx, esi
add esp, 4
lea ecx, [esp + 0x44]
mov ebx, edx
call fcn.00437960
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [case.0x421dce.24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x443780]
mov dword [esp + 0x40], 0x1b79197c
mov dword [esp + 0x44], 0x17801583
mov dword [esp + 0x48], 0x138b118e
mov dword [esp + 0x4c], 0xf6a0d93
mov dword [esp + 0x50], 0xb9d096b
mov dword [esp + 0x54], 0x7980592
mov dword [esp + 0x58], 0x39d0199
mov dword [esp + 0x5c], 0x3fb03d6a
mov dword [esp + 0x60], 0x3ba439a4
mov dword [esp + 0x64], 0x3534
mov byte [esp + 0x68], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xa0]
cmp eax, 0x28
ja 0x4219b5
nop
nop
nop
nop
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + ecx]
add edx, 0x1524d084
add eax, 0x1524d084
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0xdc]
add al, 0x64
mov ecx, dword [esp + 0xa0]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
cmp eax, 0x29
jb 0x421960
lea eax, [esp + 0x64]
lea edi, [esp + 0xa0]
lea edx, [esp + 0x40]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4219f0
cmp eax, 0xffffffd9
jge 0x421e64
mov eax, 0xffffffff
jmp 0x421e67
xor edx, edx
cmp esi, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x443750]
jmp dword [ecx*4 + 0x4436f0]
mov dword [esp + 0x40], 0xc390c19c
mov dword [esp + 0x44], 0xc781c581
mov dword [esp + 0x48], 0xcb99c981
mov dword [esp + 0x4c], 0xcf9ccd98
mov dword [esp + 0x50], 0xd38ed189
mov dword [esp + 0x54], 0xd797d599
mov dword [esp + 0x58], 0xdb92d99b
mov dword [esp + 0x5c], 0xdf90dd95
mov dword [esp + 0x60], 0x237e2165
mov dword [esp + 0x64], 0x27692577
mov dword [esp + 0x68], 0x2b7e296e
mov dword [esp + 0x6c], 0x2f6f2d7b
mov dword [esp + 0x70], 0x33773162
mov dword [esp + 0x74], 0x37603568
mov dword [esp + 0x78], 0x3b963999
mov dword [esp + 0x7c], 0x3f9b3d8a
mov dword [esp + 0x80], 0x351015c
mov dword [esp + 0x84], 0x7a305b0
mov dword [esp + 0x88], 0xba709a9
mov word [esp + 0x8c], 0xd0c
mov dword [esp + 0x92], 0
mov dword [esp + 0x8e], 0
mov dword [esp + 0xa0], 0
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x55
ja 0x421b6f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
movzx esi, byte [esp + ecx + 0x40]
add edx, 0x36212ae0
mov ecx, edx
and ecx, esi
xor edx, esi
lea edx, [edx + ecx*2]
add ecx, ecx
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0xe0
mov edx, dword [esp + 0xa0]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x56
jb 0x421b10
mov ecx, esp
lea edx, [esp + 0x40]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043bec0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4436f8]
mov edi, ebx
lea ebx, [esp + 0x3c]
lea eax, [esp + 0xc]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x20]
call fcn.0043c2f0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443700]
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x421bd0
mov eax, 0xffffffff
push eax
call fcn.00408f00
add esp, 4
mov esi, eax
mov dword [esp + 0x40], 0x3bd639fd
mov dword [esp + 0x44], 0x3fc83dcf
mov dword [esp + 0x48], 0xc32cc1dd
mov dword [esp + 0x4c], 0xc714c52e
mov dword [esp + 0x50], 0xcb3cc925
mov dword [esp + 0x54], 0xcfcccd22
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xa0]
cmp eax, 0x17
ja 0x421c94
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
movzx ecx, byte [esp + ecx + 0x40]
mov edx, eax
and edx, 0xeb0d77
xor eax, 0x80eb0d77
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
add al, 0xbf
mov ecx, dword [esp + 0xa0]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
cmp eax, 0x18
jb 0x421c30
push ebx
push esi
push 0
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x10]
call fcn.0043c9b0
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x443708]
xor edi, edi
jmp dword [0x443710]
push esi
call fcn.00408f10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov dword [esp + 0x40], 0x12111017
lea ecx, [esp + 0x44]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esp + 0xa0], 0
mov ecx, dword [esp + 0xa0]
cmp ecx, 9
ja 0x421d66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa0]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x218ea92d]
and esi, edx
add ecx, edx
add ecx, 0xde7156d3
add esi, esi
sub ecx, esi
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x3b
mov edx, dword [esp + 0xa0]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
cmp ecx, 0xa
jb 0x421d10
mov ecx, dword [0x447768]
test ecx, ecx
je case.default.0x421dce
mov edx, dword [esp + 0x40]
xor esi, esi
mov ebx, dword [0x44776c]
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x11081610
je 0x421da4
inc esi
cmp ecx, esi
jne 0x421d80
jmp case.default.0x421dce
mov esi, 4
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x443748]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x421dce
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
nop
nop
xor eax, eax
mov ebx, edi
test edi, edi
setne al
mov esi, 2
jmp dword [eax*4 + 0x443718]
lea eax, [esp + 0x40]
push eax
call fcn.0043b420
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x443720]
xor eax, eax
cmp dword [esp + 0x40], 1
sete al
jmp dword [eax*4 + 0x443728]
xor esi, esi
mov eax, 1
jmp dword [eax*4 + 0x443730]
xor eax, eax
jmp dword [eax*4 + 0x443730]
mov eax, dword [case.0x421dce.1]
nop
nop
nop
nop
nop
nop
nop
xor esi, esi
jmp eax
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x443748]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x443758]
mov eax, 0x20119
xor ecx, ecx
jmp dword [0x443768]
xor eax, eax
jmp 0x422505
add eax, 0x26
push eax
call fcn.00408f00
add esp, 4
mov esi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x421e91
lea edx, [ebx + 2]
mov eax, esi
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421e80
mov word [eax], 0
movzx ecx, word [esp + 0xa0]
test cx, cx
je 0x421ec1
lea edx, [esp + 0xa2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421eb0
mov word [eax], 0
jmp dword [0x443788]
push ebx
call fcn.00408f10
add esp, 4
lea eax, [esp + 0xc]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043b670
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443790]
xor ebx, ebx
xor edi, edi
jmp dword [0x443800]
push esi
call fcn.00408f10
add esp, 4
xor eax, eax
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x443808]
xor eax, eax
test ebx, ebx
jne 0x4224d0
jmp 0x422505
lea eax, [esp + 0x3c]
push 0
push eax
push dword [esp + 0x14]
call fcn.0043ba00
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x443798]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x3c]
lea eax, [esi + 1]
push eax
call fcn.00408f00
add esp, 4
push 0
push esi
mov dword [esp + 0x40], eax
push eax
push dword [esp + 0x18]
call fcn.0043bb10
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x4437a0]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov byte [eax + esi], 0
push 0x20
call fcn.00408f00
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, dword [case.0x421dce.38]
nop
nop
nop
nop
nop
jmp ecx
mov dword [esp + 0x2c], eax
mov ecx, eax
push esi
push dword [esp + 0x3c]
call case.0x41fb9c.401
movzx eax, al
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x4437b8]
mov dword [esp + 0x40], 0x57585e7b
mov dword [esp + 0x44], 0x425040ab
mov dword [esp + 0x48], 0x475b4f17
mov dword [esp + 0x4c], 0x680d5cb2
mov dword [esp + 0x50], 0x4e535848
mov dword [esp + 0x54], 0x50517003
mov dword [esp + 0x58], 0x3f384047
mov word [esp + 0x5c], 0x493f
mov dword [esp + 0x5e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x4220a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x40]
lea ecx, [eax + edx]
add ecx, 0x9b531f26
add eax, 0x9b531f26
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
add al, 0xf6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x40], al
mov eax, dword [esp]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp], eax
mov eax, dword [esp]
cmp eax, 0x22
jb 0x422050
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x40]
push eax
call fcn.004245a0
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
xor ebx, ebx
jmp dword [ecx*4 + 0x4437c0]
mov eax, dword [case.0x421dce.40]
nop
nop
jmp eax
jmp dword [0x4437e0]
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.00424710
push esi
call fcn.00408f10
add esp, 4
mov esi, dword [esp + 0x98]
jmp dword [0x4437e8]
mov esi, dword [esp + 0x98]
jmp dword [0x4437e8]
push dword [esp + 0x38]
call fcn.00408f10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4437fc]
mov dword [esp + 0x20], ebx
mov ebx, esi
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], 0x12111017
mov dword [esp + 0x44], 0
mov word [esp + 0x48], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 9
ja 0x4221a2
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x218ea92d]
and esi, edx
add ecx, edx
add ecx, 0xde7156d3
add esi, esi
sub ecx, esi
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x3b
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xa
jb 0x422160
mov ecx, dword [0x447768]
test ecx, ecx
je 0x4221dc
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x44776c]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x4221d0
inc esi
cmp ecx, esi
jne 0x4221c0
jmp 0x4221dc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4227b0
mov edi, dword [esp + 0x28]
mov esi, ebx
mov ebx, dword [esp + 0x20]
jmp dword [0x443800]
xor eax, eax
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x443808]
mov dword [esp + 0x28], edi
mov eax, edi
mov dword [esp + 0x20], ebx
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408f00
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], 0x83fe8da9
mov dword [esp + 0x44], 0x87e18113
mov dword [esp + 0x48], 0xbb2685e5
mov dword [esp + 0x4c], 0xbf2eb9f9
mov dword [esp + 0x50], 0xb3f6bd2c
mov dword [esp + 0x54], 0xb722b1d1
mov dword [esp + 0x58], 0xab8fb5d5
mov dword [esp + 0x5c], 0xafd9a9c4
mov dword [esp + 0x60], 0xa3c7ad38
mov dword [esp + 0x64], 0xa73ba1c1
mov dword [esp + 0x68], 0xdb46a5c8
mov dword [esp + 0x6c], 0xdfb9d94b
mov dword [esp + 0x70], 0xd34eddbd
mov dword [esp + 0x74], 0xd75cd182
mov dword [esp + 0x78], 0xcb50d5b0
lea eax, [esp + 0x7c]
mov word [esp + 0x7c], 0xc9c8
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x422311
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x2544aea]
lea edi, [ecx + 0x16]
and edi, edx
mov ebx, 0xe9
sub ebx, ecx
and ebx, esi
and ebx, edx
add ecx, edx
add ecx, 0xfdabb516
lea edx, [ebx + edi*2]
sub ecx, edx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xdc]
add cl, 0x66
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x4222c0
lea ebx, [esp + 0xdc]
lea edx, [esp + 0x40]
mov edi, ebx
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x118]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x3c]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x447764]
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jns 0x42235d
mov eax, 0xffffffff
jmp 0x422360
lea eax, [ebx + ebx]
push eax
call fcn.00408f00
add esp, 4
mov edi, eax
push esi
push ebx
push eax
push 0x1e
lea eax, [esp + 0xec]
push eax
push 0
call dword [0x447764]
lea eax, [esp + 0x9c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xa8], edi
push edi
call fcn.0043b670
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443810]
xor ebx, ebx
mov esi, dword [esp + 0x1c]
jmp dword [0x4438e0]
push dword [esp + 0x98]
call fcn.00408f10
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov edi, dword [esp + 0x28]
mov eax, ebx
jmp dword [ecx*4 + 0x4438e8]
mov ebx, esi
jmp dword [0x4438f4]
mov byte [ebx], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], 0
jmp dword [0x4438f8]
sub ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], 0xcfc2c1f1
mov dword [esp + 0x44], 0xc3d7d6cd
mov dword [esp + 0x48], 0x38343631
mov dword [esp + 0x4c], 0x2a3a1ef3
mov dword [esp + 0x50], 0x17fd3c21
mov dword [esp + 0x54], 0x39233e3b
mov dword [esp + 0x58], 0x532ee72b
mov word [esp + 0x5c], 0xdd28
mov dword [esp + 0x5e], 0
mov word [esp + 0x62], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x23
ja 0x42249e
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x78]
and edx, ecx
mov esi, 0x3d6ae587
sub esi, eax
or esi, ecx
not esi
add esi, ecx
sub esi, edx
mov dword [esp], esi
mov eax, dword [esp]
add al, 0xb8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x24
jb 0x422460
mov ecx, dword [ebp + 8]
push ebx
push dword [esp + 0x20]
lea eax, [esp + 0x48]
push eax
call fcn.004099c0
mov ebx, dword [esp + 0x20]
jmp dword [0x443900]
push dword [esp + 0x1c]
mov esi, eax
call fcn.00408f10
mov eax, esi
add esp, 4
and al, 1
test ebx, ebx
je 0x422505
cmp ebx, edi
je 0x422505
mov esi, ebx
mov dword [esp + 0x18], eax
jmp 0x4224e4
cmp esi, edi
je 0x4224f8
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x4224e0
push eax
call fcn.00408f10
add esp, 4
jmp 0x4224e0
push ebx
call fcn.00408f10
add esp, 4
mov eax, dword [esp + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0xd0]
push 0
push eax
push dword [esp + 0xa4]
call fcn.0043ba00
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x1c]
jmp dword [eax*4 + 0x443818]
mov esi, dword [esp + 0xd0]
lea eax, [esi + 1]
push eax
call fcn.00408f00
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xa8]
call fcn.0043bb10
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov ebx, dword [esp + 0x1c]
jmp dword [eax*4 + 0x443820]
mov esi, dword [esp + 0xd0]
mov byte [edi + esi], 0
push 0x20
call fcn.00408f00
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 + 0xc8], eax
mov ecx, eax
push esi
mov dword [esp + 0xd8], edi
push edi
call case.0x41fb9c.401
movzx eax, al
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
jmp dword [eax*4 + 0x443828]
mov dword [esp + 0x40], 0x67589ebb
mov dword [esp + 0x44], 0x5260506b
mov dword [esp + 0x48], 0x575b4f27
mov dword [esp + 0x4c], 0x482d5c62
mov dword [esp + 0x50], 0x4e435868
mov dword [esp + 0x54], 0x75752633
mov dword [esp + 0x58], 0x7f4d4076
mov dword [esp + 0x5c], 0x4749482f
mov word [esp + 0x60], 0xed49
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2b
ja 0x42269f
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x40]
mov edx, 1
sub edx, eax
add eax, ecx
not ecx
or edx, ecx
lea eax, [eax + edx*2]
add eax, 0x7ef7d800
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xe
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x2c
jb 0x422660
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x40]
push eax
call fcn.004245a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
jmp dword [ecx*4 + 0x443830]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0xd4]
jmp dword [0x4438d0]
mov esi, dword [esp + 0xc8]
mov ecx, esi
call fcn.00424710
push esi
call fcn.00408f10
add esp, 4
jmp dword [0x4438d8]
jmp dword [0x4438d8]
push edi
call fcn.00408f10
add esp, 4
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x40], 0x12111017
mov dword [esp + 0x44], 0
mov word [esp + 0x48], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 9
ja 0x42277f
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x218ea92d]
and esi, edx
add ecx, edx
add ecx, 0xde7156d3
add esi, esi
sub ecx, esi
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x3b
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xa
jb 0x422740
mov ecx, dword [0x447768]
test ecx, ecx
je 0x4227da
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x44776c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x4227d2
inc esi
cmp ecx, esi
jne 0x4227a0
jmp 0x4227da
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
mov edi, dword [esp + 0x28]
mov esi, ebx
mov ebx, dword [esp + 0x20]
jmp dword [0x443800]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x422804
mov esi, ebx
mov ebx, dword [esp + 0x18]
jmp dword [0x4438e0]
mov eax, ebx
and al, 1
movzx ecx, al
mov edi, dword [esp + 0x28]
mov eax, ebx
jmp dword [ecx*4 + 0x4438e8]
mov ebx, dword [esp + 0x20]
jmp dword [0x443900]
mov esi, ebx
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
mov ebx, dword [esp + 0x18]
jmp dword [0x4438e0]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor esi, esi
xor edx, edx
jmp dword [eax*4 + 0x4437c8]
xor eax, eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov dword [ebx + esi*8 + 4], eax
add edi, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, ebx
jmp dword [eax*4 + 0x4437c8]
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx]
mov ecx, edi
sub ecx, esi
sar ecx, 3
cmp edi, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 8], eax
je 0x422888
mov ebx, esi
jmp 0x4228fd
mov dword [esp + 0x24], edx
lea eax, [ecx + 1]
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x42289b
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.00408f00
add esp, 4
mov ebx, eax
test esi, esi
je 0x4228ed
mov edx, dword [esp + 0x24]
cmp esi, edx
je 0x4228e4
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x4228c0
mov edx, esi
push edx
call fcn.00408f10
add esp, 4
mov ecx, dword [esp + 0x14]
lea eax, [ebx + ecx*8]
lea edx, [ebx + edi*8]
mov edi, eax
mov eax, dword [esp + 8]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [ebx + ecx*8], 0
mov dword [esp + 0x20], ebx
mov dword [ebx + ecx*8 + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
mov esi, ebx
inc ebx
cmp byte [eax + esi], 0
jne 0x422920
push ebx
call fcn.00408f00
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [eax + ecx*8], edi
mov ecx, ebx
shr ecx, 2
mov edx, dword [esp + 8]
mov eax, edi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, dword [esp + 8]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x18], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
je 0x422984
mov eax, ebx
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esp + 0x18]
mov byte [edx + eax], cl
cmp ebx, 1
mov edi, dword [esp + 0x28]
je 0x42283d
lea ecx, [ebx - 1]
cmp ebx, 2
jne 0x4229a0
mov eax, 0xffffffff
jmp 0x4229df
and esi, 0xfffffffe
mov eax, 0xffffffff
mov ebx, dword [esp + 8]
nop
nop
nop
nop
mov edx, eax
shr edx, 8
xor al, byte [ebx]
movzx eax, al
xor edx, dword [eax*4 + 0x43e7d0]
mov eax, edx
shr eax, 8
xor dl, byte [ebx + 1]
add ebx, 2
movzx edx, dl
xor eax, dword [edx*4 + 0x43e7d0]
add esi, 0xfffffffe
jne 0x4229b0
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test cl, 1
je 0x422a03
mov ecx, eax
shr ecx, 8
mov esi, dword [esp + 8]
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43e7d0]
mov eax, ecx
not eax
mov ecx, dword [esp + 0x1c]
jmp 0x42284b
add eax, 8
mov dword [esp + 0x18], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, edx
jmp dword [eax*4 + 0x443838]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x443838]
mov edi, dword [ecx]
cmp dword [ecx + 0x18], 3
mov ebx, 0
jne case.default.0x422a6a
mov ebx, dword [ecx + 0x10]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x443840]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x443848]
mov dword [esp + 0x2c], ecx
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x422ad2
sub eax, ebx
inc eax
mov ecx, eax
shr ecx, 1
and eax, 2
mov dword [esp + 0xd8], ecx
xor ecx, 1
add ecx, eax
push ecx
call fcn.00408f00
add esp, 4
mov ecx, dword [case.0x4226c7.10]
mov dword [esp + 0x24], ecx
xor ecx, ecx
cmp byte [ebx], 0
setne cl
mov dword [esp + 0xcc], eax
mov esi, eax
jmp dword [ecx*4 + 0x443850]
mov esi, dword [esp + 8]
mov byte [esi], al
inc esi
xor eax, eax
cmp byte [ebx], 0
setne al
jmp dword [eax*4 + 0x443850]
mov dword [esp + 8], esi
jmp dword [esp + 0x24]
inc ebx
jmp case.0x4226c7.10
and eax, 0xffffff9e
xor ecx, 0xffffff9e
lea eax, [ecx + eax*2]
add eax, 0xb
jmp dword [0x443864]
mov edx, ebx
inc ebx
movsx eax, byte [edx]
mov ecx, eax
or ecx, 0x20
lea esi, [ecx - 0x61]
cmp esi, 5
jbe 0x422b10
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x422b42
mov eax, 0xffffffff
jmp dword [0x443864]
movsx esi, byte [ebx]
xor ecx, ecx
mov dword [esp + 0x14], esi
test esi, esi
setne cl
jmp dword [ecx*4 + 0x443868]
shl eax, 4
add edx, 2
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x14]
or ebx, 0x20
lea ecx, [ebx - 0x61]
cmp ecx, 5
ja case.default.0x422b95
mov ecx, dword [esp + 0x14]
and ecx, 0xffffff9e
xor ebx, 0xffffff9e
lea ecx, [ebx + ecx*2]
add ecx, 0xb
or ecx, eax
mov byte [esi], cl
inc esi
xor eax, eax
cmp byte [edx], 0
setne al
mov ebx, edx
jmp dword [eax*4 + 0x443850]
mov ecx, dword [esp + 0x14]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x422bc0
mov ecx, 0xffffffff
or ecx, eax
mov byte [esi], cl
inc esi
xor eax, eax
cmp byte [edx], 0
setne al
mov ebx, edx
jmp dword [eax*4 + 0x443850]
mov byte [esi], 0
jmp 0x422bd1
inc edi
movzx eax, byte [edi]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x422bd0
cmp ecx, 0x20
je 0x422bd0
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 + 0x14], esi
or dl, cl
mov byte [esp + 0x33], dl
cmp byte [edi + eax], 0x30
jne 0x422c22
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 + 0x14], eax
xor ecx, ecx
xor esi, esi
xor eax, eax
jmp 0x422c51
xor edi, edi
xor edx, edx
mov dword [esp + 8], 0xffffffff
mov ebx, 0xffffffff
mov dword [esp + 0x24], 0x22
add edi, dword [esp + 8]
adc edx, ebx
mov ecx, dword [esp + 0x24]
mov esi, edi
mov eax, edx
mov ebx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x14]
movsx ecx, byte [eax]
lea edi, [ecx - 0x30]
cmp edi, 0xa
jb 0x422c84
mov eax, ecx
and eax, 0xffffffdf
lea edx, [eax - 0x41]
cmp edx, 0x19
ja 0x422ced
mov edi, ecx
xor edi, 0x20
add edi, ecx
sub edi, eax
add edi, 0xffffffa9
cmp edi, 0xf
jg 0x422ced
inc dword [esp + 0x14]
mov edx, esi
and edx, ebx
mov dword [esp + 8], esi
mov esi, 0xffffffff
mov ecx, 0x22
mov eax, 0xffffffff
cmp edx, 0xffffffff
je 0x422c51
mov ecx, dword [esp + 8]
test ebx, 0xf0000000
je 0x422cc0
mov ecx, 0x22
test edi, edi
jne 0x422c51
jmp 0x422c2a
shld ebx, ecx, 4
shl ecx, 4
mov edx, edi
sar edx, 0x1f
mov eax, edi
mov dword [esp + 8], ecx
add eax, ecx
mov eax, edx
adc eax, ebx
mov eax, 0xffffffff
mov ecx, 0x22
jb 0x422c51
jmp 0x422c43
mov dword [esp + 0x38], 0
mov eax, esi
neg eax
mov ecx, 0
sbb ecx, ebx
cmp byte [esp + 0x33], 0
jne 0x422d0b
mov esi, eax
mov ebx, ecx
mov dword [esp + 8], esi
mov dword [esp + 0x14], ebx
mov esi, dword [case.0x422bc0.58]
mov ebx, dword [case.0x4226c7.28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp esi
xor eax, eax
cmp ecx, edx
setne al
jmp dword [eax*4 + 0x443880]
cmp dword [esp + 0x24], 0x22
setne al
mov edx, dword [ecx + 4]
mov edi, edx
shr edi, 0x1c
xor edi, dword [esp + 0x14]
shl edx, 4
or edx, 1
xor edx, dword [esp + 8]
or edx, edi
sete dl
and dl, al
movzx eax, dl
jmp dword [eax*4 + 0x443888]
mov eax, 1
mov edx, dword [esp + 0x28]
jmp dword [eax*4 + 0x443890]
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
xor eax, eax
mov edx, dword [esp + 0x28]
jmp dword [eax*4 + 0x443890]
jmp ebx
add ecx, 8
jmp case.0x422bc0.56
xor eax, eax
mov esi, dword [esp + 0x38]
test esi, esi
setne al
jmp dword [eax*4 + 0x4438a8]
mov ecx, dword [esp + 0x2c]
jmp dword [0x4438c8]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne 0x422de0
mov ecx, dword [case.0x4226c7.34]
jmp ecx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
push 0x932a8d34
push dword [0x447774]
call fcn.0043aaf0
add esp, 8
mov ecx, esp
lea edx, [esp + 0xc]
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 + 0x4438c0]
mov ecx, dword [esp + 0x2c]
jmp dword [0x4438c8]
movzx eax, byte [esi]
test al, al
je 0x422e6d
inc esi
mov ecx, dword [esp + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x422e60
jmp 0x422e71
mov ecx, dword [esp + 0x34]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0xc]
test esi, esi
je 0x422eab
mov ecx, dword [esp + 0x10]
mov edx, esi
and edx, 3
je 0x422eaf
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x422e90
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x422eb1
mov edi, eax
jmp 0x422eef
mov edx, esi
cmp esi, 4
jb 0x422eef
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 0x422eb6
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x18]
and al, 1
movzx eax, al
mov ecx, eax
xor ecx, 1
add ecx, eax
setne al
mov dword [esp + 0x18], eax
push 0x2e0ec9bb
push dword [0x44775c]
call fcn.0043aaf0
add esp, 8
push dword [esp + 0x10]
call eax
mov ecx, dword [esp + 0x2c]
jmp dword [0x4438c8]
push dword [esp + 0xcc]
call fcn.00408f10
mov ecx, dword [esp + 0x30]
add esp, 4
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x443838]
int3
push eax
sub esp, 0x10
mov dword [esi + 0xc], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x30], esp
sub esp, 0x10
mov dword [esi + 0x3c], esp
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x18
mov dword [esi + 0x28], esp
sub esp, 0x28
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 8], ecx
mov esp, ecx
push eax
sub esp, 0x14
mov dword [esi + 0x44], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x2c], 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 + 0x38], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1b], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1e
ja 0x423049
mov ecx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [eax + edi]
lea edx, [ecx + edi]
add edx, 0xa74ae38f
add ecx, 0xa74ae38f
and ecx, edi
add ecx, ecx
sub edx, ecx
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x18]
add cl, 0x17
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1f
jb 0x423010
mov edx, dword [esi + 0xc]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0x38]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x30]
push edi
push 0
push 0
push 9
push edx
push 0
call dword [0x447764]
mov edi, dword [edi]
test edi, edi
jns 0x423086
mov eax, 0xffffffff
jmp 0x423089
lea eax, [edi + edi]
push eax
call fcn.00408f00
add esp, 4
push dword [esi + 0x30]
push edi
push eax
push 9
push dword [esi + 0xc]
push 0
call dword [0x447764]
mov dword [ebx], 0xbb13b9f2
mov dword [ebx + 4], 0xbf19bd0f
mov dword [ebx + 8], 0x8332810f
mov dword [ebx + 0xc], 0x87848526
lea eax, [ebx + 0x10]
mov word [ebx + 0x10], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x11
ja 0x423118
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx + 0x97]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0xfa9cc697
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0xdf
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x12
jb 0x4230e0
mov ecx, 4
mov edx, dword [esi + 0x3c]
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 ebx, dword [esi + 8]
mov dword [ebx], 0x9b3399d4
mov dword [ebx + 4], 0xe745e557
mov dword [ebx + 8], 0xe350e157
mov dword [ebx + 0xc], 0xefaded40
mov dword [ebx + 0x10], 0xeb5ce949
mov dword [ebx + 0x14], 0xf744f555
mov dword [ebx + 0x18], 0xf3f2f149
lea eax, [ebx + 0x1c]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x1c], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x23
ja 0x4231d1
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 - 0x35154bc4]
mov ebx, edi
not ebx
or ebx, edx
and edx, edi
add edx, ebx
mov ebx, dword [esi + 8]
neg edx
add ecx, edx
add ecx, 0xcaeab43b
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0x5c
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x24
jb 0x423190
mov ecx, 7
mov edx, dword [esi + 0x28]
mov edi, edx
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 ebx, dword [esi + 0x2c]
mov dword [ebx], 0xabc3ade0
mov dword [ebx + 4], 0xd7b9a937
mov dword [ebx + 8], 0xd34cd547
mov dword [ebx + 0xc], 0xdfaed1bc
mov dword [ebx + 0x10], 0xdb94dda0
lea eax, [ebx + 0x14]
mov word [ebx + 0x14], 0xd9d8
mov dword [ebx + 0x16], 0
mov dword [ebx + 0x1a], 0
mov byte [ebx + 0x1e], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1e
ja 0x42326c
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
add ecx, 0x76fd49ba
xor ecx, edx
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0xea
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1f
jb 0x423240
mov ecx, 5
mov edx, dword [esi + 0x44]
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.0x421dce.124
mov ecx, 5
mov edx, dword [esi + 0x54]
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 + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x14]
mov dword [ebx], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 4], eax
mov dword [ebx + 8], edx
mov eax, ebx
add eax, 0xc
mov ecx, dword [esi + 0x94]
mov dword [ecx], eax
mov eax, dword [esi + 0x5c]
mov byte [eax], 0
mov eax, dword [esi + 0x90]
mov dword [eax], ebx
jmp dword [0x443910]
push eax
mov ecx, esp
sub esp, 0x14
mov dword [esi + 0x10], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0x38], esp
sub esp, 0x10
mov dword [esi + 0x14], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov esp, edx
push eax
sub esp, 0x18
mov dword [esi + 0x34], esp
sub esp, 0x28
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
sub esp, 0x14
mov dword [esi + 0x54], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x50], edx
mov esp, edx
push eax
sub esp, 8
mov ebx, esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x90], esp
push eax
mov dword [esi + 0x94], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0x28], esp
sub esp, 0x1c
mov dword [esi + 0x44], esp
sub esp, 0x28
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xb4], edx
mov esp, edx
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x78], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x6c], edx
mov esp, edx
push eax
mov dword [esi + 0x74], esp
sub esp, 8
mov dword [esi + 0xa4], esp
sub esp, 8
mov dword [esi + 0xa0], esp
sub esp, 0x10
mov dword [esi + 0x58], esp
sub esp, 0x18
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x9c], edx
mov esp, edx
push eax
mov dword [esi + 0x70], esp
sub esp, 0x30
mov dword [esi + 0x68], esp
sub esp, 0x38
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xb0], edx
mov esp, edx
push eax
mov dword [esi + 0x8c], esp
sub esp, 0x14
mov dword [esi + 0x64], esp
sub esp, 0x20
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xac], edx
mov esp, edx
push eax
mov dword [esi + 0x88], esp
sub esp, 0x10
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0xa8], edx
mov esp, edx
mov dword [esi + 0x80], 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 + 0x4c], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1b], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1e
ja 0x4234a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [eax + edi]
lea edx, [ecx + edi]
add edx, 0xa74ae38f
add ecx, 0xa74ae38f
and ecx, edi
add ecx, ecx
sub edx, ecx
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x18]
add cl, 0x17
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1f
jb 0x423470
mov edx, dword [esi + 0x10]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [esi + 0x4c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x30]
push edi
push 0
push 0
push 9
push edx
push 0
call dword [0x447764]
mov edi, dword [edi]
test edi, edi
jns 0x4234f0
mov eax, 0xffffffff
jmp 0x4234f3
lea eax, [edi + edi]
push eax
call fcn.00408f00
add esp, 4
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
push dword [esi + 0x30]
push edi
push eax
push 9
push dword [esi + 0x10]
push 0
call dword [0x447764]
mov edi, dword [esi + 0xc]
mov dword [edi], 0xbb13b9f2
mov dword [edi + 4], 0xbf19bd0f
mov dword [edi + 8], 0x8332810f
mov dword [edi + 0xc], 0x87848526
lea eax, [edi + 0x10]
mov dword [esi + 0x10], eax
mov word [edi + 0x10], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x11
ja 0x42358b
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea edi, [ecx + 0x97]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0xc]
add ecx, 0xfa9cc697
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0xdf
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x12
jb 0x423550
mov edx, dword [esi + 0x14]
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 + 0x10]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 8]
mov dword [edi], 0x9b3399d4
mov dword [edi + 4], 0xe745e557
mov dword [edi + 8], 0xe350e157
mov dword [edi + 0xc], 0xefaded40
mov dword [edi + 0x10], 0xeb5ce949
mov dword [edi + 0x14], 0xf744f555
mov dword [edi + 0x18], 0xf3f2f149
lea eax, [edi + 0x1c]
mov dword [esi + 0xc], eax
mov dword [edi + 0x20], 0
mov dword [edi + 0x1c], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x23
ja 0x423640
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx eax, byte [edi + edx]
lea edx, [ecx - 0x35154bc4]
mov edi, eax
not edi
or edi, edx
and edx, eax
add edx, edi
mov edi, dword [esi + 8]
neg edx
lea eax, [ecx + edx]
add eax, 0xcaeab43b
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0x5c
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x24
jb 0x423600
mov eax, dword [esi + 0x34]
mov edx, edi
mov edi, eax
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add eax, 0x1c
mov edi, eax
xor ecx, ecx
mov eax, dword [esi + 0xc]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esi + 0x50]
mov dword [edi], 0xabc3ade0
mov dword [edi + 4], 0xd7b9a937
mov dword [edi + 8], 0xd34cd547
mov dword [edi + 0xc], 0xdfaed1bc
mov dword [edi + 0x10], 0xdb94dda0
lea eax, [edi + 0x14]
mov dword [esi + 8], eax
mov word [edi + 0x14], 0xd9d8
mov dword [edi + 0x16], 0
mov dword [edi + 0x1a], 0
mov byte [edi + 0x1e], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1e
ja 0x423290
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
add ecx, 0x76fd49ba
xor ecx, edx
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0xea
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1f
jb 0x4236c0
jmp 0x423290
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edx
mov eax, dword [ebx]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x60]
mov byte [ecx], 0
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423720
sar ecx, 1
mov eax, dword [esi + 0x28]
mov dword [eax], ecx
mov ebx, dword [esi + 0xb4]
mov dword [ebx], 0xba815ba
mov dword [ebx + 4], 0xfad099b
mov dword [ebx + 8], 0x3900da9
mov dword [ebx + 0xc], 0x7b50162
mov dword [ebx + 0x10], 0x7ba30592
mov dword [ebx + 0x14], 0x7fe379ee
lea eax, [ebx + 0x18]
mov word [ebx + 0x18], 0x7d7e
mov dword [ebx + 0x1a], 0
mov dword [ebx + 0x1e], 0
mov dword [ebx + 0x22], 0
mov byte [ebx + 0x26], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x26
ja 0x4237e3
nop
nop
nop
nop
nop
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 edx, 0xe5cfc72d
add ecx, 0xe5cfc72d
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 + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0xc5
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x27
jb 0x4237a0
mov edx, ebx
mov ebx, dword [esi + 0x44]
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 + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
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 0x423823
mov eax, 0xffffffff
push eax
call fcn.00408f00
add esp, 4
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423861
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 0x423850
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423891
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 0x423880
mov word [eax], 0
mov ecx, dword [esi + 0x44]
movzx ecx, word [ecx]
test cx, cx
je 0x4238c1
mov edx, dword [esi + 8]
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 0x4238b0
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [esi + 0x48]
mov eax, dword [esi + 0x3c]
push dword [eax]
call fcn.0043b670
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443930]
push 0
mov edi, dword [esi + 0x84]
push edi
mov eax, dword [esi + 0x48]
push dword [eax]
call fcn.0043ba00
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443938]
mov ebx, dword [edi]
lea eax, [ebx + 1]
push eax
call fcn.00408f00
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x7c]
mov dword [eax], edi
push 0
push ebx
push edi
mov eax, dword [esi + 0x48]
push dword [eax]
call fcn.0043bb10
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443940]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443998]
push edi
call fcn.00408f10
add esp, 4
mov eax, dword [case.0x421dce.136]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x18], 0x12111017
mov dword [esi + 0x1c], 0
mov word [esi + 0x20], 0
mov dword [esi + 0x40], 0
mov ecx, dword [esi + 0x40]
cmp ecx, 9
ja 0x4239ca
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x40]
movzx edx, byte [esi + edx + 0x18]
lea edi, [ecx - 0x218ea92d]
and edi, edx
add ecx, edx
add ecx, 0xde7156d3
add edi, edi
sub ecx, edi
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
add cl, 0x3b
mov edx, dword [esi + 0x40]
mov byte [esi + edx + 0x18], cl
inc dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
cmp ecx, 0xa
jb 0x423990
mov ecx, dword [0x447768]
test ecx, ecx
je case.0x421dce.134
mov edx, dword [esi + 0x18]
xor edi, edi
mov ebx, dword [0x44776c]
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x4239f0
inc edi
cmp ecx, edi
jne 0x4239e0
jmp case.0x421dce.134
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x423a0c
nop
nop
nop
nop
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4439b0]
push eax
call fcn.00408f10
add esp, 4
mov eax, dword [case.0x423edc.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x60]
movzx eax, byte [eax]
mov ecx, dword [case.0x423edc.8]
mov ebx, dword [esi + 0xb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [eax*4 + 0x4439d8]
mov dword [ebx], 0x3bf439ea
mov dword [ebx + 4], 0x3fd93dcb
mov dword [ebx + 8], 0xc32cc1dd
mov dword [ebx + 0xc], 0xc711c5e2
mov dword [ebx + 0x10], 0xcb39c932
mov dword [ebx + 0x14], 0xcf2fcd38
mov dword [ebx + 0x18], 0xd337d127
mov dword [ebx + 0x1c], 0xd738d50e
mov dword [ebx + 0x20], 0xdb2ed931
mov dword [ebx + 0x24], 0xdf30dd3d
mov dword [ebx + 0x28], 0xe302e13a
lea eax, [ebx + 0x2c]
mov word [ebx + 0x2c], 0xe5e2
mov dword [ebx + 0x2e], 0
mov dword [ebx + 0x32], 0
mov word [ebx + 0x36], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x37
ja 0x423b23
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]
movzx edi, byte [ebx + edx]
lea edx, [ecx + edi]
add edx, 0x892e37f7
add ecx, 0xf7
and ecx, edi
add ecx, ecx
mov edi, ecx
xor edi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
add cl, 0x3f
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x38
jb 0x423ae0
mov edx, ebx
mov ebx, dword [esi + 0x68]
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 + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
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 0x423b63
mov eax, 0xffffffff
push eax
call fcn.00408f00
add esp, 4
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov ebx, dword [esi + 0xac]
je 0x423ba1
add ecx, 2
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423b90
mov word [eax], 0x5c
add eax, 2
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x423bd1
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 0x423bc0
mov word [eax], 0
mov ecx, dword [esi + 0x68]
movzx ecx, word [ecx]
test cx, cx
je 0x423c01
mov edx, dword [esi + 0x54]
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 0x423bf0
mov word [eax], 0
mov dword [ebx], 0x2b482517
mov dword [ebx + 4], 0x2f522941
mov dword [ebx + 8], 0x33402d45
mov dword [ebx + 0xc], 0x37563156
lea eax, [ebx + 0x10]
mov word [ebx + 0x10], 0x3536
mov dword [ebx + 0x12], 0
mov dword [ebx + 0x16], 0
mov dword [ebx + 0x1a], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1d
ja 0x423c86
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx + 0x207116a5]
add ecx, 0xa5
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esi + 0x18], edi
mov ecx, dword [esi + 0x18]
add cl, 0x7d
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1e
jb 0x423c50
mov edx, ebx
mov ebx, dword [esi + 0x64]
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 + 0x28]
mov eax, dword [eax]
mov ecx, eax
add ecx, 9
lea eax, [eax + eax + 0x12]
jns 0x423cba
mov eax, 0xffffffff
push eax
call fcn.00408f00
add esp, 4
mov ecx, dword [esi + 0x88]
mov dword [ecx], eax
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov ebx, dword [esi + 0xa8]
je 0x423d01
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 0x423cf0
mov word [eax], 0
mov ecx, dword [esi + 0x64]
movzx ecx, word [ecx]
test cx, cx
je 0x423d31
mov edx, dword [esi + 0x50]
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 0x423d20
mov word [eax], 0
mov dword [ebx], 0x4b4445a8
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov byte [ebx + 0xc], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xc
ja 0x423db2
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [ebx + ecx]
lea ecx, [eax + 0xb5]
and ecx, edx
mov edi, 0xcceb614a
sub edi, eax
or edi, edx
add edx, eax
add edx, 0x33149eb5
add edi, eax
lea eax, [ecx + edi]
add eax, 0x33149eb6
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0xd
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0xd
jb 0x423d60
mov eax, dword [esi + 0x8c]
mov edi, dword [eax]
mov eax, dword [esi + 0x88]
mov ecx, ebx
mov ebx, dword [eax]
push 0
push 0
push 0
push 0xc00000
push ecx
push edi
push ebx
mov eax, dword [esi + 0x80]
push dword [eax]
call fcn.0041b040
add esp, 0x20
mov ecx, dword [esi + 0x5c]
or byte [ecx], al
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4439e0]
jmp dword [0x4439e8]
push ebx
call fcn.00408f10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00408f10
add esp, 4
jmp dword [0x4439f4]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x4439f8]
push edi
call fcn.00408f10
add esp, 4
jmp case.0x423edc.10
mov eax, dword [case.0x423dee.10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0x90]
jmp dword [0x443a14]
add dword [eax], 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [eax]
add ebx, 4
mov dword [eax], ebx
jmp dword [0x443a18]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401f00
add esp, 4
mov ecx, dword [esi + 0x78]
mov dword [ecx], eax
mov ecx, dword [case.0x421dce.142]
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443958]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443998]
push eax
push 1
push dword [0x447770]
push ecx
call fcn.00438da0
add esp, 0x10
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4439b0]
push eax
call fcn.004028d0
add esp, 4
mov edi, dword [esi + 0x6c]
mov dword [edi], 0x787d0a0f
mov dword [edi + 4], 0x1b061c06
mov dword [edi + 8], 0x70040c46
mov dword [edi + 0xc], 0x31e041e
mov dword [edi + 0x10], 0x106d1515
mov word [edi + 0x14], 0xc19
mov byte [edi + 0x16], 0x86
mov dword [edi + 0x1b], 0
mov dword [edi + 0x17], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1e
ja 0x423f92
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x6c]
movzx edi, byte [edi + ecx]
lea ecx, [edx + edi]
add ecx, 0xfcc12244
add edx, 0xfcc12244
mov ebx, edi
not ebx
or ebx, edx
add ebx, edi
and edx, edi
add edx, ebx
inc edx
mov edi, ecx
not edi
and edi, edx
not edx
and edx, ecx
sub edx, edi
mov edi, dword [esi + 0x6c]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x18]
add cl, 0x24
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1f
jb 0x423f40
push edi
push eax
call fcn.00402970
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x423fb0
shr ecx, 2
mov edi, edx
mov dword [esi + 0x14], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x423fd4
cmp edx, 0x2e
jne 0x423fd5
dec ecx
mov edx, dword [esi + 0x14]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esi + 0x34], eax
je 0x423fea
cmp edx, 0x2e
jne 0x423feb
dec ecx
mov eax, ecx
and eax, 1
mov dword [esi + 0x98], ecx
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00408f00
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x10], ecx
mov dword [eax], ecx
cmp dword [esi + 0x14], 0
je 0x42410d
xor edx, edx
mov edi, 2
jmp 0x424040
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x42410d
mov dword [esi + 8], edx
mov ebx, dword [esi + 0x34]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.004187c0
add esp, 4
mov byte [esi + 0xc], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.004187c0
mov ecx, dword [esi + 0x14]
add esp, 4
movzx edx, byte [esi + 0xc]
shl dl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, dl
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 8]
mov byte [edx + ebx], ah
lea edx, [ebx + 1]
cmp edi, ecx
jae 0x424030
mov byte [esi + 0xc], al
mov eax, dword [esi + 0x34]
movzx eax, byte [eax + edi]
push eax
mov ebx, edx
call fcn.004187c0
mov edx, ebx
mov ecx, dword [esi + 0x14]
add esp, 4
cmp al, 0x40
je 0x424030
movzx edx, byte [esi + 0xc]
shl dl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, dl
mov ebx, dword [esi + 8]
lea edx, [ebx + 2]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x10]
mov byte [edx + ebx + 1], ah
mov ebx, eax
lea eax, [edi + 1]
cmp eax, ecx
jae 0x424022
mov eax, dword [esi + 0x34]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.004187c0
mov ecx, dword [esi + 0x14]
add esp, 4
cmp al, 0x40
mov edx, dword [esi + 0xc]
je 0x424030
shl bl, 6
add al, bl
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 8]
mov byte [edx + ebx + 2], al
add ebx, 3
mov edx, ebx
jmp 0x424030
mov eax, dword [esi + 0x98]
add eax, 0xfffffffb
mov edi, dword [esi + 0xa4]
mov dword [edi], eax
mov eax, dword [esi + 0x10]
add eax, 5
mov dword [edi + 4], eax
mov ebx, dword [esi + 0xa0]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x932a8d34
push dword [0x447774]
call fcn.0043aaf0
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443960]
mov eax, dword [esi + 0x9c]
mov dword [eax], 0x63c86537
mov dword [eax + 4], 0x6f3261f2
mov dword [eax + 8], 0x6bf46df2
mov dword [eax + 0xc], 0x576869f6
lea ecx, [eax + 0x10]
mov dword [esi + 8], ecx
mov dword [eax + 0x10], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x13
ja 0x4241e8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edi, byte [eax + edx]
lea edx, [ecx + 0x786177d1]
add ecx, 0xd1
or ecx, edx
and ecx, edi
or edx, edi
sub edx, ecx
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x18]
add cl, 0x49
mov edx, dword [esi + 4]
mov byte [eax + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x14
jb 0x4241b0
mov edx, eax
mov eax, dword [esi + 0x58]
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 + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, eax
add ecx, 8
lea eax, [eax + eax + 0x10]
jns 0x42421c
mov eax, 0xffffffff
push eax
call fcn.00408f00
add esp, 4
mov ecx, dword [esi + 0x70]
mov dword [ecx], eax
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
mov edi, dword [esi + 0x4c]
je 0x424251
add ecx, 2
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424240
mov word [eax], 0
mov ecx, dword [esi + 0x58]
movzx ecx, word [ecx]
test cx, cx
je 0x424281
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 [edi]
add edi, 2
test cx, cx
jne 0x424270
mov word [eax], 0
mov eax, dword [esi + 0x80]
mov ecx, dword [eax]
mov eax, dword [esi + 0x70]
mov edi, dword [eax]
push dword [ebx]
push dword [ebx + 4]
push edi
call fcn.00409810
mov ecx, dword [esi + 0x60]
mov byte [ecx], al
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443968]
jmp dword [0x443970]
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443990]
push eax
call fcn.00408f10
add esp, 4
mov eax, dword [esi + 0x78]
push dword [eax]
call fcn.00402b30
add esp, 4
mov eax, dword [esi + 0x7c]
mov edi, dword [eax]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443998]
push dword [ebx + 4]
call edi
nop
nop
nop
nop
nop
nop
nop
nop
push dword [ebx + 4]
call edi
jmp dword [0x443988]
push edi
call fcn.00408f10
add esp, 4
push edi
call fcn.00408f10
add esp, 4
jmp dword [0x443978]
push 0x2e0ec9bb
push dword [0x44775c]
call fcn.0043aaf0
add esp, 8
mov edi, eax
jmp dword [0x443984]
mov eax, dword [esi + 0x64]
lea edx, [eax + 2]
mov eax, dword [esi + 0x68]
add eax, 2
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x58]
lea edi, [eax + 2]
mov eax, dword [esi + 0x44]
add eax, 2
mov dword [esi + 8], eax
mov eax, dword [case.0x421dce.131]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
mov ecx, dword [esi + 0x94]
cmp ebx, dword [ecx]
setne al
jmp dword [eax*4 + 0x443928]
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x443a20]
push eax
call fcn.00408f10
add esp, 4
mov eax, dword [esi + 0x5c]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [esp + 0x28]
mov byte [esp + 2], 0
mov byte [esp + 3], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
cmp byte [eax], 0
je 0x42458a
mov esi, ecx
mov dword [esp + 4], 0
lea edi, [esp + 3]
lea ebx, [esp + 2]
jmp 0x424413
mov dword [esp + 4], ebp
xor esi, esi
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x42458a
lea ecx, [esp + 8]
push edi
push ebx
call fcn.004247b0
test eax, eax
je 0x42458a
mov ebp, eax
cmp byte [esp + 2], 0
jne 0x424439
cmp byte [ebp], 0
je 0x42458a
test esi, esi
je 0x4244a0
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x424440
push ebx
call fcn.00408f00
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add eax, ecx
add ebp, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test bl, 1
je 0x42453a
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
jmp 0x42453a
push 0x20
call fcn.00408f00
add esp, 4
mov esi, 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
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x4244e0
push ebx
call fcn.00408f00
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add eax, ecx
add ebp, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test bl, 1
je 0x42452f
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov eax, dword [esp + 4]
test eax, eax
je 0x42453a
mov dword [eax + 4], esi
mov ebp, esi
lea edi, [esp + 3]
lea ebx, [esp + 2]
lea esi, [esp + 8]
mov ecx, esi
push edi
push ebx
call fcn.004247b0
cmp byte [esp + 3], 0
je 0x424561
mov ecx, esi
push edi
push ebx
call fcn.004247b0
test eax, eax
je 0x424400
cmp byte [eax], 0x7b
jne 0x424400
cmp byte [esp + 2], 0
jne 0x424400
mov ecx, ebp
push esi
call fcn.004249c0
jmp 0x424400
mov al, 1
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 8