Function at 0x4244c2
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21f0
call fcn.004084a0
mov dword [esp + 0x11f0], 0x41f447e0
mov dword [esp + 0x11f4], 0x4d0b430f
mov dword [esp + 0x11f8], 0x49f34f07
mov dword [esp + 0x11fc], 0xb5f84bf4
mov dword [esp + 0x1200], 0xb112b70f
mov dword [esp + 0x1204], 0xbd0fb30f
mov dword [esp + 0x1208], 0xb90cbff3
mov dword [esp + 0x120c], 0xbbb8
mov byte [esp + 0x1210], 0
mov dword [esp + 0xa80], 0
mov eax, dword [esp + 0xa80]
cmp eax, 0x20
ja 0x41f3d3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa80]
mov ecx, dword [esp + 0xa80]
movzx ecx, byte [esp + ecx + 0x11f0]
lea edx, [eax + ecx]
add eax, 0x71
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xaa141971
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x80]
mov ecx, eax
xor ecx, 0x35
and eax, 0x4a
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xa80]
mov byte [esp + ecx + 0x11f0], al
inc dword [esp + 0xa80]
mov eax, dword [esp + 0xa80]
cmp eax, 0x21
jb 0x41f370
lea eax, [esp + 0x20]
lea ecx, [esp + 0x11f0]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.0043f6c0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446d10]
lea eax, [esp + 0x64]
lea ecx, [esp + 0x68]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x40]
call fcn.0043fb00
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d18]
xor ebx, ebx
jmp 0x420d5a
mov dword [esp + 0x4c], 0
mov eax, dword [case.0x41f3f8.7]
xor edi, edi
jmp case.0x41f3f8.4
push esi
call fcn.004084e0
add esp, 4
inc edi
mov eax, dword [case.0x41f3f8.7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp edi, dword [esp + 0x68]
setb al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x446d30]
mov esi, dword [esp + 0x64]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41f488
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov dword [esp + 0x60], esi
mov esi, eax
lea eax, [esp + 0x60]
push eax
push esi
push edi
push dword [esp + 0x2c]
call fcn.0043f800
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d40]
jmp dword [0x446db0]
lea eax, [esp + 0x54]
push dword [esp + 0x20]
push 0
push 0x20019
push eax
push esi
call fcn.0043f6c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d48]
jmp dword [0x446db0]
mov dword [esp + 0x40], edi
mov dword [esp + 0x80], 0x219d2773
mov dword [esp + 0x84], 0x3d90239d
mov dword [esp + 0x88], 0x39b33f8d
mov dword [esp + 0x8c], 0x35843b89
mov dword [esp + 0x90], 0x319237b8
mov dword [esp + 0x94], 0xd893399
mov dword [esp + 0x98], 0x9b20fba
mov dword [esp + 0x9c], 0x5830bb9
mov dword [esp + 0xa0], 0x1660789
mov dword [esp + 0xa4], 0x1dbd0357
mov dword [esp + 0xa8], 0x19931f91
mov dword [esp + 0xac], 0x15a31bbb
mov dword [esp + 0xb0], 0x11a017af
mov dword [esp + 0xb4], 0x6d7213a9
mov dword [esp + 0xb8], 0x69e16fc1
mov dword [esp + 0xbc], 0x65e76bca
mov dword [esp + 0xc0], 0x61eb67ef
mov dword [esp + 0xc4], 0x7ddd63ec
mov dword [esp + 0xc8], 0x79da7fcb
mov dword [esp + 0xcc], 0x75c87b28
mov dword [esp + 0xd0], 0x71c877c5
mov dword [esp + 0xd4], 0x4dc673cb
mov dword [esp + 0xd8], 0x49c34ff3
mov dword [esp + 0xdc], 0x45014bec
mov dword [esp + 0xe0], 0x410f4709
mov dword [esp + 0xe4], 0x5d1f430f
mov dword [esp + 0xe8], 0x59005f02
mov dword [esp + 0xec], 0x55165b28
mov dword [esp + 0xf0], 0x511b5727
mov dword [esp + 0xf4], 0xad215323
mov dword [esp + 0xf8], 0xa912afdf
mov dword [esp + 0xfc], 0xa5e8abe5
mov dword [esp + 0x100], 0xa1eea7ec
mov dword [esp + 0x104], 0xbdd2a3e3
mov dword [esp + 0x108], 0xb9cdbfcc
mov dword [esp + 0x10c], 0xb5f6bbc8
mov dword [esp + 0x110], 0xb1c4b7f6
mov dword [esp + 0x114], 0x8dfcb3f3
mov dword [esp + 0x118], 0x89c78fc2
mov dword [esp + 0x11c], 0x852e8bc6
mov word [esp + 0x120], 0x8784
mov dword [esp + 0x122], 0
mov dword [esp + 0x880], 0
mov eax, dword [esp + 0x880]
cmp eax, 0xa5
ja 0x41f742
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
movzx ecx, byte [esp + ecx + 0x80]
mov edx, eax
and edx, 0xe6e17a09
xor eax, 0x66e17a09
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xa80], edx
mov eax, dword [esp + 0xa80]
add al, 0xd3
mov ecx, dword [esp + 0x880]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 0x880]
mov eax, dword [esp + 0x880]
cmp eax, 0xa6
jb 0x41f6e0
lea edi, [esp + 0xe82]
lea eax, [esp + 0x80]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x120]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xf22]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x80], 0xb75f897d
mov dword [esp + 0x84], 0xb32cb55b
mov dword [esp + 0x88], 0xbf21b123
mov dword [esp + 0x8c], 0xbb50bd2f
mov dword [esp + 0x90], 0xa742b924
mov dword [esp + 0x94], 0xa34ba55f
mov dword [esp + 0x98], 0xaf42a132
mov dword [esp + 0x9c], 0xab31ad3f
mov dword [esp + 0xa0], 0x5776a937
mov dword [esp + 0xa4], 0x53ae55a6
mov dword [esp + 0xa8], 0x5f9151b4
mov dword [esp + 0xac], 0x5bc45dc1
mov dword [esp + 0xb0], 0x47ab59c6
mov dword [esp + 0xb4], 0x43de45d6
mov dword [esp + 0xb8], 0x4fa341ba
mov dword [esp + 0xbc], 0x4bd54dd2
mov dword [esp + 0xc0], 0x77e549a1
mov dword [esp + 0xc4], 0x739675e6
mov dword [esp + 0xc8], 0x7f97718b
mov dword [esp + 0xcc], 0x7b967dee
mov dword [esp + 0xd0], 0x67fd79eb
mov dword [esp + 0xd4], 0x634265fb
mov dword [esp + 0xd8], 0x6f836195
mov dword [esp + 0xdc], 0x6bf56df3
mov dword [esp + 0xe0], 0x17fd6989
mov dword [esp + 0xe4], 0x138015fd
mov dword [esp + 0xe8], 0x1f3e11fb
mov dword [esp + 0xec], 0x1b871de3
mov dword [esp + 0xf0], 0x79919f6
mov dword [esp + 0xf4], 0x39d059d
mov dword [esp + 0xf8], 0xfe3019c
mov dword [esp + 0xfc], 0xbee0d99
mov dword [esp + 0x100], 0x37a809f8
mov dword [esp + 0x104], 0x33d835a7
mov dword [esp + 0x108], 0x3faa31d9
mov dword [esp + 0x10c], 0x3ba53dd1
mov dword [esp + 0x110], 0x27d539dc
mov dword [esp + 0x114], 0x23be25b9
mov dword [esp + 0x118], 0x2fbd21b4
mov dword [esp + 0x11c], 0x2bbd2dbf
mov dword [esp + 0x120], 0xd70f29cc
mov dword [esp + 0x124], 0xd309d50b
mov dword [esp + 0x128], 0xdf11d10d
mov dword [esp + 0x12c], 0xdb10dd16
mov dword [esp + 0x130], 0xc71ad908
mov dword [esp + 0x134], 0xc31dc515
mov dword [esp + 0x138], 0xcf1fc111
mov dword [esp + 0x13c], 0xcb26cd1d
mov dword [esp + 0x140], 0xf738c917
mov dword [esp + 0x144], 0xf32af52c
mov dword [esp + 0x148], 0xff2ef131
mov dword [esp + 0x14c], 0xfb2bfd2c
mov dword [esp + 0x150], 0xe73af928
mov dword [esp + 0x154], 0xe33ce52a
mov dword [esp + 0x158], 0xef34e121
mov dword [esp + 0x15c], 0xeb31ed36
mov dword [esp + 0x160], 0x9772e932
mov word [esp + 0x164], 0x9594
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x880], 0
mov eax, dword [esp + 0x880]
cmp eax, 0xea
ja 0x41fa89
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
movzx edx, byte [esp + ecx + 0x80]
lea ecx, [eax + 0xde]
and ecx, edx
add eax, edx
sub eax, ecx
mov edx, 0xb05d5221
sub edx, eax
add eax, 0xd118dede
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0xa80], ecx
mov eax, dword [esp + 0xa80]
add al, 0xaa
mov ecx, dword [esp + 0x880]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 0x880]
mov eax, dword [esp + 0x880]
cmp eax, 0xeb
jb 0x41fa20
lea ebp, [esp + 0x110a]
lea eax, [esp + 0x80]
mov edi, ebp
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x164]
mov ecx, 1
lea edi, [esp + 0x11ee]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x80], 0x19ad1bcf
mov dword [esp + 0x84], 0xe558e7b5
mov dword [esp + 0x88], 0xe15fe355
mov dword [esp + 0x8c], 0xed44ef51
mov dword [esp + 0x90], 0xe94eeb50
mov dword [esp + 0x94], 0xf55cf739
mov dword [esp + 0x98], 0xf145f35e
mov dword [esp + 0x9c], 0xfd55ff5d
mov dword [esp + 0xa0], 0xf905fb58
mov dword [esp + 0xa4], 0xc534c705
mov dword [esp + 0xa8], 0xc166c334
mov dword [esp + 0xac], 0xcd75cf11
mov dword [esp + 0xb0], 0xc97ecb70
mov dword [esp + 0xb4], 0xd567d779
mov dword [esp + 0xb8], 0xd176d361
mov dword [esp + 0xbc], 0xdd60df00
mov dword [esp + 0xc0], 0xd970db6d
mov dword [esp + 0xc4], 0xa512a76f
mov dword [esp + 0xc8], 0xa11fa30f
mov dword [esp + 0xcc], 0xad7faf04
mov dword [esp + 0xd0], 0xa916ab17
mov dword [esp + 0xd4], 0xb507b71c
mov dword [esp + 0xd8], 0xb107b305
mov dword [esp + 0xdc], 0xbd79bf14
mov dword [esp + 0xe0], 0xb943bb41
mov dword [esp + 0xe4], 0x854b8743
mov dword [esp + 0xe8], 0x8148834e
mov dword [esp + 0xec], 0x8d728f70
mov dword [esp + 0xf0], 0x89778b73
mov dword [esp + 0xf4], 0x95699777
mov dword [esp + 0xf8], 0x913e936b
mov dword [esp + 0xfc], 0x9d509f6d
mov dword [esp + 0x100], 0x99629b64
mov dword [esp + 0x104], 0x65966757
mov dword [esp + 0x108], 0x619d6394
mov dword [esp + 0x10c], 0x6d926f90
mov dword [esp + 0x110], 0x69946ba2
mov dword [esp + 0x114], 0x758c77a7
mov dword [esp + 0x118], 0x718b738e
mov dword [esp + 0x11c], 0x7dda7f8a
mov word [esp + 0x120], 0x7b7c
lea eax, [esp + 0x120]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x880], 0
mov eax, dword [esp + 0x880]
cmp eax, 0xa6
ja 0x41fd0c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
movzx ecx, byte [esp + ecx + 0x80]
lea edx, [eax + 0xfb]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xce4f7efb
mov dword [esp + 0xa80], eax
mov eax, dword [esp + 0xa80]
add al, 0x19
mov ecx, dword [esp + 0x880]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 0x880]
mov eax, dword [esp + 0x880]
cmp eax, 0xa7
jb 0x41fcb0
mov dword [esp + 0x3c], esi
lea edi, [esp + 0x1068]
lea eax, [esp + 0x80]
mov ebx, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x120]
lea edi, [esp + 0x1108]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x80], 0x893d8bdf
mov dword [esp + 0x84], 0x85088735
mov dword [esp + 0x88], 0x810f8335
mov dword [esp + 0x8c], 0x9d249f31
mov dword [esp + 0x90], 0x993e9b10
mov dword [esp + 0x94], 0x952c97c9
mov dword [esp + 0x98], 0x9125932e
mov dword [esp + 0x9c], 0xed55ef2d
mov dword [esp + 0xa0], 0xe9a5eb48
mov dword [esp + 0xa4], 0xe594e7a4
mov dword [esp + 0xa8], 0xe146e394
mov dword [esp + 0xac], 0xfd75ffb1
mov dword [esp + 0xb0], 0xf94efb70
mov dword [esp + 0xb4], 0xf547f749
mov dword [esp + 0xb8], 0xf156f341
mov dword [esp + 0xbc], 0xcd40cfa0
mov dword [esp + 0xc0], 0xc970cb7d
mov dword [esp + 0xc4], 0xc572c77f
mov dword [esp + 0xc8], 0xc14fc37f
mov dword [esp + 0xcc], 0xdd8fdf64
mov dword [esp + 0xd0], 0xd956db57
mov dword [esp + 0xd4], 0xd567d76c
mov dword [esp + 0xd8], 0xd167d365
mov dword [esp + 0xdc], 0x2d692f74
mov dword [esp + 0xe0], 0x29632b61
mov dword [esp + 0xe4], 0x257b2763
mov dword [esp + 0xe8], 0x2178237e
mov dword [esp + 0xec], 0x3d723f50
mov dword [esp + 0xf0], 0x39773b73
mov dword [esp + 0xf4], 0x35793777
mov dword [esp + 0xf8], 0x318e337b
mov dword [esp + 0xfc], 0xd500f7d
mov dword [esp + 0x100], 0x9420b44
mov dword [esp + 0x104], 0x5760757
mov dword [esp + 0x108], 0x14d0374
mov dword [esp + 0x10c], 0x1d521f70
mov dword [esp + 0x110], 0x19541b42
mov dword [esp + 0x114], 0x155c1747
mov dword [esp + 0x118], 0x115b135e
mov dword [esp + 0x11c], 0x6dca6f5a
mov word [esp + 0x120], 0x6b6c
lea eax, [esp + 0x120]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x880], 0
mov eax, dword [esp + 0x880]
cmp eax, 0xa4
ja 0x41ff8d
nop
nop
nop
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
movzx ecx, byte [esp + ecx + 0x80]
lea edx, [eax + ecx]
add edx, 0xc57f9223
add eax, 0xc57f9223
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xa80], edx
mov eax, dword [esp + 0xa80]
add al, 0x51
mov ecx, dword [esp + 0x880]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 0x880]
mov eax, dword [esp + 0x880]
cmp eax, 0xa5
jb 0x41ff30
lea eax, [esp + 0xfc6]
lea edx, [esp + 0x80]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x120]
lea edi, [esp + 0x1066]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x80], 0xb75f897d
mov dword [esp + 0x84], 0xb32cb55b
mov dword [esp + 0x88], 0xbf21b123
mov dword [esp + 0x8c], 0xbb50bd2f
mov dword [esp + 0x90], 0xa742b924
mov dword [esp + 0x94], 0xa348a557
mov dword [esp + 0x98], 0xaf47a14a
mov dword [esp + 0x9c], 0xab47ad43
mov dword [esp + 0xa0], 0x5787a94c
mov dword [esp + 0xa4], 0x53805589
mov dword [esp + 0xa8], 0x5fba5180
mov dword [esp + 0xac], 0x5bc75daf
mov dword [esp + 0xb0], 0x47d259c4
mov dword [esp + 0xb4], 0x43d145d7
mov dword [esp + 0xb8], 0x4faa41d7
mov dword [esp + 0xbc], 0x4bd44dbc
mov dword [esp + 0xc0], 0x779c49db
mov dword [esp + 0xc4], 0x73e6759d
mov dword [esp + 0xc8], 0x7fe1719d
mov dword [esp + 0xcc], 0x7b897d98
mov dword [esp + 0xd0], 0x67fa79e5
mov dword [esp + 0xd4], 0x63f165f0
mov dword [esp + 0xd8], 0x6ff961f3
mov dword [esp + 0xdc], 0x6bb36d88
mov dword [esp + 0xe0], 0x17cd69b7
mov dword [esp + 0xe4], 0x13dd15c9
mov dword [esp + 0xe8], 0x1fd411da
mov dword [esp + 0xec], 0x1bc61dcc
mov dword [esp + 0xf0], 0x7d919c9
mov dword [esp + 0xf4], 0x3d305d5
mov dword [esp + 0xf8], 0xfe201d1
mov dword [esp + 0xfc], 0xbc40dd3
mov dword [esp + 0x100], 0x37ee09d0
mov dword [esp + 0x104], 0x33e235f5
mov dword [esp + 0x108], 0x3fef31e0
mov dword [esp + 0x10c], 0x3be63dec
mov dword [esp + 0x110], 0x27f839f6
mov dword [esp + 0x114], 0x23f825e5
mov dword [esp + 0x118], 0x2ff521fa
mov dword [esp + 0x11c], 0x2bce2df6
mov word [esp + 0x120], 0x2928
mov dword [esp + 0x122], 0
mov dword [esp + 0x880], 0
mov ecx, dword [esp + 0x880]
cmp ecx, 0xa5
ja 0x420219
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x880]
mov edx, dword [esp + 0x880]
movzx edx, byte [esp + edx + 0x80]
lea esi, [ecx + edx]
add ecx, 0x5e
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xfbcba5e
mov dword [esp + 0xa80], esi
mov ecx, dword [esp + 0xa80]
mov edx, ecx
xor edx, 0xd6
and ecx, 0x29
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0x880]
mov byte [esp + edx + 0x80], cl
inc dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
cmp ecx, 0xa6
jb 0x4201b0
lea edx, [esp + 0xf24]
lea esi, [esp + 0x80]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x120]
lea edi, [esp + 0xfc4]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe82]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446d50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x880], 0x787b7a05
mov dword [esp + 0xa80], 0
mov ecx, dword [esp + 0xa80]
cmp ecx, 3
ja 0x42030c
mov esi, dword [esp + 0xa80]
mov ecx, dword [esp + 0xa80]
movzx edi, byte [esp + ecx + 0x880]
lea ecx, [esi + 0xbf]
lea edx, [esi + edi]
add edx, 0x38b37bbf
add esi, edi
and ecx, edi
mov edi, 0x40
sub edi, esi
and edi, ecx
add edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x80]
add cl, 0x45
mov edx, dword [esp + 0xa80]
mov byte [esp + edx + 0x880], cl
inc dword [esp + 0xa80]
mov ecx, dword [esp + 0xa80]
cmp ecx, 4
jb 0x4202a0
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x420a9c
mov edx, dword [esp + 0x880]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x420a94
inc esi
cmp ecx, esi
jne 0x420330
jmp 0x420a9c
mov ecx, dword [esp + 0x58]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446d50]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + ecx + 0x6c]
mov dword [esp + 0x80], 0xe9baebb4
mov dword [esp + 0x84], 0xedbeefb8
mov dword [esp + 0x88], 0xd182d3bc
mov dword [esp + 0x8c], 0xd56ed780
mov word [esp + 0x90], 0xdbd4
lea ecx, [esp + 0x120]
mov byte [ecx - 0x8c], 0
mov word [ecx - 0x8e], 0
mov dword [esp + 0x880], 0
mov ecx, dword [esp + 0x880]
cmp ecx, 0x14
ja 0x420447
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x880]
mov edx, dword [esp + 0x880]
movzx edx, byte [esp + edx + 0x80]
lea esi, [ecx + edx]
add esi, 0x6258abd7
add ecx, 0x6258abd7
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xa80], ecx
mov ecx, dword [esp + 0xa80]
add cl, 0xcd
mov edx, dword [esp + 0x880]
mov byte [esp + edx + 0x80], cl
inc dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
cmp ecx, 0x15
jb 0x4203e0
movzx ecx, word [eax]
lea esi, [esp + 0x880]
test cx, cx
je 0x420471
add eax, 2
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x420460
mov word [esi], 0
movzx eax, word [esp + 0x80]
test ax, ax
je 0x4204a1
lea ecx, [esp + 0x82]
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420490
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x44], esi
jmp dword [eax*4 + 0x446d58]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x446d58]
mov word [esi - 2], di
lea eax, [esp + 0x50]
lea ecx, [esp + 0x880]
push dword [esp + 0x54]
push 0
push 0x20019
push eax
push ecx
call fcn.0043f6c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d60]
mov dword [esp + 0x5c], 0x800
mov dword [esp + 0x48], edi
mov dword [esp + 0x18], 0x400
xor ebx, ebx
mov dword [esp + 0x14], 0
jmp 0x42053b
mov eax, ebx
xor eax, 1
and ebx, 1
lea ebx, [eax + ebx*2]
lea eax, [esp + 0x18]
lea edi, [esp + 0xa80]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x90]
push eax
push ebx
push dword [esp + 0x68]
call fcn.0043fde0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d68]
test byte [esp + 0x14], 1
sete al
cmp dword [esp + 0x1c], 1
sete cl
and cl, al
movzx eax, cl
mov dword [esp + 8], ebx
jmp dword [eax*4 + 0x446d70]
xor eax, eax
cmp dword [esp + 0x1c], 3
sete al
jmp dword [eax*4 + 0x446d80]
mov dword [esp + 0x24], 0xf311f131
mov dword [esp + 0x28], 0xef79ed0f
mov dword [esp + 0x2c], 0xeb7ce965
mov dword [esp + 0x30], 0xe7e6e568
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x420624
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx edx, byte [esp + eax + 0x24]
add ecx, 0x4c9a52ac
mov eax, ecx
and eax, edx
xor ecx, edx
sub ecx, eax
lea ecx, [ecx + eax*2]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xa4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x4205e0
movzx ebx, word [esp + 0x24]
lea eax, [esp + 0x80]
test bx, bx
je 0x42067c
lea ecx, [esp + 0x80]
lea edx, [esp + 0x24]
mov eax, ecx
jmp 0x420658
movzx ebx, word [edx]
test bx, bx
je 0x42067c
movzx esi, word [ecx]
test si, si
je 0x42067a
add ecx, 2
add edx, 2
lea ebp, [eax + 2]
cmp si, bx
je 0x420672
mov eax, ebp
mov ecx, ebp
je 0x420650
lea edx, [esp + 0x24]
jmp 0x420650
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446d78]
xor eax, eax
cmp dword [esp + 0x1c], 3
sete al
mov ebx, dword [esp + 8]
jmp dword [eax*4 + 0x446d80]
mov dword [esp + 0x24], 0x61c567d4
mov dword [esp + 0x28], 0x5def63ed
mov dword [esp + 0x2c], 0x59cf5fd5
mov dword [esp + 0x30], 0x55c65bca
mov word [esp + 0x34], 0x5754
lea eax, [esp + 0x36]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x42072a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x24]
lea edx, [eax - 0xbb16167]
and edx, ecx
add eax, ecx
add eax, 0xf44e9e99
add edx, edx
sub eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 3
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x4206f0
movzx esi, word [esp + 0x24]
mov eax, dword [case.0x420a8d.14]
mov dword [esp + 0x10], eax
jmp case.0x420a8d.12
lea ebp, [esp + 0x80]
jmp dword [esp + 0x10]
test si, si
je 0x420740
lea edx, [esp + 0x80]
lea ebx, [esp + 0x24]
mov eax, esi
mov ebp, edx
jmp 0x420778
movzx eax, word [ebx]
test ax, ax
je 0x4207b0
movzx ecx, word [edx]
test cx, cx
je 0x4207a0
add edx, 2
add ebx, 2
lea edi, [ebp + 2]
cmp cx, ax
je 0x420792
mov ebp, edi
mov edx, edi
je 0x420770
lea ebx, [esp + 0x24]
jmp 0x420770
xor ebp, ebp
jmp dword [esp + 0x10]
jmp dword [esp + 0x10]
xor eax, eax
test ebp, ebp
setne al
mov ebp, dword [esp + 4]
jmp dword [eax*4 + 0x446d98]
mov ebx, dword [esp + 8]
jmp case.0x420a8d.10
mov eax, dword [esp + 0x18]
cmp eax, 2
mov ebx, dword [esp + 8]
jae 0x4208bf
mov ebp, dword [esp + 4]
jmp 0x420973
mov eax, dword [esp + 0x18]
cmp eax, 2
mov ebx, dword [esp + 8]
jb 0x4208a7
shr eax, 1
lea esi, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xa80]
and edi, 3
je 0x420844
mov dword [esp + 0x10], esi
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [ebp], si
add ebp, 2
inc ebx
cmp edi, ebx
jne 0x420820
sub eax, ebx
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x10]
cmp esi, 3
jb 0x4208a7
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea ecx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x420850
mov ebx, dword [esp + 8]
mov word [ebp], 0xa
add ebp, 2
mov dword [esp + 4], ebp
mov al, 1
mov dword [esp + 0x4c], eax
jmp case.0x420a8d.10
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x420908
mov dword [esp + 0x10], ecx
xor ebx, ebx
lea edi, [esp + 0xa80]
mov ebp, dword [esp + 4]
nop
nop
nop
nop
movzx esi, word [edi]
xor ecx, ecx
test si, si
setne cl
lea edi, [edi + ecx*2]
mov word [ebp], si
add ebp, 2
inc ebx
cmp edx, ebx
jne 0x4208e0
mov dword [esp + 4], ebp
sub eax, ebx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x10]
cmp ecx, 3
mov ebp, dword [esp + 4]
jb 0x420973
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x420920
mov word [ebp], 0x3a
mov word [ebp + 2], 0x20
add ebp, 4
mov dword [esp + 4], ebp
mov al, 1
mov dword [esp + 0x14], eax
jmp case.0x420a8d.10
mov eax, dword [esp + 0x50]
mov dword [esp], 0x787b7a05
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 3
ja 0x420a0f
nop
nop
nop
nop
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx edi, byte [esp + ecx]
lea ecx, [esi + 0xbf]
lea edx, [esi + edi]
add edx, 0x38b37bbf
add esi, edi
and ecx, edi
mov edi, 0x40
sub edi, esi
and edi, ecx
add edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add cl, 0x45
mov edx, dword [esp + 0xc]
mov byte [esp + edx], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jb 0x4209c0
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x420a50
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x420a40
inc esi
cmp ecx, esi
jne 0x420a30
jmp 0x420a50
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x420a62
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x48]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x44]
jmp dword [eax*4 + 0x446d58]
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
mov edi, dword [esp + 0x48]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x44]
jmp dword [eax*4 + 0x446d58]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x420aaa
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp dword [0x446db0]
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
jmp dword [0x446db0]
mov word [edx], 0
mov ebx, dword [esp + 0x4c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446d38]
movzx ecx, word [esp + 0x11f0]
xor ebp, ebp
test cx, cx
je 0x420b38
lea eax, [esp + 0x11f0]
jmp 0x420b12
add ebp, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 4]
je 0x420b38
cmp eax, edx
jae 0x420b38
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x420b00
mov edx, ecx
jmp 0x420b00
lea eax, [ebp + 1]
mov dword [esp + 8], eax
push eax
mov esi, edx
call fcn.004084d0
add esp, 4
mov edi, eax
lea eax, [esp + 0x11f0]
cmp eax, esi
setb al
mov dword [esp + 0x14], edi
test ebp, ebp
jle 0x420c37
mov edi, dword [esp + 0x14]
test al, al
je 0x420c37
mov edi, dword [esp + 0x14]
lea eax, [edi + ebp]
mov dword [esp + 0x10], eax
add dword [esp + 8], edi
lea edx, [esp + 0x11f2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [edx - 2]
test bx, bx
je 0x420c37
cmp bx, 0x7f
ja 0x420bb0
mov byte [edi], bl
mov esi, 1
jmp 0x420c20
mov eax, edi
not eax
add eax, dword [esp + 8]
movzx ecx, bx
cmp eax, 2
jb 0x420bf0
cmp ecx, 0x7ff
ja 0x420bf0
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov esi, 2
jmp 0x420c20
xor esi, esi
cmp eax, 3
jb 0x420c20
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov esi, 3
nop
nop
nop
nop
nop
nop
add edi, esi
cmp edi, dword [esp + 0x10]
jae 0x420c37
lea eax, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, eax
jb 0x420b90
mov byte [edi], 0
mov dword [esp + 0x80], 0x6f727141
mov dword [esp + 0x84], 0x7367666d
mov dword [esp + 0x88], 0x78646661
mov dword [esp + 0x8c], 0x7b7b4223
mov dword [esp + 0x90], 0x787d7e7c
mov dword [esp + 0x94], 0x7864453b
mov dword [esp + 0x98], 0x7e76707e
mov dword [esp + 0x9c], 0x676a336f
mov word [esp + 0xa0], 0x2154
mov dword [esp + 0xa2], 0
mov byte [esp + 0xa6], 0
mov dword [esp + 0x880], 0
mov eax, dword [esp + 0x880]
cmp eax, 0x26
mov edi, dword [esp + 0x14]
ja 0x420d30
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x880]
movzx ecx, byte [esp + ecx + 0x80]
mov edx, eax
and edx, 0xffc36700
mov esi, eax
xor esi, 0x7fc36700
and eax, ecx
lea edx, [esi + edx*2]
add edx, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xa80], edx
mov eax, dword [esp + 0xa80]
mov ecx, dword [esp + 0x880]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 0x880]
mov eax, dword [esp + 0x880]
cmp eax, 0x27
jb 0x420cd0
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x2204]
push ebp
push edi
push eax
call fcn.00409010
mov ebx, eax
jmp dword [0x446db8]
push edi
call fcn.004084e0
add esp, 4
and bl, 1
mov eax, ebx
add esp, 0x21f0
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov esi, dword [esp + 8]
cmp ebp, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x4473f4]
movzx ecx, word [esi]
test cx, cx
je 0x421ad0
mov eax, esi
xor esi, esi
jmp 0x4219be
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x4473ec]
jmp dword [ecx*4 + 0x44736c]
jmp dword [0x447374]
mov word [ebp], 0
mov eax, ebp
mov edi, dword [esp + 8]
xor eax, edi
not edi
and edi, ebp
mov ecx, edi
and ecx, 0xfffffffd
mov edx, edi
and edx, 2
or edi, 2
imul edi, edx
xor edx, 2
imul edx, ecx
sub edi, eax
add edi, edx
sar edi, 1
jmp dword [0x4473cc]
mov dword [esp + 0x50], 0x1f481944
mov dword [esp + 0x54], 0x63291d59
mov dword [esp + 0x58], 0x67316129
mov dword [esp + 0x5c], 0x6b3c6530
mov dword [esp + 0x60], 0x6f326931
mov dword [esp + 0x64], 0x73336d21
mov dword [esp + 0x68], 0x773e7137
mov dword [esp + 0x6c], 0x7b28753d
mov dword [esp + 0x70], 0x7f22793d
mov dword [esp + 0x74], 0x43117d2b
mov dword [esp + 0x78], 0x4712410a
mov dword [esp + 0x7c], 0x4b0b451f
mov dword [esp + 0x80], 0x4f0b491e
mov dword [esp + 0x84], 0x531f4d10
mov dword [esp + 0x88], 0x57f151f9
mov dword [esp + 0x8c], 0x5be955e2
mov dword [esp + 0x90], 0x5fed59ef
mov dword [esp + 0x94], 0xa3165df6
mov dword [esp + 0x98], 0xa7fda1fc
mov dword [esp + 0x9c], 0xab18a50d
mov dword [esp + 0xa0], 0xaf1da90c
mov dword [esp + 0xa4], 0xb305ad17
mov dword [esp + 0xa8], 0xb7f1b1ec
mov dword [esp + 0xac], 0xbb0cb501
mov dword [esp + 0xb0], 0xbf1bb90e
mov dword [esp + 0xb4], 0x8336bd0e
mov dword [esp + 0xb8], 0x872381da
mov dword [esp + 0xbc], 0x8b3d8532
mov dword [esp + 0xc0], 0x8f3d8921
mov dword [esp + 0xc4], 0x93ce8d3e
mov dword [esp + 0xc8], 0x972491c5
mov dword [esp + 0xcc], 0x9b28953d
mov dword [esp + 0xd0], 0x9f2a992f
mov dword [esp + 0xd4], 0xe34e9d3d
mov dword [esp + 0xd8], 0xe7e6e14c
mov byte [esp + 0xdc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x8c
ja 0x4212fd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
lea edx, [eax + ecx]
add eax, 0xba
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x4667abba
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
add al, 0x5e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x8d
jb 0x4212c0
lea eax, [esp + 0xc]
lea ecx, [esp + 0x50]
push 0
push 0
push esi
push eax
push ecx
call fcn.0043f6c0
add esp, 0x14
jmp dword [0x447380]
mov dword [esp + 0x50], 0x1f481944
mov dword [esp + 0x54], 0x63291d59
mov dword [esp + 0x58], 0x67316129
mov dword [esp + 0x5c], 0x6b3c6530
mov dword [esp + 0x60], 0x6f326931
mov dword [esp + 0x64], 0x73336d21
mov dword [esp + 0x68], 0x773e7137
mov dword [esp + 0x6c], 0x7b28753d
mov dword [esp + 0x70], 0x7f22793d
mov dword [esp + 0x74], 0x43117d2b
mov dword [esp + 0x78], 0x4712410a
mov dword [esp + 0x7c], 0x4b0b451f
mov dword [esp + 0x80], 0x4f0b491e
mov dword [esp + 0x84], 0x531f4d10
mov dword [esp + 0x88], 0x57f151f9
mov dword [esp + 0x8c], 0x5be955e2
mov dword [esp + 0x90], 0x5fed59ef
mov dword [esp + 0x94], 0xa3165df6
mov dword [esp + 0x98], 0xa7fda1fc
mov dword [esp + 0x9c], 0xab18a50d
mov dword [esp + 0xa0], 0xaf1da90c
mov dword [esp + 0xa4], 0xb305ad17
mov dword [esp + 0xa8], 0xb7f1b1ec
mov dword [esp + 0xac], 0xbb0cb501
mov dword [esp + 0xb0], 0xbf1bb90e
mov dword [esp + 0xb4], 0x8336bd0e
mov dword [esp + 0xb8], 0x872381da
mov dword [esp + 0xbc], 0x8b3d8532
mov dword [esp + 0xc0], 0x8f3d8921
mov dword [esp + 0xc4], 0x93ce8d3e
mov dword [esp + 0xc8], 0x972491c5
mov dword [esp + 0xcc], 0x9b28953d
mov dword [esp + 0xd0], 0x9f2a992f
mov dword [esp + 0xd4], 0xe34e9d3d
mov dword [esp + 0xd8], 0xe7e6e14c
mov byte [esp + 0xdc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x8c
ja 0x4214cd
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
lea edx, [eax + ecx]
add eax, 0xba
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x4667abba
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
add al, 0x5e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x8d
jb 0x421490
lea eax, [esp + 0xc]
lea ecx, [esp + 0x50]
push 0
push 0
push esi
push eax
push ecx
call fcn.0043f6c0
add esp, 0x14
jmp case.0x420a8d.29
shr eax, 0x1f
jmp dword [eax*4 + 0x447384]
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x10]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x2c]
call fcn.0043fb00
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44738c]
jmp dword [0x4473cc]
mov eax, 4
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4473e4]
mov eax, dword [esp + 0x10]
mov ecx, eax
shl ecx, 9
lea eax, [ecx + eax*8]
add eax, edi
push eax
push dword [esp + 0xc]
call fcn.0043ca00
add esp, 8
mov dword [esp + 8], eax
lea ebp, [eax + edi*2]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x447394]
mov eax, esi
and eax, 1
xor esi, 1
lea esi, [esi + eax*2]
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x447394]
mov ebx, dword [esp + 0x4c]
mov eax, ebx
inc eax
jns 0x4215c0
mov eax, 0xffffffff
jmp 0x4215c7
lea eax, [ebx*2 + 2]
push eax
call fcn.004084d0
add esp, 4
mov edi, eax
mov dword [esp + 0x48], ebx
lea eax, [esp + 0x48]
push eax
push edi
push esi
push dword [esp + 0x18]
call fcn.0043f800
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44739c]
lea eax, [esp + 0x38]
push dword [esp + 0xc]
push 0
push 0x20019
push eax
push edi
call fcn.0043f6c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4473a4]
jmp 0x4217b0
mov dword [esp + 0x44], 0x800
mov dword [esp + 0x14], 0x29452b60
mov dword [esp + 0x18], 0x2dbe2fbd
mov dword [esp + 0x1c], 0x51355340
mov dword [esp + 0x20], 0x552457cf
mov dword [esp + 0x24], 0x59c95b33
mov dword [esp + 0x28], 0x5d5e5f33
mov word [esp + 0x2c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x19
ja 0x4216b4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x14]
lea edx, [eax - 0x4e0753c9]
lea ebx, [eax + ecx]
add ebx, 0xb1f8ac37
add eax, 0x37
or eax, edx
and eax, ecx
add eax, eax
sub ebx, eax
mov dword [esp], ebx
mov eax, dword [esp]
add al, 0xed
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1a
jb case.default.0x4216d6
lea eax, [esp + 0x44]
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x54]
push eax
push 0
push ecx
push dword [esp + 0x48]
call fcn.00440100
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4473ac]
jmp 0x42170b
movzx eax, word [esp + 0x50]
test ax, ax
je 0x421702
lea ecx, [esp + 0x52]
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4216f0
mov word [ebp], 0xa
add ebp, 2
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 4], 0x787b7a05
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x42175e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 4]
add eax, 0x38b37bbf
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x45
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x421730
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x4217b0
mov edx, dword [esp + 4]
xor ebx, ebx
mov eax, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebx*8], 0x625b6034
je 0x421790
inc ebx
cmp ecx, ebx
jne 0x421780
jmp 0x4217b0
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edx
je 0x4217b0
push dword [esp + 0x30]
push 1
push dword [0x44bc54]
push eax
call fcn.0043cad0
add esp, 0x10
nop
nop
nop
mov eax, dword [case.0x4216d6.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4473c4]
push edi
call fcn.004084e0
add esp, 4
mov eax, esi
and eax, 1
xor esi, 1
lea esi, [esi + eax*2]
xor eax, eax
cmp esi, dword [esp + 0x10]
setb al
jmp dword [eax*4 + 0x447394]
cmp dword [esp + 4], 1
sete cl
and al, cl
movzx eax, al
jmp dword [eax*4 + 0x4473dc]
xor eax, eax
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4473e4]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4473e4]
mov eax, dword [esp + 0xc]
mov dword [esp], 0x787b7a05
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 3
ja 0x421893
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x50]
add cl, 0x45
mov edx, dword [esp + 0x14]
mov byte [esp + edx], cl
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, 4
jb 0x421860
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x4218e0
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x4218c0
inc esi
cmp ecx, esi
jne 0x4218b0
jmp 0x4218e0
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je 0x4218e0
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
nop
nop
nop
nop
nop
nop
lea eax, [esp + 4]
push eax
call fcn.0043ed30
add esp, 4
jmp dword [0x4473d4]
mov eax, dword [esp + 0xc]
mov dword [esp], 0x787b7a05
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 3
ja 0x421943
nop
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x50]
add cl, 0x45
mov edx, dword [esp + 0x14]
mov byte [esp + edx], cl
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, 4
jb 0x421910
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x421990
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x421970
inc esi
cmp ecx, esi
jne 0x421960
jmp 0x421990
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je 0x421990
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
nop
nop
nop
nop
nop
nop
lea eax, [esp + 4]
push eax
call fcn.0043ed30
add esp, 4
jmp case.0x4216d6.8
add esi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x4219e8
test ebp, ebp
je 0x4219c6
cmp eax, ebp
jae 0x4219e8
movzx edi, cx
cmp edi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp edi, 0x80
jb 0x4219b0
mov edx, ecx
jmp 0x4219b0
lea edi, [esi + 1]
push edi
call fcn.004084d0
add esp, 4
test esi, esi
mov dword [esp + 0x34], eax
jle 0x421ae4
lea ecx, [eax + esi]
mov dword [esp + 0x30], ecx
add edi, eax
mov dword [esp + 0x40], edi
mov edx, dword [esp + 8]
mov edi, eax
jmp 0x421a36
mov byte [edi], bl
mov ecx, 1
add edi, ecx
add edx, 2
cmp edi, dword [esp + 0x30]
jae 0x421ae6
test ebp, ebp
je 0x421a42
cmp edx, ebp
jae 0x421ae6
movzx ebx, word [edx]
test bx, bx
je 0x421ae6
cmp bx, 0x7f
jbe 0x421a20
mov eax, edi
not eax
add eax, dword [esp + 0x40]
movzx ecx, bx
cmp eax, 2
jb 0x421a90
cmp ecx, 0x7ff
ja 0x421a90
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ecx, 2
jmp 0x421a27
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp eax, 3
jb 0x421a27
mov ecx, dword [esp + 0x3c]
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
mov eax, ebx
xor eax, 0xc0
or ebx, 0x3f
and ebx, eax
add bl, 0x80
mov byte [edi + 2], bl
mov ecx, 3
jmp 0x421a27
xor esi, esi
push 1
call fcn.004084d0
add esp, 4
mov edi, eax
mov dword [esp + 0x34], eax
jmp 0x421ae6
mov edi, eax
mov ecx, dword [esp + 0x864]
mov byte [edi], 0
mov dword [esp + 0x50], 0x7b4c4a57
mov dword [esp + 0x54], 0x4e7c547f
mov dword [esp + 0x58], 0x43467d82
mov byte [esp + 0x5c], 0xcc
mov dword [esp + 0x5d], 0
mov word [esp + 0x61], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x421b68
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x50]
add eax, 0x66db4dd6
xor eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edx, eax
xor edx, 0x2e
and eax, 0x51
add eax, eax
sub eax, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x421b30
lea eax, [esp + 0x50]
push esi
mov edi, dword [esp + 0x38]
push edi
push eax
call fcn.00409010
mov ebx, eax
mov esi, dword [esp + 8]
jmp dword [0x4473fc]
jmp dword [0x447408]
push esi
call fcn.0043a340
add esp, 4
mov eax, ebx
add esp, 0x850
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call fcn.004084e0
add esp, 4
push edi
call fcn.004084e0
add esp, 4
jmp dword [0x447410]
int3
jmp dword [0x44741c]
add edi, 4
xor eax, eax
cmp edi, ebx
setne al
jmp dword [eax*4 + 0x44744c]
mov esi, dword [edi]
push 0x400
push 0
push ebp
call fcn.00408550
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x38]
push eax
push 0x400
push ebp
push esi
call fcn.0043ab10
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44745c]
mov eax, 1
jmp dword [eax*4 + 0x447464]
xor eax, eax
jmp dword [eax*4 + 0x447464]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je case.0x420a8d.92
mov ecx, ebp
nop
nop
cmp al, 0x2e
je 0x42217f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x422170
jmp case.0x420a8d.92
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x44746c]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 0xc], edx
je 0x4221b1
mov ecx, edx
cmp al, 0x2e
je 0x4221af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4221a0
jmp 0x4221b1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0xc]
jmp dword [eax*4 + 0x447474]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x4221db
cmp eax, 0x2e
jne 0x4221dc
dec ecx
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x18], edx
je 0x4221f3
cmp eax, 0x2e
jne 0x4221f4
dec ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ecx
lea eax, [ecx + 1]
push eax
call fcn.004084d0
add esp, 4
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0xc]
je 0x422300
xor ebp, ebp
xor esi, esi
jmp 0x422235
mov eax, esi
and eax, 4
xor esi, 4
lea esi, [esi + eax*2]
mov ebp, ebx
cmp esi, edx
jae 0x422300
mov edi, dword [esp + 0xc]
movzx eax, byte [edi + esi]
push eax
call fcn.00419560
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi + 1]
push eax
call fcn.00419560
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
lea ebx, [ebp + 1]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], ebp
mov byte [edx + ebp], cl
lea ecx, [esi + 2]
mov edx, dword [esp + 0x18]
cmp ecx, edx
jae 0x422220
mov byte [esp + 7], al
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + ecx]
push eax
call fcn.00419560
mov edx, dword [esp + 0x1c]
add esp, 4
cmp al, 0x40
je 0x422220
mov bh, byte [esp + 7]
shl bh, 4
mov byte [esp + 7], al
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x34]
lea ebx, [edi + 2]
mov ecx, dword [esp + 0x14]
mov byte [ecx + edi + 1], al
lea eax, [esi + 3]
cmp eax, edx
jae 0x422220
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + eax]
push eax
call fcn.00419560
mov edx, dword [esp + 0x1c]
add esp, 4
cmp al, 0x40
movzx ecx, byte [esp + 7]
je 0x422220
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x422220
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov ebx, eax
jmp dword [0x44747c]
push esi
call fcn.004084e0
add esp, 4
push ebx
call fcn.00401af0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea ebp, [esp + 0x54]
jmp dword [ecx*4 + 0x447484]
jmp 0x422419
mov dword [esp + 0x1c], 0x3e0f4f3
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x4223b2
nop
mov edx, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx esi, byte [esp + ecx + 0x1c]
lea ecx, [edx + esi]
add ecx, 0x40184440
add edx, 0x40184440
mov edi, esi
not edi
or edi, edx
lea edx, [esi + edi]
inc edx
sub ecx, edx
mov esi, ecx
xor esi, edx
not edx
and edx, ecx
add edx, edx
sub edx, esi
mov dword [esp], edx
mov ecx, dword [esp]
add cl, 0xc0
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x1c], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x422360
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.004018b0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44748c]
mov edx, dword [esp + 0x10]
jmp 0x4223f3
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x10]
je 0x4223eb
inc eax
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4223e0
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x42240b
lea ecx, [esp + 0x55]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422400
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x10], edx
mov al, 1
mov dword [esp + 0x30], eax
push ebx
call fcn.004020a0
add esp, 4
mov edi, dword [esp + 0x50]
add edi, 4
xor eax, eax
mov ebx, dword [esp + 0x48]
cmp edi, ebx
setne al
jmp dword [eax*4 + 0x44744c]
jmp dword [0x447494]
mov ebx, dword [esp + 0x30]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x447454]
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov dword [esp + 0x54], 0xc7c2c1f1
mov dword [esp + 0x58], 0xc3dfded5
mov dword [esp + 0x5c], 0xc8ccced1
mov dword [esp + 0x60], 0x2a3a16f3
mov dword [esp + 0x64], 0x1ff53421
mov dword [esp + 0x68], 0x3923263b
mov dword [esp + 0x6c], 0x3336ff3b
mov dword [esp + 0x70], 0xd528
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1f
mov ecx, dword [esp + 0x468]
ja case.0x420a8d.108
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
movzx esi, byte [esp + edx + 0x54]
lea edx, [eax + esi]
add eax, 0xf4
and eax, esi
add eax, eax
sub edx, eax
add edx, 0x96bf43f4
mov dword [esp], edx
mov eax, dword [esp]
add al, 0x3c
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x54], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x20
jb 0x4224c0
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
sub esi, edx
lea eax, [esp + 0x54]
push esi
push edx
push eax
call fcn.00409010
mov ebx, eax
jmp dword [0x447494]
push dword [esp + 0x2c]
call fcn.004084e0
add esp, 4
and bl, 1
mov esi, ebx
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test edi, edi
jne 0x42267d
jmp 0x42268a
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44742c]
mov dword [esp + 0x54], 0xdaf3c8dd
mov dword [esp + 0x58], 0xc0caf5d0
mov dword [esp + 0x5c], 0xd4cdd3f1
mov dword [esp + 0x60], 0x1f362e0d
mov dword [esp + 0x64], 0x300b021e
mov dword [esp + 0x68], 0x27040e05
mov dword [esp + 0x6c], 0x2229062a
mov dword [esp + 0x70], 0x3e173c03
mov dword [esp + 0x74], 0x1e000e02
mov dword [esp + 0x78], 0x3613ed01
mov dword [esp + 0x7c], 0xdbea1111
mov byte [esp + 0x80], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x4225ee
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xa840fe74
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xbc
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x4225c0
jmp dword [0x447438]
lea eax, [esp + 0x54]
lea edx, [esp + 0x20]
lea ecx, [esp + 0x38]
push 0
push 0x2b
push eax
push edx
call fcn.0043ac90
nop
nop
nop
nop
nop
lea eax, [esp + 0x20]
lea ecx, [esp + 0x38]
push 0
push 0x2b
push ebp
push eax
call fcn.0043ac90
jmp dword [0x447440]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x447444]
mov eax, ebx
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004084d0
add esp, 4
mov dword [esp + 0x30], 0
xor ecx, ecx
cmp edi, ebx
setne cl
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x48], ebx
jmp dword [ecx*4 + 0x44744c]
xor esi, esi
test edi, edi
je 0x42268a
cmp edi, ebx
je 0x42268a
push edi
call fcn.004084e0
add esp, 4
mov ebx, esi
lea ecx, [esp + 0x38]
call fcn.0043a7d0
mov eax, ebx
add esp, 0x454
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x38]
push 0x410
call fcn.0043a640
lea ecx, [esp + 0x38]
push 0x410
call fcn.0043a640
jmp dword [0x447428]
int3
xor eax, eax
mov edx, dword [esp + 0x10]
test edx, edx
sete al
jmp dword [eax*4 + 0x44750c]
mov ebx, dword [esp + 0xb8]
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x422720
sub eax, edx
cmp eax, 0xffffffd9
jge 0x422aff
mov eax, 0xffffffff
jmp 0x422b02
jmp dword [0x447520]
xor eax, eax
jmp 0x423363
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x447504]
jmp dword [ecx*4 + 0x44749c]
mov dword [esp + 0x30], 0x9fc899c4
mov dword [esp + 0x34], 0xa3e99dd9
mov dword [esp + 0x38], 0xa7f1a1e9
mov dword [esp + 0x3c], 0xabfca5f0
mov dword [esp + 0x40], 0xaff2a9f1
mov dword [esp + 0x44], 0xb3f3ade1
mov dword [esp + 0x48], 0xb7feb1f7
mov dword [esp + 0x4c], 0xbbe8b5fd
mov dword [esp + 0x50], 0xbfe2b9fd
mov dword [esp + 0x54], 0xc391bdeb
mov dword [esp + 0x58], 0xc792c18a
mov dword [esp + 0x5c], 0xcb8bc59f
mov dword [esp + 0x60], 0xcf8bc99e
mov dword [esp + 0x64], 0xd388cd90
mov dword [esp + 0x68], 0xd7bad1b1
mov dword [esp + 0x6c], 0xdbbfd5ae
mov dword [esp + 0x70], 0xdf89d984
mov dword [esp + 0x74], 0xe387dda8
mov dword [esp + 0x78], 0xe78be181
mov word [esp + 0x7c], 0xe5e4
mov byte [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x52
ja 0x42288b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx esi, byte [esp + edx + 0x30]
lea edx, [ecx + esi]
add edx, 0x578bc09a
add ecx, 0x578bc09a
and ecx, esi
mov esi, edx
not esi
and esi, ecx
mov edi, ecx
not edi
and edx, edi
sub edx, esi
xor ecx, edx
and edx, edi
add edx, edx
sub edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 8]
mov edx, ecx
not edx
and edx, 2
and ecx, 0xfd
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x53
jb 0x422830
lea ecx, [esp + 0x20]
lea ebp, [esp + 0x30]
push 0
push 0
push eax
push ecx
push ebp
call fcn.0043f6c0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4474a4]
lea edi, [esp + 0x90]
lea eax, [esp + 0x24]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x40]
call fcn.0043fb00
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4474ac]
mov ecx, dword [esp + 0x90]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x4228f3
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov esi, eax
mov dword [esp + 0x30], 0x79e87bbb
mov dword [esp + 0x34], 0x7dea7fed
mov dword [esp + 0x38], 0x71ee73db
mov dword [esp + 0x3c], 0x75c677ec
mov dword [esp + 0x40], 0x69fe6bd3
mov dword [esp + 0x44], 0x6d6e6ff0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x422981
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
mov edx, eax
and edx, 0xea96203f
xor eax, 0x6a96203f
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xc5
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x422940
push edi
push esi
push 0
push ebp
push dword [esp + 0x30]
call fcn.00440100
add esp, 0x14
shr eax, 0x1f
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x4474b4]
jmp dword [0x4474c8]
mov dword [esp + 0x10], 0
jmp dword [0x4474cc]
push esi
call fcn.004084e0
add esp, 4
nop
nop
nop
mov eax, dword [esp + 0x20]
mov dword [esp], 0x787b7a05
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x422a13
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x45
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x4229e0
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x422a60
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422a54
inc esi
cmp ecx, esi
jne 0x422a30
jmp 0x422a60
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4474f4]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x422a6f
nop
nop
nop
nop
xor ecx, ecx
cmp dword [esp + 0x10], 0
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4474d4]
push ebp
call fcn.0043ed30
add esp, 4
cmp dword [esp + 0x30], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4474dc]
xor eax, eax
jmp 0x422a9c
mov eax, 2
mov ecx, dword [case.0x422af8.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x4474f4]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x4474fc]
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
xor ecx, ecx
cmp dword [esp + 0x10], 0
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x4474d4]
add eax, 0x26
push eax
call fcn.004084d0
add esp, 4
mov ebp, eax
mov dword [esp + 0x30], 0x13711174
mov dword [esp + 0x34], 0x1f881d8b
mov dword [esp + 0x38], 0x1b731976
mov dword [esp + 0x3c], 0x762056b
mov dword [esp + 0x40], 0x3950163
mov dword [esp + 0x44], 0xf600d9a
mov dword [esp + 0x48], 0xb650961
mov dword [esp + 0x4c], 0x37a83562
mov dword [esp + 0x50], 0x335c315c
mov word [esp + 0x54], 0x3d3c
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x422bc5
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax + ecx]
add eax, 0x84
and eax, ecx
sub edx, eax
add edx, 0x1a42cd84
mov ecx, edx
xor ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x6c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x422b80
mov eax, dword [esp + 0x10]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x422bf1
mov eax, dword [esp + 0x10]
lea edx, [eax + 2]
mov eax, ebp
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422be0
mov word [eax], 0
movzx ecx, word [esp + 0x30]
test cx, cx
je 0x422c21
lea edx, [esp + 0x32]
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 0x422c10
mov word [eax], 0
jmp dword [0x447524]
push dword [esp + 0x10]
call fcn.004084e0
add esp, 4
xor eax, eax
cmp word [ebp], 0x5b
sete al
jmp dword [eax*4 + 0x44752c]
xor eax, eax
cmp word [ebp], 0x5b
sete al
jmp dword [eax*4 + 0x44752c]
mov dword [esp + 0x30], 0x13581153
mov dword [esp + 0x34], 0x6fcd6dc8
mov dword [esp + 0x38], 0x6bdc69df
mov dword [esp + 0x3c], 0x67df65da
mov dword [esp + 0x40], 0x63c661df
mov dword [esp + 0x44], 0x7fc97ddf
mov dword [esp + 0x48], 0x7bc479ce
mov dword [esp + 0x4c], 0x77c975cd
mov dword [esp + 0x50], 0x73fc7106
mov dword [esp + 0x54], 0x4ff04df0
mov word [esp + 0x58], 0x4948
mov dword [esp + 0x5a], 0
mov word [esp + 0x5e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x422cfe
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x50f0563c
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xd4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x422cd0
lea eax, [esp + 0x30]
push 0
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043ef50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447534]
xor esi, esi
xor edi, edi
jmp dword [0x447594]
push ebp
call fcn.004084e0
add esp, 4
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44759c]
xor eax, eax
mov ebx, esi
test ebx, ebx
jne 0x423329
jmp 0x423363
lea eax, [esp + 0x24]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043f2b0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x44753c]
mov esi, dword [esp + 0x24]
lea eax, [esi + 1]
push eax
call fcn.004084d0
add esp, 4
push 0
push esi
mov dword [esp + 0x30], eax
push eax
push dword [esp + 0x2c]
call fcn.0043f390
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x447544]
mov dword [esp + 0x8c], ebp
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov byte [edi + esi], 0
push 0x20
call fcn.004084d0
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 + 0x84], eax
mov ecx, eax
push esi
push edi
call fcn.00425a70
movzx eax, al
xor edi, edi
xor edx, edx
jmp dword [eax*4 + 0x44754c]
mov dword [esp + 0x30], 0x1b0c0a37
mov dword [esp + 0x34], 0xe1c341f
mov dword [esp + 0x38], 0x1b2f3b43
mov dword [esp + 0x3c], 0x24591006
mov dword [esp + 0x40], 0x12271404
mov dword [esp + 0x44], 0x1c1d4457
mov dword [esp + 0x48], 0xf3ec0c13
mov word [esp + 0x4c], 0x7df3
mov dword [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x422eae
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x807d9866
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x422e80
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0x84]
push eax
call fcn.00425c60
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x447554]
mov dword [esp + 0x1c], edx
mov ebp, dword [esp + 0x8c]
jmp dword [0x447564]
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.00425dc0
push esi
call fcn.004084e0
add esp, 4
jmp dword [0x44756c]
jmp dword [0x44756c]
push dword [esp + 0x28]
call fcn.004084e0
add esp, 4
mov eax, dword [case.0x422d28.2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebx, ebp
mov ebp, edi
mov eax, dword [esp + 0x20]
mov dword [esp], 0x787b7a05
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x422f83
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x45
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x422f50
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x422fbc
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422fb0
inc esi
cmp ecx, esi
jne 0x422fa0
jmp 0x422fbc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423945
mov edi, ebp
mov esi, dword [esp + 0x1c]
mov ebp, ebx
mov ebx, dword [esp + 0xb8]
jmp dword [0x447594]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44759c]
mov eax, edi
mov dword [esp + 0x1c], esi
sub eax, esi
sar eax, 3
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.004084d0
add esp, 4
mov ebp, eax
mov eax, dword [0x44bc48]
mov dword [esp + 0x30], 0x91229f7b
mov dword [esp + 0x34], 0x95379301
mov dword [esp + 0x38], 0x890a9737
mov dword [esp + 0x3c], 0x8d1a8b4b
mov dword [esp + 0x40], 0x814a8f1c
mov dword [esp + 0x44], 0x85168323
mov dword [esp + 0x48], 0x79618727
mov dword [esp + 0x4c], 0x7dcf7bd4
mov dword [esp + 0x50], 0x71d97fe8
mov dword [esp + 0x54], 0x75ed73d3
mov dword [esp + 0x58], 0x69ea77d8
mov dword [esp + 0x5c], 0x6dcf6bf9
mov dword [esp + 0x60], 0x61f26fcf
mov dword [esp + 0x64], 0x65f463be
mov dword [esp + 0x68], 0x59c067c0
mov dword [esp + 0x6c], 0x5b58
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x4230e9
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
lea esi, [ecx + 0x65]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0x59573265
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 7
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x4230b0
lea ecx, [esp + 0x30]
lea edx, [esp + 0x20]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x20]
test esi, esi
jns 0x42310c
mov eax, 0xffffffff
jmp 0x42310f
lea eax, [esi + esi]
mov dword [esp + 0x10], edi
push eax
call fcn.004084d0
add esp, 4
mov edi, eax
mov eax, dword [0x44bc48]
mov dword [esp + 0x30], 0x34e0125
mov dword [esp + 0x34], 0x765056b
mov dword [esp + 0x38], 0xb660969
mov dword [esp + 0x3c], 0xf7e0d4d
mov dword [esp + 0x40], 0x13561160
mov dword [esp + 0x44], 0x17621575
mov dword [esp + 0x48], 0x1b3f1979
mov dword [esp + 0x4c], 0x1f4d1d40
mov dword [esp + 0x50], 0x23472154
mov dword [esp + 0x54], 0x274b2545
mov dword [esp + 0x58], 0x2b462974
mov dword [esp + 0x5c], 0x2f4d2d43
mov dword [esp + 0x60], 0x335e3151
mov dword [esp + 0x64], 0x3740351a
mov dword [esp + 0x68], 0x3b5c395c
mov dword [esp + 0x6c], 0x3d3c
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x4231f0
nop
nop
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 + 0x30]
add ecx, 0x4f8ac480
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x80
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x4231c0
lea ecx, [esp + 0x20]
push ecx
push esi
push edi
push 0x1e
lea ecx, [esp + 0x40]
push ecx
push 0
call eax
lea eax, [esp + 0x24]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xa8], edi
push edi
call fcn.0043ef50
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebp
jmp dword [eax*4 + 0x4475a4]
jmp dword [0x44769c]
push dword [esp + 0x98]
call fcn.004084e0
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov edi, dword [esp + 0x10]
jmp dword [ecx*4 + 0x4476b4]
mov edx, dword [esp + 0x14]
mov byte [edx], 0
mov dword [esp + 0x30], 0xdd9e9f4f
mov dword [esp + 0x34], 0xe1d1d6db
mov dword [esp + 0x38], 0xecd8e6df
mov dword [esp + 0x3c], 0xdaeece29
mov dword [esp + 0x40], 0xd52fd0df
mov dword [esp + 0x44], 0xcbc5cef1
mov dword [esp + 0x48], 0xf1f209f1
mov word [esp + 0x4c], 0x6bfc
mov dword [esp + 0x4e], 0
mov word [esp + 0x52], 0
sub edx, ebp
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x4232fe
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x6bfc2f3d
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xcf
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x4232d0
mov ecx, ebx
push edx
push ebp
lea eax, [esp + 0x38]
push eax
call fcn.00409010
jmp dword [0x4476bc]
push ebp
mov esi, eax
call fcn.004084e0
mov eax, esi
add esp, 4
and al, 1
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x423363
cmp ebx, edi
je 0x423363
mov ebp, eax
mov esi, ebx
jmp 0x423347
add esi, 8
cmp esi, edi
je 0x423358
mov eax, dword [esi]
test eax, eax
je 0x423340
push eax
call fcn.004084e0
add esp, 4
jmp 0x423340
push ebx
call fcn.004084e0
add esp, 4
mov eax, ebp
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x2c]
call fcn.0043f2b0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebp
jmp dword [eax*4 + 0x4475ac]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.004084d0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x30]
call fcn.0043f390
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x84], edi
jmp dword [eax*4 + 0x4475b4]
mov esi, dword [esp + 0x90]
mov byte [edi + esi], 0
push 0x20
call fcn.004084d0
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 + 0x9c], eax
mov ecx, eax
push esi
push edi
call fcn.00425a70
movzx eax, al
mov dword [esp + 0x18], 0
mov dword [esp + 0x94], ebp
mov dword [esp + 0x14], ebp
jmp dword [eax*4 + 0x4475bc]
mov dword [esp + 0x30], 0x5380e29
mov dword [esp + 0x34], 0x32003019
mov dword [esp + 0x38], 0x153521c5
mov dword [esp + 0x3c], 0x38db2c1e
mov dword [esp + 0x40], 0x1e2d2818
mov dword [esp + 0x44], 0x1b13c6d1
mov dword [esp + 0x48], 0x6d23201a
mov dword [esp + 0x4c], 0x655f58bd
mov word [esp + 0x50], 0xff5b
mov dword [esp + 0x52], 0
mov byte [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
mov ecx, dword [esp + 0x9c]
ja 0x4234fb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx esi, byte [esp + edx + 0x30]
lea edx, [eax + esi]
add eax, 0xa5
and eax, esi
add eax, eax
sub edx, eax
add edx, 0xa4381ba5
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0xc7
mov edx, dword [esp]
mov byte [esp + edx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x4234c0
lea eax, [esp + 0x30]
push eax
call fcn.00425c60
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x94]
mov dword [esp + 0x14], edx
jmp dword [ecx*4 + 0x4475c4]
jmp dword [0x4475d8]
add eax, 8
mov dword [esp + 0x18], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x4475dc]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4475dc]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov ebp, 0
jne case.default.0x423592
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x2c], eax
test eax, eax
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4475f4]
mov dword [esp + 0x28], edx
mov eax, ebp
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x4235d2
sub ecx, ebp
inc ecx
shr ecx, 1
mov dword [esp + 0xa0], ecx
lea eax, [ecx + 1]
push eax
call fcn.004084d0
add esp, 4
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x8c], eax
jmp dword [ecx*4 + 0x4475fc]
inc ebp
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x4475fc]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x423603
mov ecx, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x42361e
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebp + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x447604]
lea edi, [edx - 0x30]
cmp edi, 0xa
jb 0x423632
mov edi, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x423658
add edx, 0xffffffa9
mov edi, edx
shl ecx, 4
or ecx, edi
add ebp, 2
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x4475fc]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x38]
call fcn.00425e60
add esp, 0x10
mov dword [esp + 0x2c], eax
mov ecx, dword [case.0x42351f.23]
mov dword [esp + 0x88], 0
mov ebp, dword [case.0x42351f.24]
xor ebx, ebx
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
setne bl
jmp dword [ebx*4 + 0x44760c]
mov ebx, dword [edi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov esi, ebx
shr esi, 0x1c
shl ebx, 4
or ebx, 1
xor esi, edx
xor ebx, dword [esp + 0x2c]
xor eax, eax
or ebx, esi
sete al
mov ebx, 1
jmp dword [eax*4 + 0x447624]
mov eax, dword [edi]
mov dword [esp + 0x88], eax
nop
xor ebx, ebx
jmp ebp
jmp dword [ebx*4 + 0x44763c]
add edi, 8
xor ebx, ebx
cmp edi, dword [esp + 0x10]
setne bl
jmp dword [ebx*4 + 0x44760c]
xor eax, eax
mov esi, dword [esp + 0x88]
test esi, esi
setne al
jmp dword [eax*4 + 0x447644]
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x28]
jmp dword [0x447654]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x34], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0x84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4237b2
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44bc58]
call fcn.0043e490
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x48]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44764c]
mov edx, dword [esp + 0x28]
jmp dword [0x447654]
movzx eax, byte [esi]
test al, al
je 0x4237dd
inc esi
mov ecx, dword [esp + 0x14]
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4237d0
jmp 0x4237e1
mov ecx, dword [esp + 0x14]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x42381b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x42381f
xor edi, edi
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x423800
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x423821
mov edi, eax
jmp 0x423869
mov edx, esi
cmp esi, 4
jb 0x423869
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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 0x423830
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x14], edi
push 0xe050b307
push dword [0x44bc40]
call fcn.0043e490
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x28]
jmp dword [0x447654]
push dword [esp + 0x8c]
call fcn.004084e0
mov edx, dword [esp + 0x2c]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4475dc]
jmp dword [0x4475f0]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x94]
jmp dword [0x44765c]
mov esi, dword [esp + 0x9c]
jmp dword [0x447668]
mov ecx, esi
call fcn.00425dc0
nop
nop
mov ecx, esi
call fcn.00425dc0
jmp dword [0x447670]
push esi
call fcn.004084e0
add esp, 4
jmp dword [0x447674]
mov eax, dword [esp + 0x18]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov edi, dword [esp + 0x10]
jmp dword [ecx*4 + 0x4476b4]
jmp dword [0x4476bc]
jmp dword [0x447674]
jmp dword [0x44767c]
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
mov edi, ebp
mov esi, dword [esp + 0x1c]
mov ebp, ebx
mov ebx, dword [esp + 0xb8]
jmp dword [0x447594]
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edi, edi
mov dword [esp + 0x18], 0
xor edx, edx
jmp dword [eax*4 + 0x44755c]
not eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov dword [edx + esi + 4], eax
add edi, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, edx
jmp dword [eax*4 + 0x44755c]
mov ebp, dword [ecx]
mov eax, edi
sub eax, esi
mov edx, dword [esp + 0x18]
cmp edi, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
je 0x4239d4
mov ebx, esi
jmp 0x423a46
sar eax, 3
inc eax
mov ecx, edx
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x4239eb
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.004084d0
add esp, 4
mov ebx, eax
test esi, esi
je 0x423a3b
mov edx, dword [esp + 0x18]
cmp esi, edx
je 0x423a32
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 0x423a10
push esi
call fcn.004084e0
add esp, 4
lea edx, [ebx + edi*8]
mov edi, ebx
mov eax, dword [esp + 0x2c]
add edi, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edi
mov dword [ebx + eax], 0
mov dword [esp + 0x1c], ebx
mov dword [ebx + eax + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x423a70
lea edi, [ebx + 1]
push edi
mov dword [esp + 0x8c], edi
call fcn.004084d0
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov dword [eax + ecx], edx
mov eax, edx
mov ecx, edi
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x88]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, ebp
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x98], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x423af6
mov ecx, dword [esp + 0x88]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x98]
mov byte [edx + ecx], al
test ebx, ebx
je 0x423b5e
cmp ebx, 1
mov edi, dword [esp + 0x10]
jne 0x423b06
mov eax, 0xffffffff
jmp 0x423b3c
and esi, 0xfffffffe
mov eax, 0xffffffff
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4427e0]
mov eax, ecx
shr eax, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4427e0]
add esi, 0xfffffffe
jne 0x423b10
test bl, 1
je 0x423990
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4427e0]
mov eax, ecx
jmp 0x423990
xor eax, eax
mov edi, dword [esp + 0x10]
jmp 0x423992
jmp dword [0x44768c]
mov eax, dword [esp + 0x24]
mov dword [esp], 0x787b7a05
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x423bc3
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x45
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x423b90
mov ecx, dword [0x44bc4c]
test ecx, ecx
je case.0x423231.58
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423bf0
inc esi
cmp ecx, esi
jne 0x423be0
jmp case.0x423231.58
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x423231.58
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
jmp case.0x423231.58
jmp dword [0x447694]
mov eax, dword [esp + 0x24]
mov dword [esp], 0x787b7a05
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x423c73
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x45
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x423c40
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x423c10
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x423cb0
inc esi
cmp ecx, esi
jne 0x423c90
jmp 0x423c10
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x423c10
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
jmp dword [0x447694]
push edi
call fcn.004084e0
add esp, 4
push edi
call fcn.004084e0
add esp, 4
jmp dword [0x447684]
int3
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x48], esp
sub esp, 0x14
mov ebx, esp
sub esp, 0x1c
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x1c], esp
sub esp, 0x18
mov dword [ebp - 0x24], esp
sub esp, 0x1c
mov dword [ebp - 0x20], esp
mov ecx, dword [0x44bc48]
mov dword [ebp - 0x18], ecx
mov dword [eax], 0xf3b3f19d
mov dword [eax + 4], 0xff4efd4c
mov dword [eax + 8], 0xfb5bf9b4
mov dword [eax + 0xc], 0xc767c578
mov dword [eax + 0x10], 0xc3c2c1ad
mov byte [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x14
ja 0x423db7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
mov esi, edx
and esi, 0x18869d54
xor edx, 0x98869d54
lea edx, [edx + esi*2]
xor edx, ecx
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add cl, 0x5c
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x423d80
mov esi, dword [ebp - 0x34]
push esi
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x18]
mov eax, dword [esi]
test eax, eax
mov dword [ebp - 0x18], eax
jns 0x423dd7
mov eax, 0xffffffff
jmp 0x423dd9
add eax, eax
push eax
call fcn.004084d0
add esp, 4
mov ecx, dword [0x44bc48]
mov dword [ebp - 0x2c], ecx
mov dword [edi], 0x43834165
mov dword [edi + 4], 0x47d645d4
mov dword [edi + 8], 0x4bab498c
mov dword [edi + 0xc], 0x4faf4dd8
mov dword [edi + 0x10], 0x73727155
mov word [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x15
ja 0x423e65
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [edi + esi]
lea ecx, [edx + 0x10]
and ecx, esi
add edx, esi
add ecx, ecx
sub edx, ecx
add edx, 0xad1d0810
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add cl, 0xb0
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x423e30
push dword [ebp - 0x34]
push dword [ebp - 0x18]
push eax
push 9
push edi
push 0
call dword [ebp - 0x2c]
mov dword [ebx], 0x57ff4904
mov dword [ebx + 4], 0x53fd55eb
mov dword [ebx + 8], 0x5fe051e3
mov dword [ebx + 0xc], 0x5b5a5df0
mov eax, ebx
add eax, 0x10
mov byte [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x10
ja 0x423ef0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov esi, ecx
and esi, 0x3280e6e
xor ecx, 0x3280e6e
lea ecx, [ecx + esi*2]
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
xor edx, 0x26
and ecx, 0x59
add ecx, ecx
sub ecx, edx
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x11
jb 0x423eb0
mov edx, dword [ebp - 0x48]
mov edi, edx
mov ecx, 4
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 esi, dword [ebp - 0x1c]
mov dword [esi], 0x57ff4904
mov dword [esi + 4], 0x53fd55eb
mov dword [esi + 8], 0x5fe051e3
mov dword [esi + 0xc], 0x5b155df0
mov dword [esi + 0x10], 0xa71459f9
mov dword [esi + 0x14], 0xa31ca505
mov dword [esi + 0x18], 0xafaea119
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1b
ja 0x423f91
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add eax, 0x6e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xd04d366e
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, eax
not ecx
and ecx, 0x26
and eax, 0xd9
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1c
jb 0x423f50
mov eax, esi
mov edx, dword [ebp - 0x30]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x1c
add esi, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ebx, dword [ebp - 0x20]
mov dword [ebx], 0x219d2778
mov dword [ebx + 4], 0x3d9f23ad
mov dword [ebx + 8], 0x398c3f8d
mov dword [ebx + 0xc], 0x356a3b84
mov dword [ebx + 0x10], 0x31743798
mov eax, ebx
add eax, 0x14
mov word [ebx + 0x14], 0x3330
mov dword [ebx + 0x16], 0
mov byte [ebx + 0x1a], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1a
ja 0x42404b
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx esi, byte [ebx + edx]
lea edx, [ecx + esi]
add edx, 0x69d93789
add ecx, 0x69d93789
and ecx, esi
mov esi, edx
xor esi, ecx
mov edi, ecx
not edi
and edx, edi
add edx, edx
sub edx, esi
xor ecx, edx
and edx, edi
add edx, edx
sub edx, ecx
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add cl, 0x53
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
jb 0x424000
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 5
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.0x422af8.124
mov eax, edi
add eax, 0x14
mov edx, dword [ebp - 0x18]
mov esi, edi
mov edi, edx
mov ecx, 5
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
jmp dword [0x4476cc]
push eax
mov dword [ebp - 0x30], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x20], esp
sub esp, 0x14
mov ebx, esp
sub esp, 0x1c
mov dword [ebp - 0x1c], esp
sub esp, 0x1c
mov dword [ebp - 0x40], esp
sub esp, 0x18
mov dword [ebp - 0x18], esp
sub esp, 0x1c
mov dword [ebp - 0x2c], esp
sub esp, 0xc
mov dword [ebp - 0x48], esp
sub esp, 0x20
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov dword [ebp - 0x78], esp
sub esp, 0x1c
mov dword [ebp - 0xa0], esp
sub esp, 8
mov dword [ebp - 0x9c], esp
sub esp, 8
mov dword [ebp - 0x38], esp
sub esp, 0x14
mov dword [ebp - 0x64], esp
sub esp, 0x34
mov dword [ebp - 0x74], esp
sub esp, 0x18
mov dword [ebp - 0x54], esp
sub esp, 8
mov dword [ebp - 0x70], esp
mov ecx, dword [0x44bc48]
mov dword [ebp - 0x24], ecx
mov dword [eax], 0xf3b3f19d
mov dword [eax + 4], 0xff4efd4c
mov dword [eax + 8], 0xfb5bf9b4
mov dword [eax + 0xc], 0xc767c578
mov dword [eax + 0x10], 0xc3c2c1ad
mov byte [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x14
ja 0x424197
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
mov esi, edx
and esi, 0x18869d54
xor edx, 0x98869d54
lea edx, [edx + esi*2]
xor edx, ecx
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
add cl, 0x5c
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x424160
mov esi, dword [ebp - 0x30]
push esi
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x24]
mov eax, dword [esi]
test eax, eax
mov dword [ebp - 0x28], eax
jns 0x4241c0
mov eax, 0xffffffff
jmp 0x4241c2
add eax, eax
push eax
call fcn.004084d0
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [0x44bc48]
mov dword [edi], 0x43834165
mov dword [edi + 4], 0x47d645d4
mov dword [edi + 8], 0x4bab498c
mov dword [edi + 0xc], 0x4faf4dd8
mov dword [edi + 0x10], 0x73727155
mov word [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
ja 0x424245
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
lea esi, [ecx + 0x10]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xad1d0810
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xb0
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x424210
push dword [ebp - 0x30]
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push 9
push edi
push 0
call eax
mov dword [ebx], 0x57ff4904
mov dword [ebx + 4], 0x53fd55eb
mov dword [ebx + 8], 0x5fe051e3
mov dword [ebx + 0xc], 0x5b5a5df0
mov byte [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
ja 0x4242cf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
mov edx, eax
and edx, 0x3280e6e
xor eax, 0x3280e6e
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
xor ecx, 0x26
and eax, 0x59
add eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
jb 0x424290
mov eax, ebx
add eax, 0x10
mov edx, dword [ebp - 0x20]
mov edi, edx
mov ecx, 4
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 esi, dword [ebp - 0x40]
mov dword [esi], 0x57ff4904
mov dword [esi + 4], 0x53fd55eb
mov dword [esi + 8], 0x5fe051e3
mov dword [esi + 0xc], 0x5b155df0
mov dword [esi + 0x10], 0xa71459f9
mov dword [esi + 0x14], 0xa31ca505
mov dword [esi + 0x18], 0xafaea119
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1b
ja 0x424381
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add eax, 0x6e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xd04d366e
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, eax
not ecx
and ecx, 0x26
and eax, 0xd9
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1c
jb 0x424340
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x1c
add esi, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov edi, dword [ebp - 0x2c]
mov dword [edi], 0x219d2778
mov dword [edi + 4], 0x3d9f23ad
mov dword [edi + 8], 0x398c3f8d
mov dword [edi + 0xc], 0x356a3b84
mov dword [edi + 0x10], 0x31743798
mov word [edi + 0x14], 0x3330
mov dword [edi + 0x16], 0
mov byte [edi + 0x1a], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1a
mov ebx, dword [ebp - 0x34]
ja 0x424070
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx edx, byte [edi + ecx]
lea ecx, [eax + edx]
add ecx, 0x69d93789
add eax, 0x69d93789
and eax, edx
mov edx, ecx
xor edx, eax
mov esi, eax
not esi
and ecx, esi
add ecx, ecx
sub ecx, edx
xor eax, ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
add al, 0x53
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1b
jb 0x4243f0
jmp 0x424070
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x64]
add eax, 2
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x54]
mov eax, edx
add eax, 0x12
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x74]
mov esi, eax
add esi, 0x2e
mov dword [ebp - 0x8c], esi
mov edi, ebx
add edi, 0x1a
add edx, 2
mov dword [ebp - 0x88], edx
xor edx, edx
add eax, 2
mov dword [ebp - 0x84], eax
lea eax, [ebx + 2]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x98], edi
jmp 0x4244af
mov edx, dword [ebp - 0xa4]
add edx, 4
mov ecx, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x34]
mov eax, dword [case.0x422af8.130]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp edx, 0xc
setne al
jmp dword [eax*4 + 0x4476e4]
mov dword [ebp - 0xa4], edx
mov eax, dword [ecx + edx]
mov edi, 0xfffffffe
nop
cmp word [eax + edi + 2], 0
lea edi, [edi + 2]
jne 0x4244e0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x6c], edi
sar edi, 1
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x68], edi
lea esi, [edi + eax]
add esi, 0xd
mov edi, dword [ebp - 0x98]
jmp dword [0x4476f8]
mov dword [ebp - 0x4c], esi
push edi
call fcn.00401af0
add esp, 4
mov esi, dword [ebp - 0xa0]
mov dword [esi], 0xf0f58287
mov dword [esi + 4], 0x838e848e
mov dword [esi + 8], 0xf88cf4ce
mov dword [esi + 0xc], 0x9b969c96
mov dword [esi + 0x10], 0xe8e5eded
mov word [esi + 0x14], 0x94e1
mov byte [esi + 0x16], 0xe
mov dword [esi + 0x17], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1a
ja 0x4245a8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x9764ec44
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
not edx
and edx, 0x54
and ecx, 0xab
sub ecx, edx
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
jb 0x424570
push esi
push eax
call fcn.00401eb0
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x4245c0
mov dword [ebp - 0x60], edi
shr ecx, 2
mov esi, edx
mov dword [ebp - 0x28], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x4245e7
cmp edx, 0x2e
jne 0x4245e8
dec ecx
mov edx, dword [ebp - 0x28]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [ebp - 0x58], eax
je 0x4245fd
cmp edx, 0x2e
jne 0x4245fe
dec ecx
mov dword [ebp - 0x80], ecx
lea eax, [ecx + 1]
push eax
call fcn.004084d0
add esp, 4
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x28], 0
je 0x4246f1
xor eax, eax
xor esi, esi
jmp 0x424636
mov eax, esi
and eax, 4
xor esi, 4
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp esi, edx
jae 0x4246f1
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x58]
movzx eax, byte [edi + esi]
push eax
call fcn.00419560
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi + 1]
push eax
call fcn.00419560
mov edx, dword [ebp - 0x28]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov edi, dword [ebp - 0x18]
lea ecx, [edi + 1]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + edi], al
lea eax, [esi + 2]
cmp eax, edx
jae 0x424620
mov ecx, dword [ebp - 0x58]
movzx eax, byte [ecx + eax]
push eax
call fcn.00419560
mov edx, dword [ebp - 0x28]
add esp, 4
cmp al, 0x40
je 0x424620
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [ebp - 0x18]
lea ecx, [edi + 2]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + edi + 1], al
lea eax, [esi + 3]
cmp eax, edx
jae 0x424620
mov ecx, dword [ebp - 0x58]
movzx eax, byte [ecx + eax]
push eax
call fcn.00419560
mov edx, dword [ebp - 0x28]
add esp, 4
cmp al, 0x40
je 0x424620
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [ebp - 0x2c], edi
jmp 0x424620
mov eax, dword [ebp - 0x80]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x9c]
mov dword [esi], eax
mov eax, dword [ebp - 0x3c]
add eax, 5
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x38]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x6c625980
push dword [0x44bc58]
call fcn.0043e490
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov esi, dword [ebp - 0x4c]
jmp dword [ecx*4 + 0x447734]
mov eax, dword [ebp - 0x6c]
add eax, 0x10
cmp dword [ebp - 0x68], 0xfffffff8
jge 0x42475d
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov edi, eax
mov ebx, dword [ebp - 0x64]
mov dword [ebx], 0xd1aacffd
mov dword [ebx + 4], 0xd5fcd3a0
mov dword [ebx + 8], 0xd9aed7a0
mov dword [ebx + 0xc], 0xdddadbac
mov word [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
ja 0x4247e9
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ebx + ecx]
lea esi, [eax - 0x19c4b833]
lea ecx, [eax + edx]
add ecx, 0xe63b47cd
add eax, 0xcd
or eax, esi
and eax, edx
mov edx, eax
xor edx, ecx
add edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
dec al
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x12
jb 0x4247a0
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x424811
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov eax, edi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424800
mov dword [ebp - 0x18], edi
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424843
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x38]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424830
jmp 0x424849
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x38]
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [edi]
push dword [edi + 4]
mov edi, dword [ebp - 0x18]
push edi
call fcn.00408e60
mov ebx, eax
jmp dword [0x44773c]
push edi
call fcn.004084e0
add esp, 4
mov edi, dword [ebp - 0x38]
jmp dword [0x447744]
mov edi, dword [ebp - 0x38]
jmp dword [0x447744]
push 0xe050b307
push dword [0x44bc40]
call fcn.0043e490
add esp, 8
push dword [edi + 4]
call eax
nop
nop
nop
nop
nop
nop
push 0xe050b307
push dword [0x44bc40]
call fcn.0043e490
add esp, 8
push dword [edi + 4]
call eax
jmp dword [0x44774c]
jmp dword [0x447754]
push dword [ebp - 0x3c]
call fcn.004084e0
add esp, 4
mov edi, dword [ebp - 0x60]
jmp dword [0x447760]
mov edi, dword [ebp - 0x60]
jmp dword [0x447760]
push dword [ebp - 0x20]
call fcn.004084e0
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x44778c]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447724]
mov eax, dword [edi]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov edi, eax
xor eax, eax
test edi, edi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x44772c]
lea eax, [esi + esi]
test esi, esi
jns 0x42494c
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov ecx, dword [ebp - 0x24]
movzx ecx, word [ecx]
test cx, cx
je 0x424981
mov edx, dword [ebp - 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424970
mov word [eax], 0x5c
mov dword [ebx], 0xd986dba8
mov dword [ebx + 4], 0xddbbdfa9
mov dword [ebx + 8], 0xd1aed3bb
mov dword [ebx + 0xc], 0xd583d7f0
mov dword [ebx + 0x10], 0xe98deba0
mov dword [ebx + 0x14], 0xed95ef9c
mov word [ebx + 0x18], 0xe3ec
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1e
ja case.0x422af8.137
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + ecx]
add edx, 0xd817604f
add eax, 0xd817604f
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, eax
not ecx
and ecx, 0x8b
and eax, 0x74
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1f
jb 0x4249d0
lea eax, [esi + esi]
test esi, esi
jns 0x424a20
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax]
mov dword [ebp - 0x20], edx
mov eax, edx
test cx, cx
je 0x424a61
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424a50
mov word [eax], 0x5c
mov dword [ebx], 0xd986dba8
mov dword [ebx + 4], 0xddbbdfa9
mov dword [ebx + 8], 0xd1aed3bb
mov dword [ebx + 0xc], 0xd583d7f0
mov dword [ebx + 0x10], 0xe98deba0
mov dword [ebx + 0x14], 0xed95ef9c
mov word [ebx + 0x18], 0xe3ec
mov byte [edi + 4], 0
mov dword [edi], 0
add eax, 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1e
ja 0x424b08
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
lea ebx, [ecx + edx]
add ebx, 0xd817604f
add ecx, 0xd817604f
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
mov edx, ecx
not edx
and edx, 0x8b
and ecx, 0x74
sub ecx, edx
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1f
jb 0x424ac0
jmp dword [0x447700]
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx]
test cx, cx
je 0x424b31
add edx, 2
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424b20
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424b70
mov edx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x44]
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 0x424b50
jmp 0x424b73
mov esi, dword [ebp - 0x44]
mov word [eax], 0
push 0x60
push 3
push 0x120089
push esi
push dword [ebp - 0x20]
call fcn.0043ef50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447704]
xor ebx, ebx
jmp dword [0x447774]
push 0
push dword [ebp - 0x78]
push dword [esi]
call fcn.0043f2b0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44770c]
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x78]
jmp dword [0x447718]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.004084d0
add esp, 4
push 0
push esi
push eax
push dword [ebx]
call fcn.0043f390
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.004084d0
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [ebx]
call fcn.0043f390
add esp, 0x10
jmp dword [0x44771c]
jmp dword [0x4477a4]
jmp dword [0x4477c0]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ebx, dword [ebp - 0x68]
lea ecx, [ebx + eax]
lea edx, [ebx + eax]
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x424c71
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
mov edi, dword [ebp - 0x74]
je 0x424cb1
mov edx, dword [ebp - 0x40]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424ca0
mov dword [ebp - 0x20], esi
mov word [eax], 0x5c
mov dword [edi], 0x33663154
mov dword [edi + 4], 0x3f5d3d4b
mov dword [edi + 8], 0x3b4e3959
mov dword [edi + 0xc], 0x47154564
mov dword [edi + 0x10], 0x4335413c
mov dword [edi + 0x14], 0x4f2f4d3e
mov dword [edi + 0x18], 0x4b274927
mov dword [edi + 0x1c], 0x57225530
mov dword [edi + 0x20], 0x532c513d
mov dword [edi + 0x24], 0x5f2a5d31
mov dword [edi + 0x28], 0x5b385934
mov word [edi + 0x2c], 0x6564
mov ecx, dword [ebp - 0x8c]
mov byte [ecx + 2], 0
mov word [ecx], 0
add eax, 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x30
ja 0x424d6c
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
lea esi, [ecx + edx]
add esi, 0x6c8853b4
add ecx, 0x6c8853b4
not edx
or ecx, edx
sub edx, ecx
lea ecx, [esi + edx*2]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x7c
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x31
jb 0x424d30
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx]
test cx, cx
je 0x424d93
add edx, 2
mov esi, dword [ebp - 0x54]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424d80
jmp 0x424d96
mov esi, dword [ebp - 0x54]
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x424dc1
mov edx, dword [ebp - 0x84]
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 0x424db0
mov word [eax], 0
mov eax, dword [ebp - 0x6c]
add eax, 0x12
cmp ebx, 0xfffffff7
jge 0x424dd6
mov eax, 0xffffffff
push eax
call fcn.004084d0
add esp, 4
mov ebx, eax
mov dword [esi], 0x77e2095b
mov dword [esi + 4], 0x73e875d9
mov dword [esi + 8], 0x7fea71dd
mov dword [esi + 0xc], 0x7bd47dd0
mov word [esi + 0x10], 0x7978
mov eax, dword [ebp - 0x90]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x14
ja 0x424e53
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + 0x3e]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x3629313e
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xca
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x15
jb 0x424e20
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
je 0x424e81
add edx, 2
mov eax, ebx
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 0x424e70
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x424eb3
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x70]
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 0x424ea0
jmp 0x424eb6
mov esi, dword [ebp - 0x70]
mov word [eax], 0
mov dword [esi], 0x6166675e
mov word [esi + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 5
ja 0x424f27
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add edx, 0xbb5648e9
add eax, 0xbb5648e9
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
not ecx
and ecx, 0x8d
and eax, 0x72
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 6
jb 0x424ee0
push 0
push 0
push 0
push 0xc00000
push esi
mov esi, dword [ebp - 0x20]
push esi
push ebx
push dword [ebp + 8]
call fcn.0041bbc0
add esp, 0x20
mov ecx, dword [ebp - 0x50]
and cl, 1
or cl, al
mov dword [ebp - 0x50], ecx
jmp dword [0x447794]
push ebx
call fcn.004084e0
add esp, 4
jmp dword [0x44779c]
jmp dword [0x44779c]
movzx eax, bl
jmp dword [eax*4 + 0x44778c]
jmp dword [0x44776c]
push esi
call fcn.004084e0
add esp, 4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0x787b7a05
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x424fec
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x5c]
add eax, 0x38b37bbf
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x45
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x5c], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x424fc0
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x425020
mov edx, dword [ebp - 0x5c]
xor esi, esi
mov eax, dword [0x44bc50]
cmp dword [eax + esi*8], 0x625b6034
je 0x425010
inc esi
cmp ecx, esi
jne 0x425000
jmp 0x425020
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x425026
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x447774]
push dword [ebp - 0x18]
push 1
push dword [0x44bc54]
push eax
call fcn.0043cad0
add esp, 0x10
jmp dword [0x447774]
push esi
call fcn.004084e0
add esp, 4
push esi
call fcn.004084e0
add esp, 4
jmp dword [0x4477ac]
push edi
call fcn.004020a0
add esp, 4
push edi
call fcn.004020a0
add esp, 4
jmp dword [0x447768]
jmp dword [0x4476ec]
push dword [ebp - 0x24]
call fcn.004084e0
add esp, 4
mov eax, dword [ebp - 0x50]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor eax, eax
xor ebx, ebx
jmp dword [0x4478bc]
push ebp
call fcn.004084e0
add esp, 4
mov eax, ebx
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x70]
call fcn.0043f2b0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x4477cc]
mov dword [esp + 0x80], ebp
mov esi, dword [esp + 0x74]
lea eax, [esi + 1]
push eax
call fcn.004084d0
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [case.0x422af8.195]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0
push esi
push dword [esp + 0x1c]
push dword [esp + 0x74]
call fcn.0043f390
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x4477e4]
mov eax, dword [esp + 0x74]
jmp dword [0x4477f0]
mov ebp, dword [esp + 0x14]
mov byte [ebp + eax], 0
mov dword [esp + 8], 0
jmp dword [0x4477f8]
mov ebp, dword [esp + 0x14]
mov byte [ebp + eax], 0
mov byte [ebp + eax], 0
mov dword [esp + 8], 0
jmp dword [0x4477f8]
movzx ecx, byte [eax + 0xa]
mov ebp, eax
add ebp, 0xa
xor edx, edx
test cl, cl
je case.0x422af8.211
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x22
je 0x4253b0
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x4253a0
jmp case.0x422af8.211
mov edx, eax
mov ecx, edx
xor ecx, ebp
mov ebx, ebp
not ebx
and ebx, edx
add ebx, ebx
mov edi, ebx
sub edi, ecx
xor eax, eax
cmp edi, 5
setb al
jmp dword [eax*4 + 0x447824]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44782c]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x447834]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x44783c]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x447844]
mov eax, edi
inc eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ecx
jns 0x425429
mov eax, 0xffffffff
jmp 0x425430
lea eax, [edi*2 + 2]
push eax
call fcn.004084d0
add esp, 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x7c], edi
lea ecx, [eax + edi*2]
mov edx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x60], ecx
cmp eax, ecx
mov edi, dword [esp + 0x70]
jae 0x4254a3
mov edx, dword [esp + 0xc]
cmp ebp, edi
jae 0x4254a3
mov edx, dword [esp + 0xc]
mov ebx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x4254a3
lea eax, [esp + 0x1c]
push eax
push edi
push ebx
mov dword [esp + 0x1c], edx
call fcn.0040c850
mov edx, dword [esp + 0x1c]
add esp, 0xc
movzx ecx, word [esp + 0x1c]
mov word [edx], cx
add edx, 2
cmp edx, dword [esp + 0x60]
jae 0x4254a3
add ebx, eax
cmp ebx, edi
jb 0x425470
mov word [edx], 0
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x1c]
call fcn.0043ef50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44784c]
jmp dword [0x44789c]
push dword [esp + 0xc]
call fcn.004084e0
add esp, 4
mov eax, dword [case.0x422af8.201]
mov ecx, dword [esp + 0x70]
nop
nop
nop
nop
nop
nop
nop
mov ebp, ecx
jmp eax
jmp dword [0x447854]
push esi
call fcn.004084e0
add esp, 4
jmp dword [0x447884]
jmp dword [0x447884]
push ebx
call fcn.004084e0
add esp, 4
mov eax, dword [case.0x4254c7.4]
nop
nop
nop
jmp eax
mov dword [esp + 0x60], ebx
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x7c]
jmp 0x425548
add eax, 2
test dx, dx
je 0x425559
mov ebx, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x425540
mov ecx, ebx
jmp 0x425540
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x447874]
mov dword [esp + 0x10], 0
xor eax, eax
jmp 0x425582
sub ebx, dword [esp + 0xc]
sar ebx, 1
inc ebx
mov eax, edi
mov dword [esp + 0x10], ebx
sub eax, ebx
add eax, 0x1b
push eax
call fcn.004084d0
add esp, 4
mov dword [esp + 0x1c], 0x3c3e34d1
mov dword [esp + 0x20], 0x3123393a
mov dword [esp + 0x24], 0x3edce134
mov dword [esp + 0x28], 0xe82d2038
mov dword [esp + 0x2c], 0x3a2a2aca
mov dword [esp + 0x30], 0xec363c2c
mov word [esp + 0x34], 0xe2ef
mov byte [esp + 0x36], 0x96
mov word [esp + 0x37], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1c
mov ebx, dword [esp + 0x6c]
ja 0x42562c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add edx, 0x93d6da22
xor edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
mov ecx, edx
not ecx
and ecx, 0xaa
and edx, 0x55
sub edx, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], dl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1d
jb 0x4255f0
movzx ecx, byte [esp + 0x1c]
mov edx, eax
test cl, cl
je 0x42564b
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x425640
mov byte [edx], 0
mov ecx, dword [esp + 0x10]
sub edi, ecx
je 0x42567f
add ebp, ecx
mov esi, edi
and esi, 3
je 0x425683
xor ecx, ecx
movzx ebx, byte [ebp]
cmp bl, 1
sbb ebp, 0xffffffff
mov byte [edx + ecx], bl
inc ecx
cmp esi, ecx
jne 0x425661
add edx, ecx
sub edi, ecx
mov ecx, edx
mov ebx, dword [esp + 0x6c]
jmp 0x425683
mov ecx, edx
jmp 0x4256cf
mov esi, dword [esp + 0x10]
sub esi, ebx
add esi, dword [esp + 0x78]
cmp esi, 0xfffffffc
ja 0x4256cf
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [edx], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [edx + 1], cl
movzx ecx, byte [ebp]
cmp cl, 1
sbb ebp, 0xffffffff
mov byte [edx + 2], cl
movzx ebx, byte [ebp]
cmp bl, 1
sbb ebp, 0xffffffff
lea ecx, [edx + 4]
mov byte [edx + 3], bl
mov edx, ecx
add edi, 0xfffffffc
jne 0x425692
mov byte [ecx], 0
mov ecx, dword [esp + 0x9c]
push dword [esp + 0x64]
mov ebx, dword [esp + 0x64]
push ebx
mov esi, eax
push eax
call fcn.00409010
mov ecx, dword [esp + 8]
and cl, 1
or cl, al
mov dword [esp + 8], ecx
jmp dword [0x44787c]
lea eax, [esp + 0x64]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043f2b0
add esp, 0xc
lea eax, [esp + 0x64]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043f2b0
add esp, 0xc
jmp dword [0x44785c]
mov edi, dword [esp + 0x64]
test eax, eax
setns al
cmp edi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447864]
mov eax, dword [esp + 0x18]
mov dword [esp], 0x787b7a05
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x4257a3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
add cl, 0x45
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x425770
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x4257ff
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4257f7
inc esi
cmp ecx, esi
jne 0x4257c0
jmp 0x4257ff
push edi
call fcn.004084d0
add esp, 4
mov ebx, eax
push 0
push edi
push eax
push dword [esp + 0x24]
call fcn.0043f390
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44786c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x425805
jmp dword [0x44789c]
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
jmp dword [0x44789c]
lea esi, [esp + 0x1d]
jmp dword [0x447800]
mov dword [esp + 0x1c], 0xe6eee8e6
mov dword [esp + 0x20], 0xe2ebe4ea
mov word [esp + 0x24], 0x2b15
mov byte [esp + 0x26], 0x4a
mov byte [esi + 0xc], 0
mov word [esi + 0xa], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja case.0x422af8.203
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x1c]
lea ecx, [eax + edx]
add eax, 0xf0
and eax, edx
sub ecx, eax
add ecx, 0x5d19a5f0
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x50
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x425860
jmp case.0x422af8.203
jmp dword [0x447804]
mov dword [esp + 0x1c], 0xe6eee8e6
mov dword [esp + 0x20], 0xe2ebe4ea
mov word [esp + 0x24], 0x2b15
mov byte [esp + 0x26], 0x4a
mov byte [esi + 0xc], 0
mov word [esi + 0xa], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x425935
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x1c]
lea ecx, [eax + edx]
add eax, 0xf0
and eax, edx
sub ecx, eax
add ecx, 0x5d19a5f0
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x50
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x4258f0
movzx ebx, byte [esp + 0x1c]
mov eax, ebp
test bl, bl
je 0x4258b0
lea ecx, [esp + 0x1c]
mov edx, ebp
mov eax, ebp
jmp 0x42595b
movzx ebx, byte [ecx]
test bl, bl
je 0x4258b0
mov bh, byte [edx]
test bh, bh
je 0x425980
inc edx
inc ecx
lea edi, [eax + 1]
cmp bh, bl
je 0x42596e
mov eax, edi
mov edx, edi
je 0x425950
lea ecx, [esp + 0x1c]
jmp 0x425950
xor eax, eax
jmp dword [0x447804]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44780c]
mov ebp, dword [esp + 0x80]
jmp dword [0x4478b4]
push dword [esp + 0x14]
call fcn.004084e0
add esp, 4
mov eax, dword [esp + 0x68]
mov dword [esp], 0x787b7a05
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x425a03
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0x38b37bbf
xor ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
add cl, 0x45
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x4259d0
mov ecx, dword [0x44bc4c]
test ecx, ecx
je 0x425a38
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44bc50]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x425a30
inc esi
cmp ecx, esi
jne 0x425a20
jmp 0x425a38
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x425a46
mov eax, dword [esp + 8]
and al, 1
mov ebx, eax
jmp dword [0x4478bc]
push eax
push 1
push dword [0x44bc54]
push ecx
call fcn.0043cad0
add esp, 0x10
mov eax, dword [esp + 8]
and al, 1
mov ebx, eax
jmp dword [0x4478bc]
int3
add al, byte [edx]
add ax, word [edx]
push eax
add eax, dword [edx]
rol dword [edx + eax*2], 1
add al, al
add al, 0x42
add byte [ecx], al
add eax, 0x9a00042
inc edx
add byte [ebx + 5], dh
inc edx
add byte [ebx - 0x4fffbdfb], dl
add eax, 0x68a0042
inc edx
add al, dl
pop es
inc edx
add byte [eax], dh
add eax, 0x69f0042
inc edx
add byte [ebx + 7], cl
inc edx
add byte [ebx + 7], cl
inc edx
add byte [edi + eax + 0x74b0042], dh
inc edx
add dh, al
pop es
inc edx
add dl, ch
pop es
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dh, al
pop es
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebp - 0xc], al
inc ecx
add byte [esi - 0xc], cl
inc ecx
add byte [esi + 0xd], cl
inc edx
add byte [edi + 0xd], dl
inc edx
add al, dh
adc byte [edx], al
mov bh, 0x10
inc edx
add bh, dh
adc byte [edx], al
inc eax
adc dword [edx], eax
invalid
sub byte [edx], al
inc eax
sub al, byte [edx]
shr byte [ecx], 0x42
add ch, bl
sub byte [edx], al
shr byte [ecx], 0x42
add byte [eax - 1610595799], ah
sub dword [edx], eax
mov al, byte [0xa0004229]
sub dword [edx], eax
cmpsb byte [esi], byte es:[edi]
sub dword [edx], eax
mov ah, 0x29
inc edx
add al, al
sub dword [edx], eax
jbe 0x447500
invalid
sub al, byte [edx]
mov dl, 0x2a
inc edx
add byte [ebx - 0x68ffbdd6], dl
inc edx
add byte [edx - 0x6cffbdd6], dh
sub al, byte [edx]
xchg edi, eax
sub al, byte [edx]
mov al, 0x2a
inc edx
add byte [eax - 0x4fffbdd6], dh
sub al, byte [edx]
mov dl, 0x2a
inc edx
add cl, al
sub al, byte [edx]
push eax
daa
inc edx
add bh, dh
inc edx
add byte [ebp + 0x27], ah
daa
inc edx
add bh, dh
inc edx
add byte [ebp + 0x27], ah
inc edx
add byte [ecx], cl
daa
inc edx
add byte [eax + 0x27], al
inc edx
add byte [eax + 0x27], al
inc edx
add byte [eax + 0x27], al
inc edx
add byte [eax + 0x27], al
inc edx
add byte [esi + 0x27], al
inc edx
add byte [esp + ebp], ch
inc edx
add byte [ecx + 0x2c], cl
inc edx
add byte [ebp + 0x2c5a0042], cl
inc edx
add byte [edi], ch
sub eax, 0x2d610042
inc edx
add byte [edx], ah
das
inc edx
add byte [edx - 0x2ffbdd3], cl
inc edx
add ah, al
sub eax, 0x2ecf0042
inc edx
add byte [eax], ch
inc edx
add bh, cl
inc edx
add byte [ecx + edi + 0x42], ch
add bh, cl
inc edx
add byte [edx - 0x1fffbdc7], bh
inc edx
add ch, bh
inc edx
add byte [ebx], al
das
inc edx
add byte [edx], ah
das
inc edx
add byte [eax], ah
das
inc edx
add byte [eax], ah
das
inc edx
add byte [eax], ah
das
inc edx
add byte [edx], ah
das
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ah, ch
cmp al, 0x42
add byte [ecx], al
add byte [eax], al
add byte [ecx], bh
sub eax, 0x2fd10042
inc edx
add bh, bl
das
inc edx
add byte [eax + 0x2d], dl
inc edx
add byte [eax], bh
xor al, byte [edx]
outsb dx, byte [esi]
xor eax, dword [edx]
imul edi, dword [ebx], 0x339c0042
inc edx
add byte [ecx], bh
cmp dword [edx], eax
loopne 0x4475ed
inc edx
add dh, dl
cmp byte [edx], al
dec ebx
xor al, 66
add dh, dl
cmp byte [edx], al
xor byte [0x35300042], dh
inc edx
add byte [eax], dh
xor eax, 0x35300042
inc edx
add byte [esi], dh
xor eax, 0x38d00042
inc edx
add byte [edi + 0x35], ch
inc edx
add al, dl
cmp byte [edx], al
sar byte [eax], 1
inc edx
add al, dl
cmp byte [edx], al
salc
cmp byte [edx], al
pop esp
xor eax, 899219522
inc edx
add byte [edi + 0x36], bl
inc edx
add dh, dh
xor eax, 0x35e00042
inc edx
add byte [0xe004236], ah
aaa
inc edx
add byte [eax - 0x3fffbdca], dh
inc edx
add al, al
inc edx
add al, al
inc edx
add dl, al
inc edx
add ah, dh
inc edx
add dh, ah
inc edx
add al, dh
inc edx
add al, dh
inc edx
add ah, dh
inc edx
add al, dh
inc edx
add byte [esi], cl
aaa
inc edx
add bl, bh
inc edx
add byte [ebx], ah
aaa
inc edx
add byte [edi + esi], dh
inc edx
add byte [ecx - 0x3cffbdc9], bh
aaa
inc edx
add byte [ecx + 0x5c004238], ah
xor eax, 0x38ea0042
inc edx
add byte [ecx], bh
cmp dword [edx], eax
idiv dword [eax]
inc edx
add byte [eax], al
cmp dword [edx], eax
add byte [ecx], bh
inc edx
add byte [0x3f004239], cl
cmp dword [edx], eax
imul edi, dword [ebx], 0x3cdd0042
inc edx
add ah, dl
cmp al, 0x42
add byte [ecx + 0x3b], ch
inc edx
add ah, dl
cmp al, 0x42
add byte [esi], dl
cmp al, 0x42
add byte [edi + 0x3b], ch
inc edx
add byte [eax], bh
xor al, byte [edx]
push ss
cmp al, 66
add byte [esi], bh
xor al, byte [edx]
sbb al, 0x39
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + edi], bl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebx], dh
cmp dword [edx], eax
xor al, byte fs:[edx]
adc dh, byte [ebx]
inc edx
add byte [edi], bl
xor eax, dword [edx]
lodsd eax, dword [esi]
inc eax
inc edx
add byte [edx], al
cmp eax, 0x443e0042
inc edx
add byte [ebp - 0x3fffbdc0], ch
inc esp
inc edx
add al, al
inc esp
inc edx
add dl, al
inc esp
inc edx
add al, al
inc esp
inc edx
add byte [eax + 0x50], dh
inc edx
add cl, dl
inc esp
inc edx
add byte [esi + 0x50], dh
inc edx
add byte [ecx + 0x40004250], al
dec ecx
inc edx
add byte [edx + ecx*2], dl
inc edx
add byte [eax + 0x49], al
inc edx
add byte [esi], cl
dec ebx
inc edx
add byte [ecx - 0x4fffbdb5], bl
dec ebx
inc edx
add byte [edi - 0x32ffbdb1], bl
dec ebx
inc edx
add cl, bl
dec ebx
inc edx
add byte [eax], al
dec esp
inc edx
add byte [eax], dl
dec ecx
inc edx
add byte [eax], al
dec esp
inc edx
add byte [eax + 0x1e00424f], dl
dec ecx
inc edx
add byte [eax + 0xd00424f], dl
inc ebp
inc edx
add byte [esi + 0x4c004248], bh
inc edi
inc edx
add byte [edi + 0x48], ah
inc edx
add byte [ecx + 0x48], bh
inc edx
add byte [eax - 0x7dffbdb8], ah
dec eax
inc edx
add byte [esi - 0x5fffbdb8], bh
dec eax
inc edx
add ah, al
dec eax
inc edx
add al, bl
dec eax
inc edx
add byte [eax + 0x50], bl
inc edx
add byte [ecx + 0x50], ah
inc edx
add byte [eax + 0x50], bl
inc edx
add byte [eax - 0x69ffbdb1], dl
dec edi
inc edx
add byte [edi - 0xfffbdb1], bl
dec eax
inc edx
add byte [eax + 0x100424f], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x5fffbdb1], al
inc esp
inc edx
add byte [eax + 0x4c], dl
inc edx
add byte [edi + ecx*2 + 0x42], dl
add byte [eax + 0x4f], dh
inc edx
add byte [eax], dh
dec esp
inc edx
add byte [eax + 0x4c], al
inc edx
add byte [ecx + 0x50], cl
inc edx
add byte [eax + 0x50], al
inc edx
add byte [eax + 0x4c], al
inc edx
add byte [eax + 0x50], al
inc edx
add byte [eax + 0x4c], al
inc edx
add byte [eax + 0x4c], al
inc edx
add byte [eax + 0x4c], al
inc edx
add byte [eax - 0x5effbdbc], ah
push edx
inc edx
add cl, al
push edx
inc edx
add byte [edi - 0x17ffbda7], ch
push edx
inc edx
add byte [eax], dl
push ebx
inc edx
add byte [eax], dl
push ebx
inc edx
add byte [eax], dl
push ebx
inc edx
add byte [edx], dl
push ebx
inc edx
add byte [esi + 0x39004259], dl
push ebx
inc edx
add byte [eax + 0x53], ah
inc edx
add byte [ebx + 0x53], al
inc edx
add byte [eax + 0x53], ah
inc edx
add byte [eax], ah
pop eax
inc edx
add byte [edx], ch
pop eax
inc edx
add byte [esi - 0x77ffbda8], dh
pop ecx
inc edx
add byte [esi - 0x7fffbda8], dh
push ebx
inc edx
add byte [esi + 0x1004259], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx - 0x2effbdad], dh
push ebx
inc edx
add byte [eax], ah
pop eax
inc edx
add cl, ah
push ebx
inc edx
add byte [eax], ah
pop eax
inc edx
add cl, dh
push ebx
inc edx
add byte [eax], ah
pop eax
inc edx
add byte [ecx], al
push esp
inc edx
add byte [eax], ah
pop eax
inc edx
add byte [ecx], dl
push esp
inc edx
add byte [eax], ah
pop eax
inc edx
add dh, cl
push esp
inc edx
add ah, dh
push esp
inc edx
add byte [eax], dl
push edi
inc edx
add ch, bh
push esi
inc edx
add byte [ecx], ch
push edi
inc edx
add ch, bh
push esi
inc edx
add byte [edi + 0x57], al
inc edx
add al, dl
push edi
inc edx
add byte [ecx], cl
push ebp
inc edx
add byte [edx], ah
push ebp
inc edx
add byte [edi + 0x55], ah
inc edx
add byte [ebx + 0x55], dh
inc edx
add dl, bh
push esp
inc edx
add byte [ecx], cl
push ebp
inc edx
add byte [edi], cl
push ebp
inc edx
add byte [eax], bl
push ebp
inc edx
add byte [eax], ah
push ebp
inc edx
add byte [eax], ah
push ebp
inc edx
add byte [edi + 0x57], al
inc edx
add byte [eax], ah
push ebp
inc edx
add ah, dl
push esp
inc edx
add al, ah
push esp
inc edx
add al, dh
push esp
inc edx
add al, dh
push esp
inc edx
add al, dh
push esp
inc edx
add byte [eax], ah
pop eax
inc edx
add byte [ebx - 0x50ffbda7], ah
pop ecx
inc edx
add byte [ebx - 0x49ffbdae], ch
push edx
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x6f], cl
inc edx
add byte [esi + 0x6f], al
inc edx
add ch, ah
jo 0x44791d
add byte [ebp + 0x75], al
inc edx
add byte [edi - 0x40ffbd88], ch
js 0x447929
add byte [eax], ah
wait
inc edx
add byte [eax], ah
wait
inc edx
add byte [ecx + edi*2 + 0x42], cl
add dl, dl
js 0x447939
add ch, ah
js 0x44793d
add byte [ebp - 0x4affbd87], dh
jns 0x447945
add byte [edx + 0x66004278], bh
jnp 0x44794d
add byte [ebx + edi*2 + 0x42], ah
add al, ah
jo 0x447955
add byte [edi*2 + 0x7cb00042], bh
inc edx
add dh, dl
jge 0x447961
add al, ch
add byte [edx], 0xe3
add byte [edx], 0xe0
jb 0x44796d
add al, ah
jb 0x447971
add byte [esi], bl
jae 0x447975
add byte [eax], dh
jae 0x447979
add byte [ecx], bh
jae 0x44797d
add byte [eax], al
je 0x447981
add byte [esi + 0x73], cl
inc edx
add byte [ecx + 0x74], bh
inc edx
je 0x447989
add byte [ebp + 0x73], bl
inc edx
add dl, ch
je 0x447991
add al, dl
jb 0x447995
add byte [esi], bl
jne 0x447999
add byte [esi*2 + 0x75400042], ah
inc edx
add byte [eax + 0x75], al
inc edx
add byte [edi + eax*4 + 0x75400042], ah
inc edx
xchg dword [edx], eax
inc eax
jne 0x4479a9
add byte [eax], ah
wait
inc edx
add byte [eax - 0x44ffbd74], al
mov word [edx], es
mov ebx, 0xbb004271
jno 0x4479b5
add byte [ebx - 0x2fffbd8f], bh
jno 0x4479b9
add al, dl
jno 0x4479bd
add al, ah
jno 0x4479c1
add byte [edi + 0x72], dh
inc edx
jb 0x4479c5
add byte [eax], ah
wait
inc edx
add byte [eax], ah
wait
inc edx
add byte [eax], ah
wait
inc edx
add byte [eax], ah
wait
inc edx
add byte [esi], dh
mov es, word [edx]
ror byte [esi - 0x7121ffbe], cl
inc edx
add byte [eax + 0xb004271], cl
mov es, word [edx]
fimul word [esi + 0x71880042]
inc edx
add byte [ebx], cl
pop dword [edx]
xchg esi, eax
mov word [edx], es
mov edx, 0xee00428c
mov word [edx], es
adc dword [ebp + 0x71820042], ecx
inc edx
lea eax, [edx]
xor byte [ecx + 0x42], 0
std
jno 0x4479fd
add ch, bh
mov word [edx], es
add dword [eax], eax
add byte [eax], al
std
add byte [eax], al
add ch, bh
mov word [edx], es
xor byte [ecx + 0x42], 0
loope 0x44795a
inc edx
add byte [eax], ah
wait
inc edx
add byte [esi], dh
jno 0x447a19
add byte [edx - 0x7dffbd8f], al
jno 0x447a21
add byte [edx - 0x7dffbd8f], al
jno 0x447a29
add byte [edx + 0x31004271], al
pop dword [edx]
xor byte [ecx + 0x42], 0
ret 0x4294
cwde
inc edx
add byte [edx - 0x52ffbd8f], dh
nop
inc edx
add ah, al
pop dword [edx]
retf 0x428f
jae 0x447a5d
add byte [ebx - 0x73], bh
inc edx
add byte [ecx], al
add byte [eax], al
add dh, ch
jo 0x447a69
add byte [edx], bh
xchg ecx, eax
inc edx
add ch, bl
pop dword [edx]
sub esp, dword [edx + eax*2 + 0x42a84900]
add byte [eax], cl
movsb byte es:[edi], byte [esi]
inc edx
add byte [ebx], dl
test al, 0x42
add byte [ebp + 0x6a0042a8], dl
lodsd eax, dword [esi]
inc edx
add byte [ecx - 0x46], al
inc edx
add bl, bl
mov esi, 0xba100042
inc edx
add byte [ecx + ebp*4], al
inc edx
add dl, dl
test al, 0x42
add byte [edi - 0x48], bl
inc edx
add byte [eax - 0x7cffbd42], bh
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edx - 0x53], cl
mov eax, 0xbeb80042
inc edx
add byte [ebx + 0x4a0042a6], al
lodsd eax, dword [esi]
inc edx
add byte [ebp - 0x53], bh
inc edx
add byte [eax], ch
mov esi, 0xbc1b0042
inc edx
add byte [ecx], dl
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [ebp - 0x5e], ah
inc edx
add byte [edi - 0x50], bl
inc edx
add byte [ebp - 0x40ffbd4e], dh
test al, 0x42
add byte [ebp - 0xfffbd5b], cl
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax + edi*4], dl
inc edx
add byte [eax], ah
mov cl, 0x42
add byte [esi], ch
mov dh, 0x42
add al, ah
mov al, 0x42
add byte [ebx], al
lodsd eax, dword [esi]
inc edx
add byte [eax + 0x42], ch
add byte [esp + ebp*4 - 0x4ef2ffbe], cl
inc edx
add byte [edi + 0x330042a0], cl
mov cl, 0x42
add ah, bl
mov eax, 0xbe870042
inc edx
add byte [edx - 0x58], dh
inc edx
add dl, dh
mov ebp, 0xb0820042
inc edx
add byte [ebx], ah
lodsd eax, dword [esi]
inc edx
add byte [edx - 0x5b], bh
inc edx
add byte [0xa90042be], al
mov al, 0x42
add cl, dh
test al, 0x42
add byte [ecx + 0x600042a7], bh
mov esi, 0xaccf0042
inc edx
add ch, dh
mov dword [0xbe4b0042], eax
inc edx
add byte [eax], bh
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [ebx - 0x5a], bl
inc edx
add byte [edi - 0x54], bh
inc edx
add byte [eax - 0x1fffbd58], ch
mov dl, 0x42
add bh, dh
mov eax, 0xbab30042
inc edx
add bh, dl
mov ebp, 0xa5d20042
inc edx
add byte [eax - 0x5ffbd43], ah
mov al, 0x42
add byte [edi + 0x360042a5], ah
test al, 0x42
add byte [ebx], dh
retf