Function at 0x4200ab
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.00409570
mov dword [esp + 0x11e8], 0x77d879dc
mov dword [esp + 0x11ec], 0x73a975a9
mov dword [esp + 0x11f0], 0x4fe171a9
mov dword [esp + 0x11f4], 0x4be44de0
mov dword [esp + 0x11f8], 0x47e249e1
mov dword [esp + 0x11fc], 0x43ed45e9
mov dword [esp + 0x1200], 0x5ff0419d
mov word [esp + 0x1204], 0x5d5c
mov dword [esp + 0x1206], 0
mov dword [esp + 0xa78], 0
mov eax, dword [esp + 0xa78]
cmp eax, 0x21
ja 0x41b1c8
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa78]
mov ecx, dword [esp + 0xa78]
movzx ecx, byte [esp + ecx + 0x11e8]
add eax, 0x6ddce816
xor eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
add al, 0x92
mov ecx, dword [esp + 0xa78]
mov byte [esp + ecx + 0x11e8], al
inc dword [esp + 0xa78]
mov eax, dword [esp + 0xa78]
cmp eax, 0x22
jb 0x41b180
lea eax, [esp + 0x34]
lea ecx, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.004362d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43c7f0]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x50]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x54]
call fcn.004366e0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43c7f8]
xor eax, eax
jmp 0x41ca52
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x50]
setb al
xor esi, esi
jmp dword [eax*4 + 0x43c800]
mov edx, dword [esp + 4]
mov word [edx], 0
mov eax, dword [esp + 0xc]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x43c808]
movzx ecx, word [esp + 0x11e8]
xor edi, edi
test cx, cx
je 0x41c838
lea eax, [esp + 0x11e8]
jmp 0x41c812
inc esi
xor eax, eax
cmp esi, dword [esp + 0x50]
setb al
jmp dword [eax*4 + 0x43c800]
mov edi, dword [esp + 0x60]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41b2a3
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebx, eax
mov dword [esp + 0x5c], edi
lea eax, [esp + 0x5c]
push eax
push ebx
push esi
push dword [esp + 0x40]
call fcn.004363f0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43c810]
jmp dword [0x43c890]
lea eax, [esp + 0x4c]
push dword [esp + 0x34]
push 0
push 0x20019
push eax
push ebx
call fcn.004362d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43c818]
jmp dword [0x43c890]
mov dword [esp + 0x78], 0x73eb7105
mov dword [esp + 0x7c], 0x6ffc6d0f
mov dword [esp + 0x80], 0x6bf969ff
mov dword [esp + 0x84], 0x67f865f3
mov dword [esp + 0x88], 0x630661ec
mov dword [esp + 0x8c], 0x9f079df3
mov dword [esp + 0x90], 0x9b06990e
mov dword [esp + 0x94], 0x97199503
mov dword [esp + 0x98], 0x93b29103
mov dword [esp + 0x9c], 0x8f138df9
mov dword [esp + 0xa0], 0x8b19891b
mov dword [esp + 0xa4], 0x871985e5
mov dword [esp + 0xa8], 0x83148119
mov dword [esp + 0xac], 0xbf9ebd23
mov dword [esp + 0xb0], 0xbb37b9cb
mov dword [esp + 0xb4], 0xb725b5d6
mov dword [esp + 0xb8], 0xb321b139
mov dword [esp + 0xbc], 0xaf33ad20
mov dword [esp + 0xc0], 0xabcea93d
mov dword [esp + 0xc4], 0xa734a5d4
mov dword [esp + 0xc8], 0xa33ca137
mov dword [esp + 0xcc], 0xdf4add45
mov dword [esp + 0xd0], 0xdb49d945
mov dword [esp + 0xd4], 0xd79fd5b0
mov dword [esp + 0xd8], 0xd39dd183
mov dword [esp + 0xdc], 0xcf8dcd81
mov dword [esp + 0xe0], 0xcbb4c9b6
mov dword [esp + 0xe4], 0xc78ac594
mov dword [esp + 0xe8], 0xc391c191
mov dword [esp + 0xec], 0xffaffdad
mov dword [esp + 0xf0], 0xfb66f9a9
mov dword [esp + 0xf4], 0xf7b4f5a7
mov dword [esp + 0xf8], 0xf3baf1b8
mov dword [esp + 0xfc], 0xefbeedad
mov dword [esp + 0x100], 0xebbbe9b8
mov dword [esp + 0x104], 0xe7aae5b4
mov dword [esp + 0x108], 0xe3b0e1a2
mov dword [esp + 0x10c], 0x1f501d5d
mov dword [esp + 0x110], 0x1b551956
mov dword [esp + 0x114], 0x1772155a
mov word [esp + 0x118], 0x1110
lea eax, [esp + 0x118]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa7
ja 0x41b54a
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0x59532d6c
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0xe4
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa8
jb 0x41b500
lea edi, [esp + 0xe7a]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xf1a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x1fb71955
mov dword [esp + 0x7c], 0x63d41dbb
mov dword [esp + 0x80], 0x67d161d3
mov dword [esp + 0x84], 0x6bc065d7
mov dword [esp + 0x88], 0x6f3269dc
mov dword [esp + 0x8c], 0x73db6d37
mov dword [esp + 0x90], 0x77d271c2
mov dword [esp + 0x94], 0x7bc175c7
mov dword [esp + 0x98], 0x7f1e79cf
mov dword [esp + 0x9c], 0x43167d2e
mov dword [esp + 0xa0], 0x4701411c
mov dword [esp + 0xa4], 0x4bfc45f1
mov dword [esp + 0xa8], 0x4feb49fe
mov dword [esp + 0xac], 0x53e64dfe
mov dword [esp + 0xb0], 0x57f3510a
mov dword [esp + 0xb4], 0x5bed55e2
mov dword [esp + 0xb8], 0x5fed59f1
mov dword [esp + 0xbc], 0xa3fe5dee
mov dword [esp + 0xc0], 0xa70fa1fb
mov dword [esp + 0xc4], 0xab0ea516
mov dword [esp + 0xc8], 0xaf15a91b
mov dword [esp + 0xcc], 0xb3d2ad1b
mov dword [esp + 0xd0], 0xb713b1fd
mov dword [esp + 0xd4], 0xbb0db503
mov dword [esp + 0xd8], 0xbf15b919
mov dword [esp + 0xdc], 0x8330bd15
mov dword [esp + 0xe0], 0x87e6812b
mov dword [esp + 0xe4], 0x8b3f85d3
mov dword [esp + 0xe8], 0x8f39892e
mov dword [esp + 0xec], 0x93258d35
mov dword [esp + 0xf0], 0x97339124
mov dword [esp + 0xf4], 0x9bc69539
mov dword [esp + 0xf8], 0x9f2899c8
mov dword [esp + 0xfc], 0xe3489d2f
mov dword [esp + 0x100], 0xe74ae149
mov dword [esp + 0x104], 0xeb5de541
mov dword [esp + 0x108], 0xefbde9b4
mov dword [esp + 0x10c], 0xf346ed59
mov dword [esp + 0x110], 0xf745f15c
mov dword [esp + 0x114], 0xfb55f547
mov dword [esp + 0x118], 0xff87f9a4
mov dword [esp + 0x11c], 0xc3b9fd8b
mov dword [esp + 0x120], 0xc781c1b5
mov dword [esp + 0x124], 0xcb80c58e
mov dword [esp + 0x128], 0xcfbac9b8
mov dword [esp + 0x12c], 0xd3a5cdbd
mov dword [esp + 0x130], 0xd7a7d1a1
mov dword [esp + 0x134], 0xdb7ed5a5
mov dword [esp + 0x138], 0xdf98d9af
mov dword [esp + 0x13c], 0x235adda4
mov dword [esp + 0x140], 0x27562161
mov dword [esp + 0x144], 0x2b5b2554
mov dword [esp + 0x148], 0x2f5a2958
mov dword [esp + 0x14c], 0x33442d6a
mov dword [esp + 0x150], 0x374c3171
mov dword [esp + 0x154], 0x3b41354e
mov dword [esp + 0x158], 0x3f623942
mov dword [esp + 0x15c], 0x3d3c
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xe7
ja 0x41b865
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
lea edx, [eax + ecx]
add eax, 0x3a
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xefd9d83a
mov dword [esp + 0xa78], edx
mov eax, dword [esp + 0xa78]
add al, 0xde
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xe8
jb 0x41b810
lea edi, [esp + 0xf1c]
lea eax, [esp + 0x78]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
mov ecx, 1
lea edi, [esp + 0x1000]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x21bd27d3
mov dword [esp + 0x7c], 0xddb023bd
mov dword [esp + 0x80], 0xd953df4d
mov dword [esp + 0x84], 0xd544db49
mov dword [esp + 0x88], 0xd132d758
mov dword [esp + 0x8c], 0xcd4cd321
mov dword [esp + 0x90], 0xc955cf52
mov dword [esp + 0x94], 0xc555cb55
mov dword [esp + 0x98], 0xc115c720
mov dword [esp + 0x9c], 0xfd14c30d
mov dword [esp + 0xa0], 0xf91aff2c
mov dword [esp + 0xa4], 0xf575fb09
mov dword [esp + 0xa8], 0xf162f778
mov dword [esp + 0xac], 0xed63f361
mov dword [esp + 0xb0], 0xe90aef79
mov dword [esp + 0xb4], 0xe578eb18
mov dword [esp + 0xb8], 0xe178e775
mov dword [esp + 0xbc], 0x9d76e37b
mov dword [esp + 0xc0], 0x99139f03
mov dword [esp + 0xc4], 0x956b9b7c
mov dword [esp + 0xc8], 0x911a971b
mov dword [esp + 0xcc], 0x8d039304
mov dword [esp + 0xd0], 0x891b8f1d
mov dword [esp + 0xd4], 0x85418b6c
mov dword [esp + 0xd8], 0x814f8749
mov dword [esp + 0xdc], 0xbd7f834f
mov dword [esp + 0xe0], 0xb940bf42
mov dword [esp + 0xe4], 0xb576bb68
mov dword [esp + 0xe8], 0xb17bb767
mov dword [esp + 0xec], 0xad61b363
mov dword [esp + 0xf0], 0xa932af7f
mov dword [esp + 0xf4], 0xa568ab65
mov dword [esp + 0xf8], 0xa16ea76c
mov dword [esp + 0xfc], 0x5d72a363
mov dword [esp + 0x100], 0x598d5f8c
mov dword [esp + 0x104], 0x55965b88
mov dword [esp + 0x108], 0x51845796
mov dword [esp + 0x10c], 0x4d9c5393
mov dword [esp + 0x110], 0x49874f82
mov dword [esp + 0x114], 0x45ae4b86
mov word [esp + 0x118], 0x4744
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa4
ja 0x41baca
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0xe1aa9bf9
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0x23
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa5
jb 0x41ba80
lea edi, [esp + 0x1146]
lea eax, [esp + 0x78]
mov ebp, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0x11e6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x23bb21dd
mov dword [esp + 0x7c], 0x27b425c7
mov dword [esp + 0x80], 0xdb49d947
mov dword [esp + 0x84], 0xdf38dd43
mov dword [esp + 0x88], 0xd33ed144
mov dword [esp + 0x8c], 0xd730d52b
mov dword [esp + 0x90], 0xcb53c92e
mov dword [esp + 0x94], 0xcf2bcd2f
mov dword [esp + 0x98], 0xc313c12c
mov dword [esp + 0x9c], 0xc718c510
mov dword [esp + 0xa0], 0xfb16f928
mov dword [esp + 0xa4], 0xff6bfd03
mov dword [esp + 0xa8], 0xf36ef164
mov dword [esp + 0xac], 0xf769f56b
mov dword [esp + 0xb0], 0xeb06e973
mov dword [esp + 0xb4], 0xef7ced1c
mov dword [esp + 0xb8], 0xe304e17f
mov dword [esp + 0xbc], 0xe77ae57d
mov dword [esp + 0xc0], 0x9b09997d
mov dword [esp + 0xc4], 0x9f619d70
mov dword [esp + 0xc8], 0x93069105
mov dword [esp + 0xcc], 0x97099508
mov dword [esp + 0xd0], 0x8b118917
mov dword [esp + 0xd4], 0x8f478d60
mov dword [esp + 0xd8], 0x83558153
mov dword [esp + 0xdc], 0x87458551
mov dword [esp + 0xe0], 0xbb7cb97e
mov dword [esp + 0xe4], 0xbf6abd6c
mov dword [esp + 0xe8], 0xb361b161
mov dword [esp + 0xec], 0xb767b565
mov dword [esp + 0xf0], 0xab4ea979
mov dword [esp + 0xf4], 0xaf6cad7f
mov dword [esp + 0xf8], 0xa36aa168
mov dword [esp + 0xfc], 0xa776a565
mov dword [esp + 0x100], 0x5b8b5988
mov dword [esp + 0x104], 0x5f8a5d8c
mov dword [esp + 0x108], 0x53805192
mov dword [esp + 0x10c], 0x57805595
mov dword [esp + 0x110], 0x4b9d499e
mov dword [esp + 0x114], 0x4fa24d9a
mov word [esp + 0x118], 0x4140
mov dword [esp + 0x11a], 0
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0xa5
ja 0x41bd2a
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
movzx ecx, byte [esp + ecx + 0x78]
add eax, 0xa7fcf3f8
xor eax, ecx
mov dword [esp + 0xa78], eax
mov eax, dword [esp + 0xa78]
add al, 0x28
mov ecx, dword [esp + 0x878]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0xa6
jb 0x41bce0
lea eax, [esp + 0x10a4]
lea edx, [esp + 0x78]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x118]
lea edi, [esp + 0x1144]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0xe17de753
mov dword [esp + 0x7c], 0xdd70e37d
mov dword [esp + 0x80], 0xd953df4d
mov dword [esp + 0x84], 0xd544db49
mov dword [esp + 0x88], 0xd172d758
mov dword [esp + 0x8c], 0xcd4cd361
mov dword [esp + 0x90], 0xc955cf52
mov dword [esp + 0x94], 0xc555cb55
mov dword [esp + 0x98], 0xc195c760
mov dword [esp + 0x9c], 0x3d94c38f
mov dword [esp + 0xa0], 0x399a3f6c
mov dword [esp + 0xa4], 0x35b53b89
mov dword [esp + 0xa8], 0x31a237b8
mov dword [esp + 0xac], 0x2da333a1
mov dword [esp + 0xb0], 0x298a2fb9
mov dword [esp + 0xb4], 0x25b82b98
mov dword [esp + 0xb8], 0x21b827b5
mov dword [esp + 0xbc], 0x1db623bb
mov dword [esp + 0xc0], 0x19931f83
mov dword [esp + 0xc4], 0x15ab1bbc
mov dword [esp + 0xc8], 0x119a179b
mov dword [esp + 0xcc], 0xd831384
mov dword [esp + 0xd0], 0x99b0f9d
mov dword [esp + 0xd4], 0x5410bac
mov dword [esp + 0xd8], 0x14f0749
mov dword [esp + 0xdc], 0x7dbf034f
mov dword [esp + 0xe0], 0x79c07fc2
mov dword [esp + 0xe4], 0x75367b28
mov dword [esp + 0xe8], 0x713b7727
mov dword [esp + 0xec], 0x6d217323
mov dword [esp + 0xf0], 0x69f26f3f
mov dword [esp + 0xf4], 0x65286b25
mov dword [esp + 0xf8], 0x612e672c
mov dword [esp + 0xfc], 0x5d326323
mov dword [esp + 0x100], 0x590d5f0c
mov dword [esp + 0x104], 0x55165b08
mov dword [esp + 0x108], 0x51045716
mov dword [esp + 0x10c], 0x4d1c5313
mov dword [esp + 0x110], 0x49074f02
mov dword [esp + 0x114], 0x45ee4b06
mov word [esp + 0x118], 0x4744
lea ecx, [esp + 0x118]
mov word [ecx + 6], 0
mov dword [ecx + 2], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa7
ja 0x41bf9d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0xfd3c64d9
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
add cl, 0xc3
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0xa8
jb 0x41bf50
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
lea edx, [esp + 0x1002]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
lea edi, [esp + 0x10a2]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe7a]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0xf1c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x43c820]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x878], 0xb8bbba85
mov dword [esp + 0xa78], 0
mov ecx, dword [esp + 0xa78]
cmp ecx, 3
ja 0x41c08a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa78]
mov edx, dword [esp + 0xa78]
movzx edx, byte [esp + edx + 0x878]
add ecx, 0xb81aaadf
xor ecx, edx
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x78]
add cl, 0xa5
mov edx, dword [esp + 0xa78]
mov byte [esp + edx + 0x878], cl
inc dword [esp + 0xa78]
mov ecx, dword [esp + 0xa78]
cmp ecx, 4
jb 0x41c040
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x41c7a0
mov edx, dword [esp + 0x878]
xor edi, edi
mov ebx, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41c794
inc edi
cmp ecx, edi
jne 0x41c0b0
jmp 0x41c7a0
mov ecx, dword [esp + 0x54]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x43c820]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0xf786f988
mov dword [esp + 0x7c], 0xf382f584
mov dword [esp + 0x80], 0xcfbef180
mov dword [esp + 0x84], 0xcb62cdbc
mov word [esp + 0x88], 0xc9c8
lea ecx, [esp + 0x118]
mov byte [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x878], 0
mov ecx, dword [esp + 0x878]
cmp ecx, 0x16
ja 0x41c1a3
nop
nop
nop
mov ecx, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx edx, byte [esp + edx + 0x78]
add ecx, 0xaf40cd6
xor ecx, edx
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xa78]
mov edx, ecx
xor edx, 0x2e
and ecx, 0x51
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], cl
inc dword [esp + 0x878]
mov ecx, dword [esp + 0x878]
cmp ecx, 0x17
jb 0x41c150
movzx ecx, word [eax]
lea esi, [esp + 0x878]
test cx, cx
je 0x41c1d1
add eax, 2
nop
nop
nop
nop
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 0x41c1c0
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x41c201
lea ecx, [esp + 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c1f0
mov word [esi], 0
mov eax, dword [case.0x41c003.4]
mov dword [esp + 0x40], esi
nop
jmp eax
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x43c838]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x43c838]
mov word [esi - 2], di
lea eax, [esp + 0x48]
lea ecx, [esp + 0x878]
push dword [esp + 0x4c]
push 0
push 0x20019
push eax
push ecx
call fcn.004362d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43c840]
mov dword [esp + 0x58], 0x800
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], 0x400
xor esi, esi
mov dword [esp + 0x10], 0
jmp 0x41c2ad
mov esi, dword [esp + 4]
mov dword [esi], 0x20003a
add esi, 4
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x14]
inc esi
lea eax, [esp + 0x2c]
lea edi, [esp + 0xa78]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x58]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x28], esi
push esi
push dword [esp + 0x60]
call fcn.004369d0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43c848]
test byte [esp + 0x10], 1
sete al
cmp dword [esp + 0x30], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43c850]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
jmp dword [eax*4 + 0x43c860]
mov eax, dword [case.0x41c78d.16]
mov esi, dword [esp + 0x14]
nop
jmp eax
mov dword [esp + 0x18], 0x41ab4787
mov dword [esp + 0x1c], 0x4dd343ad
mov dword [esp + 0x20], 0x49d84fd3
mov dword [esp + 0x24], 0x754a4bd4
lea eax, [esp + 0x28]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x41c39e
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0xd7d1411
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xab
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x41c370
movzx ebx, word [esp + 0x18]
lea esi, [esp + 0x78]
test bx, bx
je 0x41c3ec
lea eax, [esp + 0x78]
lea edx, [esp + 0x18]
mov esi, eax
jmp 0x41c3c8
movzx ebx, word [edx]
test bx, bx
je 0x41c3ec
movzx ebp, word [eax]
test bp, bp
je 0x41c3ea
add eax, 2
add edx, 2
lea ecx, [esi + 2]
cmp bp, bx
je 0x41c3e2
mov esi, ecx
mov eax, ecx
je 0x41c3c0
lea edx, [esp + 0x18]
jmp 0x41c3c0
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43c858]
xor eax, eax
cmp dword [esp + 0x30], 3
sete al
jmp dword [eax*4 + 0x43c860]
mov dword [esp + 0x18], 0xf75709b8
mov dword [esp + 0x1c], 0xf36df56b
mov dword [esp + 0x20], 0xff6df16b
mov dword [esp + 0x24], 0xfb56fd62
mov dword [esp + 0x28], 0xf9f8
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41c495
nop
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 + 0x18]
lea edx, [eax + ecx]
add edx, 0xcbfde37e
add eax, 0xcbfde37e
and eax, ecx
mov ecx, edx
xor ecx, eax
add 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, 0x8a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41c450
jmp dword [0x43c86c]
mov eax, dword [esp + 0x2c]
cmp eax, 2
jb 0x41c291
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x41c4f4
mov dword [esp + 0x10], ecx
xor ebx, ebx
lea edi, [esp + 0xa78]
mov ebp, dword [esp + 4]
nop
nop
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 0x41c4d0
mov dword [esp + 4], ebp
sub eax, ebx
mov ecx, dword [esp + 0x10]
cmp ecx, 3
mov esi, dword [esp + 4]
jb 0x41c295
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 ebx, [edi + edx*2]
mov word [esi], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea edi, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x41c510
jmp 0x41c295
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x78]
test di, di
je 0x41c5c0
lea ecx, [esp + 0x78]
lea edx, [esp + 0x18]
mov eax, ecx
jmp 0x41c598
movzx edi, word [edx]
test di, di
je 0x41c5c0
movzx ebx, word [ecx]
test bx, bx
je 0x41c5d0
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x41c5b2
mov eax, esi
mov ecx, esi
je 0x41c590
lea edx, [esp + 0x18]
jmp 0x41c590
jmp dword [0x43c870]
xor eax, eax
jmp dword [0x43c870]
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x14]
jmp dword [ecx*4 + 0x43c878]
mov eax, dword [esp + 0x2c]
cmp eax, 2
jae 0x41c5fc
mov ebp, dword [esp + 4]
jmp 0x41c6a7
shr eax, 1
lea esi, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xa78]
and edi, 3
mov ebp, dword [esp + 4]
je 0x41c640
mov dword [esp + 0xc], esi
xor ebx, ebx
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 0x41c620
sub eax, ebx
mov esi, dword [esp + 0xc]
cmp esi, 3
mov esi, dword [esp + 0x14]
jb 0x41c6a7
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [ebp], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x41c650
mov esi, dword [esp + 0x14]
mov word [ebp], 0xa
add ebp, 2
mov dword [esp + 4], ebp
mov al, 1
mov dword [esp + 0xc], eax
inc esi
jmp 0x41c2ad
mov eax, dword [esp + 0x48]
mov dword [esp], 0xb8bbba85
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x41c713
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xb81aaadf
xor ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0xa5
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x41c6e0
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x41c750
mov edx, dword [esp]
xor edi, edi
mov ebx, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41c740
inc edi
cmp ecx, edi
jne 0x41c730
jmp 0x41c750
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x41c762
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x44]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x40]
jmp dword [eax*4 + 0x43c838]
push eax
push 1
push dword [0x440ef0]
push ecx
call fcn.00433ae0
add esp, 0x10
mov edi, dword [esp + 0x44]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x40]
jmp dword [eax*4 + 0x43c838]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x41c7b4
nop
nop
nop
nop
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
jmp dword [0x43c890]
jmp dword [0x43c898]
push eax
push 1
push dword [0x440ef0]
push ecx
call fcn.00433ae0
add esp, 0x10
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
jmp dword [0x43c890]
push ebx
call fcn.004095b0
add esp, 4
push ebx
call fcn.004095b0
add esp, 4
jmp dword [0x43c8a0]
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 4]
je 0x41c838
cmp eax, edx
jae 0x41c838
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41c800
mov edx, ecx
jmp 0x41c800
lea eax, [edi + 1]
mov dword [esp + 0x10], eax
push eax
mov esi, edx
call fcn.004095a0
add esp, 4
mov ebp, eax
lea eax, [esp + 0x11e8]
cmp eax, esi
setb al
mov esi, ebp
mov ecx, edi
mov dword [esp + 0xc], edi
test edi, edi
jle 0x41c937
mov ebp, esi
test al, al
je 0x41c937
mov ebp, esi
mov eax, dword [esp + 0xc]
add eax, esi
mov dword [esp + 0x14], eax
add dword [esp + 0x10], esi
lea edx, [esp + 0x11ea]
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x41c937
cmp cx, 0x7f
ja 0x41c8b0
mov byte [ebp], cl
mov edi, 1
jmp 0x41c920
mov eax, ebp
not eax
add eax, dword [esp + 0x10]
movzx ebx, cx
cmp eax, 2
jb 0x41c8f0
cmp ebx, 0x7ff
ja 0x41c8f0
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebp], al
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 1], cl
mov edi, 2
jmp 0x41c920
xor edi, edi
cmp eax, 3
jb 0x41c920
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [ebp], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [ebp + 1], bl
mov eax, ecx
not eax
or eax, 0x3f
add eax, ecx
add al, 0x81
mov byte [ebp + 2], al
mov edi, 3
add ebp, edi
cmp ebp, dword [esp + 0x14]
jae 0x41c937
lea eax, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, eax
jb 0x41c890
mov ecx, dword [esp + 0x21fc]
mov byte [ebp], 0
mov dword [esp + 0x78], 0x2f3231c1
mov dword [esp + 0x7c], 0x3327262d
mov dword [esp + 0x80], 0x38242621
mov dword [esp + 0x84], 0x3b3bc2e3
mov dword [esp + 0x88], 0x383d3e3c
mov dword [esp + 0x8c], 0x3824c5fb
mov dword [esp + 0x90], 0x3e36303e
mov dword [esp + 0x94], 0x272af32f
mov word [esp + 0x98], 0xe154
mov dword [esp + 0x9a], 0
mov byte [esp + 0x9e], 0
mov edi, dword [esp + 0xc]
mov ebx, esi
mov dword [esp + 0x878], 0
mov eax, dword [esp + 0x878]
cmp eax, 0x26
ja 0x41ca31
nop
nop
mov eax, dword [esp + 0x878]
mov edx, dword [esp + 0x878]
movzx esi, byte [esp + edx + 0x78]
lea edx, [eax + 0xa0]
and edx, esi
add eax, esi
sub eax, edx
mov esi, 0xa95ab85f
sub esi, eax
add eax, 0x5b907fa0
and esi, edx
not edx
and edx, eax
sub edx, esi
mov dword [esp + 0xa78], edx
mov eax, dword [esp + 0xa78]
add al, 0xe0
mov edx, dword [esp + 0x878]
mov byte [esp + edx + 0x78], al
inc dword [esp + 0x878]
mov eax, dword [esp + 0x878]
cmp eax, 0x27
jb 0x41c9d0
lea eax, [esp + 0x78]
push edi
push ebx
push eax
call fcn.0040a0a0
jmp dword [0x43c8a8]
push ebx
mov esi, eax
call fcn.004095b0
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e8
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 + 0x43ce34]
movzx ecx, word [esi]
test cx, cx
je 0x41d507
mov eax, esi
xor esi, esi
jmp 0x41d3fe
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x43ce2c]
jmp dword [edx*4 + 0x43cdcc]
mov dword [esp + 0x4c], 0xb748896c
mov dword [esp + 0x50], 0xb379b579
mov dword [esp + 0x54], 0xbf41b179
mov dword [esp + 0x58], 0xbb44bd40
mov dword [esp + 0x5c], 0xa742b941
mov dword [esp + 0x60], 0xa363a551
mov dword [esp + 0x64], 0xaf66a16f
mov dword [esp + 0x68], 0xab58ad65
mov dword [esp + 0x6c], 0x57b2a965
mov dword [esp + 0x70], 0x53a155ab
mov dword [esp + 0x74], 0x5fa2519a
mov dword [esp + 0x78], 0x5b9b5da7
mov dword [esp + 0x7c], 0x478b59a6
mov dword [esp + 0x80], 0x43b745a0
mov dword [esp + 0x84], 0x4fa141a9
mov dword [esp + 0x88], 0x4bd94dd2
mov dword [esp + 0x8c], 0x77e549d7
mov dword [esp + 0x90], 0x73ee759e
mov dword [esp + 0x94], 0x7f857194
mov dword [esp + 0x98], 0x7be87d95
mov dword [esp + 0x9c], 0x67f57994
mov dword [esp + 0xa0], 0x63fd65ff
mov dword [esp + 0xa4], 0x6fa16184
mov dword [esp + 0xa8], 0x6bf46df1
mov dword [esp + 0xac], 0x17fb69f6
mov dword [esp + 0xb0], 0x138e1586
mov dword [esp + 0xb4], 0x1ff311ea
mov dword [esp + 0xb8], 0x1b851d82
mov dword [esp + 0xbc], 0x79519f1
mov dword [esp + 0xc0], 0x3e60596
mov dword [esp + 0xc4], 0xf9c01fd
mov dword [esp + 0xc8], 0xb980de5
mov dword [esp + 0xcc], 0x37aa0997
mov dword [esp + 0xd0], 0x33a635d5
mov dword [esp + 0xd4], 0x3f3e31a4
lea ecx, [esp + 0xd8]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x8e
ja 0x41cfb3
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 + 0x4c]
add ecx, 0x3498105e
xor ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x2a
mov edx, dword [esp]
mov byte [esp + edx + 0x4c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x8f
jb 0x41cf80
lea ecx, [esp + 0x10]
lea edx, [esp + 0x4c]
push 0
push 0
push eax
push ecx
push edx
call fcn.004362d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43cdd4]
lea eax, [esp + 0x48]
lea ecx, [esp + 0xc]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x30]
call fcn.004366e0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43cddc]
jmp 0x41d07e
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43ce24]
mov eax, dword [esp + 0xc]
mov ecx, eax
shl ecx, 9
lea eax, [ecx + eax*8]
add eax, edi
push eax
push dword [esp + 0xc]
call fcn.00433a10
add esp, 8
mov dword [esp + 8], eax
lea ebp, [eax + edi*2]
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x43cdf4]
mov word [ebp], 0
mov edi, ebp
sub edi, dword [esp + 8]
sar edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], 0x6c6d6e6f
mov word [esp + 0x50], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41d0d0
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x4c]
add ecx, 0x7b264b98
xor ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 8
mov edx, dword [esp]
mov byte [esp + edx + 0x4c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x41d0a0
mov ecx, dword [0x440ee8]
test ecx, ecx
je case.default.0x41d3aa
mov edx, dword [esp + 0x4c]
xor esi, esi
mov ebx, dword [0x440eec]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x41d36b
inc esi
cmp ecx, esi
jne 0x41d0f0
jmp case.default.0x41d3aa
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x43cdf4]
mov esi, dword [esp + 0x48]
mov eax, esi
inc eax
jns 0x41d140
mov eax, 0xffffffff
jmp 0x41d147
lea eax, [esi*2 + 2]
push eax
call fcn.004095a0
add esp, 4
mov edi, eax
mov dword [esp + 0x44], esi
lea eax, [esp + 0x44]
push eax
push edi
push ebx
push dword [esp + 0x1c]
call fcn.004363f0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43cdfc]
jmp dword [0x43ce14]
lea eax, [esp + 0x34]
push dword [esp + 0x10]
push 0
push 0x20019
push eax
push edi
call fcn.004362d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ce04]
jmp dword [0x43ce14]
mov dword [esp + 0x40], 0x800
mov dword [esp + 0x18], 0x73db71bc
mov dword [esp + 0x1c], 0x7fce7dcf
mov dword [esp + 0x20], 0x7bdb79cc
mov dword [esp + 0x24], 0x479045fd
mov dword [esp + 0x28], 0x43f741e1
mov dword [esp + 0x2c], 0x4f4e4de1
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x17
ja 0x41d231
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0x2c063e14
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x9c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x18
jb 0x41d200
lea eax, [esp + 0x40]
lea ecx, [esp + 0x18]
push eax
lea eax, [esp + 0x50]
push eax
push 0
push ecx
push dword [esp + 0x44]
call fcn.00436cf0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ce0c]
jmp 0x41d28b
movzx eax, word [esp + 0x4c]
test ax, ax
je 0x41d282
lea ecx, [esp + 0x4e]
nop
nop
nop
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41d270
mov word [ebp], 0xa
add ebp, 2
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x6c6d6e6f
mov word [esp + 0x1c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x41d2f1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0x7b264b98
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x41d2c0
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x41d330
mov edx, dword [esp + 0x18]
xor esi, esi
mov eax, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x625b6034
je 0x41d320
inc esi
cmp ecx, esi
jne 0x41d310
jmp 0x41d330
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x41d350
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43ce14]
push edi
call fcn.004095b0
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0xc]
setb al
jmp dword [eax*4 + 0x43cdf4]
push dword [esp + 0x14]
push 1
push dword [0x440ef0]
push eax
call fcn.00433ae0
add esp, 0x10
jmp dword [0x43ce14]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x41d3aa
push eax
push 1
push dword [0x440ef0]
push ecx
call fcn.00433ae0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x4c]
push eax
call fcn.00435950
add esp, 4
cmp dword [esp + 0x4c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43ce1c]
xor ecx, ecx
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43ce24]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43ce24]
add esi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x41d428
test ebp, ebp
je 0x41d406
cmp eax, ebp
jae 0x41d428
movzx edi, cx
cmp edi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp edi, 0x80
jb 0x41d3f0
mov edx, ecx
jmp 0x41d3f0
lea edi, [esi + 1]
push edi
call fcn.004095a0
add esp, 4
test esi, esi
mov dword [esp + 0x30], eax
jle 0x41d51b
lea ecx, [eax + esi]
mov dword [esp + 0x14], ecx
add edi, eax
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 8]
mov edi, eax
jmp 0x41d476
mov byte [edi], bl
mov ecx, 1
add edx, 2
add edi, ecx
cmp edi, dword [esp + 0x14]
jae 0x41d51d
test ebp, ebp
je 0x41d482
cmp edx, ebp
jae 0x41d51d
movzx ebx, word [edx]
test bx, bx
je 0x41d51d
cmp bx, 0x7f
jbe 0x41d460
mov eax, edi
not eax
add eax, dword [esp + 0x3c]
movzx ecx, bx
cmp eax, 2
jb 0x41d4d0
cmp ecx, 0x7ff
ja 0x41d4d0
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 0x41d467
mov dword [esp + 0x38], ecx
xor ecx, ecx
cmp eax, 3
jb 0x41d467
mov ecx, dword [esp + 0x38]
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 ecx, 3
jmp 0x41d467
xor esi, esi
push 1
call fcn.004095a0
add esp, 4
mov edi, eax
mov dword [esp + 0x30], eax
jmp 0x41d51d
mov edi, eax
mov ecx, dword [esp + 0x860]
mov byte [edi], 0
mov dword [esp + 0x4c], 0x1fece6c3
mov dword [esp + 0x50], 0xd2dccc23
mov dword [esp + 0x54], 0x2722259e
mov byte [esp + 0x58], 0xa4
mov dword [esp + 0x59], 0
mov dword [esp + 0x5c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41d59e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x4c]
add eax, 0x7d5fd89c
xor eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0xf4
mov edx, dword [esp]
mov byte [esp + edx + 0x4c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41d570
lea eax, [esp + 0x4c]
push esi
mov edi, dword [esp + 0x34]
push edi
push eax
call fcn.0040a0a0
mov ebx, eax
mov esi, dword [esp + 8]
jmp dword [0x43ce3c]
push edi
call fcn.004095b0
add esp, 4
push esi
call fcn.00431bc0
add esp, 4
mov eax, ebx
add esp, 0x84c
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x34]
push 0x410
call fcn.00431e70
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43ce4c]
jmp dword [0x43cf2c]
mov dword [esp + 0x4c], 0xfaa5ecfb
mov dword [esp + 0x50], 0xd4f6dbfc
mov dword [esp + 0x54], 0xc0cfc5e7
mov dword [esp + 0x58], 0xfdcacee3
mov dword [esp + 0x5c], 0xdcedeafa
mov dword [esp + 0x60], 0xd5e8eeeb
mov dword [esp + 0x64], 0xd2d3f6ee
mov dword [esp + 0x68], 0xde89d0f9
mov dword [esp + 0x6c], 0xfef4eef6
mov dword [esp + 0x70], 0xa6fd93ef
mov dword [esp + 0x74], 0x39ee8787
mov dword [esp + 0x78], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x41dbde
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x4c]
add eax, 0x63ef7219
xor eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add al, 0x83
mov ecx, dword [esp]
mov byte [esp + ecx + 0x4c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x41dbb0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x34]
push 0
push 0x2b
push ebp
push eax
call fcn.004324e0
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
xor eax, eax
cmp ebx, esi
sete al
xor edi, edi
mov dword [esp + 0x48], esi
jmp dword [eax*4 + 0x43ce54]
mov eax, esi
sub eax, ebx
sar eax, 2
mov ecx, eax
or ecx, 0x421
mov edx, eax
and edx, 0x421
imul ecx, edx
xor edx, 0x421
and eax, 0xfffffbde
imul eax, edx
add eax, ecx
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x24], 0
xor ecx, ecx
cmp ebx, esi
setne cl
mov dword [esp + 0x20], eax
mov dword [esp + 8], eax
jmp dword [ecx*4 + 0x43ce5c]
mov ebx, dword [esp + 0x24]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43ce64]
mov esi, dword [esp + 0x20]
jmp dword [0x43cf14]
add ebx, 4
xor eax, eax
mov esi, dword [esp + 0x48]
cmp ebx, esi
setne al
jmp dword [eax*4 + 0x43ce5c]
mov esi, dword [ebx]
push 0x400
push 0
push ebp
call fcn.00409730
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x34]
push eax
push 0x400
push ebp
push esi
call fcn.00432300
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx ecx, cl
mov eax, 1
jmp dword [ecx*4 + 0x43ce6c]
xor eax, eax
jmp dword [0x43ce7c]
jmp dword [eax*4 + 0x43ce84]
jmp dword [0x43ce94]
mov byte [esp + 0x44b], 0
movzx eax, byte [esp + 0x4c]
xor esi, esi
test al, al
je 0x41dcf0
mov ecx, ebp
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41dd20
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41dd10
jmp 0x41dcf0
mov esi, ecx
jmp dword [0x43ce94]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43ce9c]
jmp dword [0x43ceb0]
lea eax, [esi + 1]
movzx edx, byte [esi + 1]
xor ecx, ecx
test dl, dl
je 0x41dd40
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dl, 0x2e
je 0x41dd70
movzx edx, byte [edi + 1]
inc edi
test dl, dl
jne 0x41dd60
jmp 0x41dd40
mov ecx, edi
jmp dword [0x43ceb0]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x43ceb4]
mov dword [esp + 0x44], ebx
mov edi, ecx
not edi
and edi, eax
mov ebx, eax
not ebx
and ebx, ecx
mov edx, ebx
sub edx, edi
lea ebp, [edx + edx*2]
shr ebp, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x41ddaf
cmp ecx, 0x2e
jne 0x41ddb0
dec ebp
mov ecx, edx
xor ecx, 2
mov dword [esp + 0x10], edx
and edx, 0xfffffffd
add edx, edx
sub edx, ecx
movzx eax, byte [eax + edx]
cmp eax, 0x3d
je 0x41ddce
cmp eax, 0x2e
jne 0x41ddcf
dec ebp
mov dword [esp + 0x40], ebp
lea eax, [ebp + 1]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0xc], eax
cmp ebx, edi
mov edi, dword [esp + 0x10]
jne 0x41de1f
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0xc]
mov byte [esi + eax], 0
push esi
call fcn.00402500
add esp, 4
mov ebx, eax
jmp dword [0x43cebc]
push esi
call fcn.004095b0
add esp, 4
lea ebp, [esp + 0x4c]
mov esi, dword [esp + 8]
jmp dword [0x43cec8]
xor edx, edx
mov ebp, 2
jmp 0x41de44
mov ecx, edi
lea eax, [ebp + 4]
add ebp, 2
mov edx, dword [esp + 0x14]
cmp ebp, ecx
mov ebp, eax
mov edi, ecx
jae 0x41ddeb
mov dword [esp + 0x18], edx
movzx eax, byte [esi + ebp - 1]
push eax
call fcn.00415bc0
add esp, 4
mov ebx, eax
movzx eax, byte [esi + ebp]
push eax
call fcn.00415bc0
mov edx, dword [esp + 0x1c]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [edx + 1]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx + edx], al
cmp ebp, edi
jae 0x41de30
movzx eax, byte [esi + ebp + 1]
push eax
call fcn.00415bc0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x41de32
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x18]
lea edx, [edi + 2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xc]
mov byte [edx + edi + 1], al
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x41de32
movzx eax, byte [esi + ebp + 2]
push eax
call fcn.00415bc0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x41de32
shl bl, 6
add al, bl
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
mov byte [edx + edi + 2], al
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x41de32
lea ebp, [esp + 0x4c]
mov esi, dword [esp + 8]
jmp dword [0x43cec8]
movzx ecx, byte [eax]
test cl, cl
je 0x41df2b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41df20
mov word [esi], 0x203a
add esi, 2
jmp case.0x41dfc8.0
push ebx
call fcn.00402fb0
add esp, 4
push ebx
call fcn.00402fb0
add esp, 4
jmp dword [0x43cecc]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ced4]
jmp 0x41dff9
mov dword [esp + 0x1c], 0x33504c43
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x41dfb3
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xf8d18434
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0xfc
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x1c], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x41df80
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.00402d70
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43cedc]
movzx eax, byte [esp + 0x4c]
test al, al
je 0x41dfeb
lea ecx, [esp + 0x4d]
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41dfe0
mov byte [esi], 0xa
inc esi
mov dword [esp + 8], esi
mov al, 1
mov dword [esp + 0x24], eax
push ebx
call fcn.00403550
add esp, 4
mov ebx, dword [esp + 0x44]
mov eax, dword [case.0x41dc06.12]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 0x4c], 0x736e6959
mov dword [esp + 0x50], 0x57437a75
mov dword [esp + 0x54], 0x50545249
mov dword [esp + 0x58], 0x4e5e7297
mov dword [esp + 0x5c], 0x7b9d4449
mov dword [esp + 0x60], 0x4157425f
mov dword [esp + 0x64], 0x4f428347
mov word [esp + 0x68], 0xb540
mov dword [esp + 0x6a], 0
mov byte [esp + 0x6e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x22
mov esi, dword [esp + 0x20]
ja case.0x41c78d.111
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x4c]
add eax, 0x2ab73dda
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xbe
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x4c], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x23
jb 0x41e080
mov edx, dword [esp + 8]
sub edx, esi
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x460]
push edx
push esi
push eax
call fcn.0040a0a0
mov ebx, eax
mov eax, dword [case.0x41dc06.42]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43cf14]
push esi
call fcn.004095b0
add esp, 4
and bl, 1
mov edi, ebx
mov eax, dword [case.0x41dc06.1]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41e119
cmp eax, dword [esp + 0x2c]
je 0x41e119
push eax
call fcn.004095b0
add esp, 4
mov ebx, edi
jmp dword [0x43cf2c]
lea ecx, [esp + 0x34]
call fcn.00432000
lea ecx, [esp + 0x34]
call fcn.00432000
jmp dword [0x43cf38]
mov eax, ebx
add esp, 0x44c
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x43cf84]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add eax, 2
cmp word [ecx], 0
jne 0x41e190
sub ecx, esi
mov eax, ecx
sar eax, 1
and ecx, 0x26
xor eax, 0x13
add eax, ecx
jns 0x41e56b
mov eax, 0xffffffff
jmp 0x41e56d
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x43cf7c]
jmp dword [edx*4 + 0x43cf3c]
mov dword [esp + 0x34], 0xe95ceb58
mov dword [esp + 0x38], 0xeda7efa3
mov dword [esp + 0x3c], 0xd167d3a3
mov dword [esp + 0x40], 0xd560d764
mov dword [esp + 0x44], 0xd966db6b
mov dword [esp + 0x48], 0xdd99df6b
mov dword [esp + 0x4c], 0xc18ac399
mov dword [esp + 0x50], 0xc574c78f
mov dword [esp + 0x54], 0xc976cb8f
mov dword [esp + 0x58], 0xcd7fcf7d
mov dword [esp + 0x5c], 0x31863386
mov dword [esp + 0x60], 0x35713789
mov dword [esp + 0x64], 0x39713b82
mov dword [esp + 0x68], 0x3d843f84
mov dword [esp + 0x6c], 0x218e239b
mov dword [esp + 0x70], 0x258d27ba
mov dword [esp + 0x74], 0x299f2b98
mov dword [esp + 0x78], 0x2d852fbc
mov dword [esp + 0x7c], 0x1181138b
mov word [esp + 0x80], 0x1710
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x52
ja 0x41e2d0
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 + 0x34]
add ecx, 0xdefd8057
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x4d
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x53
jb 0x41e2a0
lea ecx, [esp + 0x1c]
lea ebp, [esp + 0x34]
push 0
push 0
push eax
push ecx
push ebp
call fcn.004362d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43cf44]
lea edi, [esp + 0x94]
lea eax, [esp + 0x30]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.004366e0
add esp, 0x24
not eax
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x43cf4c]
mov ecx, dword [esp + 0x94]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x41e33a
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov esi, eax
mov dword [esp + 0x34], 0x3ec01c9
mov dword [esp + 0x38], 0x7f205f7
mov dword [esp + 0x3c], 0xbe609e9
mov dword [esp + 0x40], 0xfde0de0
mov dword [esp + 0x44], 0x13e611f1
mov dword [esp + 0x48], 0x171615fc
mov word [esp + 0x4c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x41e3be
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0xfaa47dc0
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x40
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x41e390
push edi
push esi
push 0
push ebp
push dword [esp + 0x2c]
call fcn.00436cf0
add esp, 0x14
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x43cf54]
xor ebx, ebx
jmp dword [0x43cf5c]
push esi
call fcn.004095b0
add esp, 4
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], 0x6c6d6e6f
mov word [esp + 0x38], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41e450
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 + 0x34]
add ecx, 0x7b264b98
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 8
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x41e420
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x41e4b0
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41e49b
inc esi
cmp ecx, esi
jne 0x41e470
jmp 0x41e4b0
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43cf74]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x41e4b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43cf64]
mov esi, ebx
push ebp
call fcn.00435950
add esp, 4
cmp dword [esp + 0x34], 1
sete cl
and cl, al
movzx eax, cl
lea edi, [esp + 0x82]
jmp dword [eax*4 + 0x43cf6c]
xor edx, edx
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
xor ecx, ecx
jmp dword [ebx*4 + 0x43cf74]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43cf74]
push eax
push 1
push dword [0x440ef0]
push ecx
call fcn.00433ae0
add esp, 0x10
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43cf64]
mov esi, ebx
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
lea edi, [esp + 0x82]
jmp dword [ebx*4 + 0x43cf74]
xor ebx, ebx
jmp 0x41eda1
add eax, eax
push eax
call fcn.004095a0
add esp, 4
mov edi, eax
mov dword [esp + 0x34], 0x33913194
mov dword [esp + 0x38], 0x2fb82dbb
mov dword [esp + 0x3c], 0x2bb329b6
mov dword [esp + 0x40], 0x278225bb
mov dword [esp + 0x44], 0x23b52183
mov dword [esp + 0x48], 0x1f801d8a
mov dword [esp + 0x4c], 0x1b851981
mov dword [esp + 0x50], 0x179815c2
mov dword [esp + 0x54], 0x138c118c
mov word [esp + 0x58], 0xd0c
mov dword [esp + 0x5a], 0
mov byte [esp + 0x5e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2a
ja 0x41e61e
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 + 0x34]
add eax, 0xb8560acc
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2b
jb 0x41e5f0
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x41e641
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41e630
mov word [eax], 0
movzx ecx, word [esp + 0x34]
test cx, cx
je 0x41e671
lea edx, [esp + 0x36]
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 0x41e660
mov word [eax], 0
jmp dword [0x43cf8c]
push esi
call fcn.004095b0
add esp, 4
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x43cf94]
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x43cf94]
mov dword [esp + 0x34], 0x13581153
mov dword [esp + 0x38], 0x6fcd6dc8
mov dword [esp + 0x3c], 0x6bdc69df
mov dword [esp + 0x40], 0x67df65da
mov dword [esp + 0x44], 0x63c661df
mov dword [esp + 0x48], 0x7fc97ddf
mov dword [esp + 0x4c], 0x7bc479ce
mov dword [esp + 0x50], 0x77c975cd
mov dword [esp + 0x54], 0x73fc7106
mov dword [esp + 0x58], 0x4ff04df0
mov word [esp + 0x5c], 0x4948
mov dword [esp + 0x5e], 0
mov byte [esp + 0x62], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x41e75f
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
lea edx, [eax + 0x1443c]
mov esi, edx
and esi, ecx
xor edx, ecx
lea edx, [edx + esi*2]
add eax, 0x3c
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0xd4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x41e720
lea eax, [esp + 0x34]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00435b60
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x90], edi
jmp dword [eax*4 + 0x43cf9c]
xor ebp, ebp
mov eax, dword [case.0x41e8f8.23]
xor edi, edi
jmp case.0x41e8f8.20
lea eax, [esp + 0x30]
push 0
push eax
push dword [esp + 0x24]
call fcn.00435ec0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x43cfa4]
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
push eax
call fcn.004095a0
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x28]
call fcn.00435fa0
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x43cfac]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.004095a0
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 + 0x88], eax
mov ecx, eax
push esi
push edi
call case.0x41c78d.289
movzx eax, al
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x43cfb4]
mov dword [esp + 0x34], 0xebdc9ab7
mov dword [esp + 0x38], 0xdeecd4ef
mov dword [esp + 0x3c], 0xebdfcb23
mov dword [esp + 0x40], 0xc429d0e6
mov dword [esp + 0x44], 0xf2c7d4e4
mov dword [esp + 0x48], 0xcccd2437
mov dword [esp + 0x4c], 0xf3fcfcf3
mov dword [esp + 0x50], 0x6df3
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x41e8de
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0x3a7e7a3e
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xca
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x41e8b0
lea eax, [esp + 0x34]
mov ecx, dword [esp + 0x88]
push eax
call fcn.00420760
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43cfbc]
jmp dword [0x43cfec]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.004208d0
push esi
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x41e790.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43d004]
push dword [esp + 0x8c]
call fcn.004095b0
add esp, 4
mov ebp, ebx
mov ebx, edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], 0x6c6d6e6f
mov word [esp + 0x38], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41e9a0
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
add ecx, 0x7b264b98
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 8
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x41e970
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x41e9ea
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41e9d0
inc esi
cmp ecx, esi
jne 0x41e9c0
jmp 0x41e9ea
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41e9ea
push eax
push 1
push dword [0x440ef0]
push ecx
call fcn.00433ae0
add esp, 0x10
mov eax, dword [case.0x41e8f8.23]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43d01c]
push dword [esp + 0x90]
call fcn.004095b0
add esp, 4
xor eax, eax
cmp ebp, edi
sete al
jmp dword [eax*4 + 0x43d024]
xor ebx, ebx
test ebp, ebp
jne 0x41ed71
jmp 0x41eda1
xor eax, eax
cmp ebp, edi
sete al
jmp dword [eax*4 + 0x43d024]
mov eax, edi
mov dword [esp + 0x18], ebp
sub eax, ebp
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.004095a0
add esp, 4
mov ebp, eax
mov eax, dword [0x440ee4]
mov dword [esp + 0x34], 0xc172c72b
mov dword [esp + 0x38], 0xcd6fc351
mov dword [esp + 0x3c], 0xc95acf6f
mov dword [esp + 0x40], 0xb55acb0b
mov dword [esp + 0x44], 0xb17ab724
mov dword [esp + 0x48], 0xbd2eb313
mov dword [esp + 0x4c], 0xb951bf1f
mov dword [esp + 0x50], 0xa507bb1c
mov dword [esp + 0x54], 0xa109a738
mov dword [esp + 0x58], 0xad35a303
mov dword [esp + 0x5c], 0xa93aaf08
mov dword [esp + 0x60], 0x9507ab39
mov dword [esp + 0x64], 0x91029737
mov dword [esp + 0x68], 0x9d0c9346
mov dword [esp + 0x6c], 0x99309f30
mov word [esp + 0x70], 0x9b98
mov dword [esp + 0x72], 0
mov word [esp + 0x76], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x41eb30
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
add ecx, 0xbad05d31
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xb
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x41eb00
lea ecx, [esp + 0x34]
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x1c]
test esi, esi
jns 0x41eb57
mov dword [esp + 8], edi
mov eax, 0xffffffff
jmp 0x41eb5e
mov dword [esp + 8], edi
lea eax, [esi + esi]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x2c], eax
mov eax, dword [0x440ee4]
mov dword [esp + 0x34], 0xd182cfeb
mov dword [esp + 0x38], 0xd5b7d3a1
mov dword [esp + 0x3c], 0xd9bad7b7
mov dword [esp + 0x40], 0xddaadb9b
mov dword [esp + 0x44], 0xe19adfac
mov dword [esp + 0x48], 0xe596e383
mov dword [esp + 0x4c], 0xe9c1e787
mov dword [esp + 0x50], 0xedbfebb4
mov dword [esp + 0x54], 0xf189ef98
mov dword [esp + 0x58], 0xf59df393
mov dword [esp + 0x5c], 0xf99af7a8
mov dword [esp + 0x60], 0xfd9ffb89
mov dword [esp + 0x64], 0x192ff9f
mov dword [esp + 0x68], 0x574032e
mov dword [esp + 0x6c], 0x9600760
mov dword [esp + 0x70], 0xb08
mov byte [esp + 0x74], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x41ec4c
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 + 0x34]
lea edi, [ecx + edx]
add ecx, 0xcd
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0xf7d6b5cd
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x10]
dec cl
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x41ec10
lea ecx, [esp + 0x1c]
push ecx
push esi
mov esi, dword [esp + 0x34]
push esi
push 0x1e
lea ecx, [esp + 0x44]
push ecx
push 0
call eax
lea eax, [esp + 0x30]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00435b60
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x28], ebp
jmp dword [eax*4 + 0x43d03c]
xor ebx, ebx
jmp dword [0x43d114]
push esi
call fcn.004095b0
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov edi, dword [esp + 8]
jmp dword [ecx*4 + 0x43d11c]
mov byte [ebp], 0
mov dword [esp + 0x34], 0xb5b6b7e7
mov dword [esp + 0x38], 0x51c1bebb
mov dword [esp + 0x3c], 0x54484e47
mov dword [esp + 0x40], 0x4a563609
mov dword [esp + 0x44], 0x3d074037
mov dword [esp + 0x48], 0x5b4d4641
mov dword [esp + 0x4c], 0x41421941
mov word [esp + 0x50], 0xcb44
mov dword [esp + 0x52], 0
sub ebp, dword [esp + 0x28]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x41ed3e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0x9ff66cf9
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x23
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x41ed10
mov ecx, dword [esp + 0xb4]
push ebp
mov esi, dword [esp + 0x2c]
push esi
lea eax, [esp + 0x3c]
push eax
call fcn.0040a0a0
mov ebx, eax
jmp dword [0x43d124]
push esi
call fcn.004095b0
add esp, 4
and bl, 1
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x41eda1
cmp ebp, edi
je 0x41eda1
mov esi, ebp
jmp 0x41ed87
add esi, 8
cmp esi, edi
je 0x41ed98
mov eax, dword [esi]
test eax, eax
je 0x41ed80
push eax
call fcn.004095b0
add esp, 4
jmp 0x41ed80
push ebp
call fcn.004095b0
add esp, 4
mov eax, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x38]
call fcn.00435ec0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
mov esi, ebp
jmp dword [eax*4 + 0x43d044]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.004095a0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x3c]
call fcn.00435fa0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
mov esi, ebp
jmp dword [eax*4 + 0x43d04c]
mov esi, dword [esp + 0x94]
mov byte [edi + esi], 0
push 0x20
call fcn.004095a0
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 + 0x98], eax
mov ecx, eax
push esi
mov dword [esp + 0xa0], edi
push edi
call case.0x41c78d.289
movzx eax, al
mov dword [esp + 0xc], 0
mov esi, ebp
jmp dword [eax*4 + 0x43d054]
mov dword [esp + 0x34], 0xab94aa8f
mov dword [esp + 0x38], 0x86b49ca7
mov dword [esp + 0x3c], 0x8b879b73
mov dword [esp + 0x40], 0x9c7980be
mov dword [esp + 0x44], 0x828f8cbc
mov dword [esp + 0x48], 0x81816a7f
mov dword [esp + 0x4c], 0x83b1b482
mov dword [esp + 0x50], 0xb3bdb453
mov word [esp + 0x54], 0x19bd
mov dword [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x25
ja 0x41ef0e
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0xacb3548a
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x4e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x26
jb 0x41eee0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x34]
push eax
call fcn.00420760
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0xc], 0
mov esi, ebp
jmp dword [ecx*4 + 0x43d05c]
lea ebx, [eax + 8]
mov dword [esp + 0xc], 0
mov esi, ebp
jmp dword [0x43d070]
mov edx, dword [ebx]
xor edi, edi
cmp dword [ebx + 0x18], 3
jne case.default.0x41ef7c
mov edi, dword [ebx + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43d07c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x90], esi
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x41efd5
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0x88], ecx
lea eax, [ecx + 1]
push eax
call fcn.004095a0
add esp, 4
mov esi, eax
mov eax, dword [case.0x41f048.52]
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
mov dword [esp + 0x24], esi
jmp dword [ebx*4 + 0x43d084]
mov byte [esi], dl
inc esi
movsx edx, byte [ebp]
xor ebx, ebx
test edx, edx
setne bl
mov edi, ebp
jmp dword [ebx*4 + 0x43d084]
lea ebp, [edi + 1]
mov ebx, edx
or ebx, 0x20
add ebx, 0xffffff9f
cmp ebx, 5
ja case.default.0x41f01f
mov ebx, edx
or ebx, 0xfffffffe
and edx, 0xffffff9e
add edx, ebx
add edx, 0xb
movsx ebx, byte [ebp]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x43d08c]
add edx, 0xffffffd0
cmp edx, 0xa
jb case.default.0x41f048
mov edx, 0xffffffff
movsx ebx, byte [ebp]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x43d08c]
jmp eax
shl edx, 4
add edi, 2
mov ecx, ebx
or ecx, 0x20
add ecx, 0xffffff9f
cmp ecx, 5
ja case.default.0x41f081
mov ecx, ebx
or ecx, 0xfffffffe
and ebx, 0xffffff9e
add ecx, ebx
add ecx, 0xb
or ecx, edx
mov byte [esi], cl
inc esi
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x43d084]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x41f0ac
mov ebx, 0xffffffff
or ebx, edx
mov byte [esi], bl
inc esi
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x43d084]
mov byte [esi], 0
xor edi, edi
push 0
push 0x10
push 0
push dword [esp + 0x98]
call fcn.00420970
add esp, 0x10
xor ecx, ecx
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 8]
setne cl
jmp dword [ecx*4 + 0x43d0b4]
mov edi, dword [ebp]
xor ecx, ecx
jmp dword [ecx*4 + 0x43d0c4]
add ebp, 8
xor ebx, ebx
cmp ebp, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x43d0b4]
mov esi, dword [ebp + 4]
mov ebx, esi
shr ebx, 0x1c
shl esi, 4
or esi, 1
xor ebx, edx
xor esi, eax
xor ecx, ecx
or esi, ebx
sete cl
jmp dword [ecx*4 + 0x43d0bc]
mov ecx, 1
jmp dword [ecx*4 + 0x43d0c4]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43d0cc]
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x20]
jmp dword [0x43d0dc]
push dword [esp + 0x24]
call fcn.004095b0
add esp, 4
add ebx, 4
mov eax, dword [case.0x41ef30.5]
nop
nop
jmp eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, 0xffffffff
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x41f1f2
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x440ef4]
call fcn.004350c0
add esp, 8
mov ecx, esp
lea edx, [esp + 0x10]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x4c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d0d4]
jmp dword [0x43d0dc]
movzx eax, byte [edi]
test al, al
je 0x41f21b
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [edi]
inc edi
test al, al
jne 0x41f210
mov word [esi], 0x203a
mov eax, esi
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x41f25b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x41f25f
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x41f240
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x41f261
mov esi, eax
jmp 0x41f2a9
mov edx, esi
cmp esi, 4
mov esi, edi
jb 0x41f2a9
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 esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x41f270
mov byte [esi], 0xa
inc esi
push 0xe050b307
push dword [0x440edc]
call fcn.004350c0
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x20]
jmp dword [0x43d0dc]
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43d074]
mov edi, dword [esp + 0x9c]
jmp dword [0x43d0f4]
mov ebx, dword [esp + 0x98]
mov ecx, ebx
call fcn.004208d0
push ebx
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x41ec82.4]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43d10c]
push edi
call fcn.004095b0
add esp, 4
mov ebp, esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], 0x6c6d6e6f
mov word [esp + 0x38], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41f390
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
add ecx, 0x7b264b98
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 8
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x41f360
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x41f3c8
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41f3c0
inc esi
cmp ecx, esi
jne 0x41f3b0
jmp 0x41f3c8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41f3f2
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0xc]
jmp dword [0x43d114]
mov eax, ebx
and al, 1
movzx ecx, al
mov edi, dword [esp + 8]
jmp dword [ecx*4 + 0x43d11c]
mov esi, dword [esp + 0x28]
jmp dword [0x43d124]
push eax
push 1
push dword [0x440ef0]
push ecx
call fcn.00433ae0
add esp, 0x10
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0xc]
jmp dword [0x43d114]
add eax, 8
xor edx, edx
xor edi, edi
xor ebx, ebx
nop
nop
nop
nop
nop
mov eax, dword [eax]
mov ecx, dword [case.0x41e8f8.4]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43cfd4]
mov esi, dword [eax]
mov ecx, edi
sub ecx, ebx
mov ebp, ecx
sar ecx, 3
cmp edi, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], ecx
je 0x41f468
mov dword [esp + 0x20], edi
mov ecx, ebx
mov edx, ebp
jmp 0x41f4f6
mov dword [esp + 8], edi
lea eax, [ecx + 1]
mov ecx, edx
mov dword [esp + 0x18], ebx
sub ecx, ebx
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x41f486
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.004095a0
add esp, 4
mov ecx, eax
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x41f4e1
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x2c]
cmp ebx, edx
mov edi, ecx
je 0x41f4d2
xor eax, eax
mov ecx, dword [ebx + eax]
mov dword [edi + eax], ecx
mov ecx, dword [ebx + eax + 4]
mov dword [edi + eax + 4], ecx
mov dword [ebx + eax], 0
lea ecx, [ebx + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x41f4b0
push ebx
call fcn.004095b0
add esp, 4
mov ecx, edi
mov edi, dword [esp + 0x20]
lea eax, [ecx + edi*8]
mov dword [esp + 0x2c], eax
mov eax, ecx
mov edx, ebp
add eax, ebp
mov dword [esp + 0x20], eax
mov edi, dword [esp + 8]
mov eax, ebx
xor eax, edi
mov ebp, edi
mov edi, ebx
not edi
and edi, ebp
add edi, edi
sub edi, eax
cmp edi, edx
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edi
jae 0x41f590
lea eax, [ecx + edi]
mov dword [esp + 0x24], eax
lea eax, [ecx + edi]
add eax, 8
mov ecx, dword [esp + 0xc]
lea edx, [ebx + ecx*8]
sub edx, ebp
cmp edx, 8
jle 0x41f545
push edx
push dword [esp + 0x28]
push eax
call fcn.00409620
add esp, 0xc
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x18]
jmp 0x41f590
mov ecx, edx
shr ecx, 2
mov ebp, dword [esp + 0x24]
mov ebx, ebp
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, edx
and ebx, 0xfffffffc
add eax, ebx
add ebx, ebp
mov ecx, edx
shr ecx, 1
and ecx, 1
mov ebp, ebx
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test dl, 1
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x18]
je 0x41f590
and edx, 2
movzx ecx, byte [ebx + edx]
mov byte [eax + edx], cl
mov ecx, dword [esp + 8]
nop
nop
mov dword [ecx + edi], 0
mov dword [ecx + edi + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
cmp byte [esi + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x41f5b0
lea eax, [ebx + 1]
mov dword [esp + 0xc], eax
push eax
call fcn.004095a0
add esp, 4
mov edi, eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov dword [eax + ecx], edi
mov ecx, dword [esp + 0xc]
shr ecx, 2
mov edx, esi
mov eax, edi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0xc]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, esi
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x24], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x41f62b
mov ecx, dword [esp + 0xc]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x24]
mov byte [edx + ecx], al
test ebx, ebx
je 0x41f6b4
mov edx, 0xffffffff
cmp ebx, 1
jne 0x41f644
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
test bl, 1
jne 0x41f684
jmp 0x41f697
and ebp, 0xfffffffe
mov edi, dword [esp + 0x18]
nop
nop
nop
nop
nop
mov ecx, edx
shr ecx, 8
xor dl, byte [esi]
movzx eax, dl
xor ecx, dword [eax*4 + 0x4385c0]
mov edx, ecx
shr edx, 8
xor cl, byte [esi + 1]
add esi, 2
movzx ecx, cl
xor edx, dword [ecx*4 + 0x4385c0]
add ebp, 0xfffffffe
jne 0x41f650
mov eax, dword [esp + 0x28]
test bl, 1
je 0x41f697
mov ecx, edx
shr ecx, 8
xor dl, byte [esi]
movzx edx, dl
xor ecx, dword [edx*4 + 0x4385c0]
mov edx, ecx
not edx
mov ebx, dword [esp + 8]
mov dword [ebx + edi + 4], edx
mov edi, dword [esp + 0x20]
add edi, 8
add eax, 4
mov edx, dword [esp + 0x2c]
jmp case.0x41c78d.173
xor edx, edx
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x18]
jmp 0x41f69d
int3
push ebp
call fcn.00402fb0
add esp, 4
mov dword [esp + 0xc], 0x141be6ed
mov dword [esp + 0x10], 0xf9f6e0e6
mov dword [esp + 0x14], 0xcf00836
mov dword [esp + 0x18], 0xf1fee8fe
mov dword [esp + 0x1c], 0xfc0b0707
mov word [esp + 0x20], 0x1003
mov byte [esp + 0x22], 0x96
mov dword [esp + 0x23], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1a
ja 0x41fb20
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
add ecx, 0xf92fa46b
xor ecx, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0xe9
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1b
jb 0x41faf0
lea ecx, [esp + 0xc]
push ecx
push eax
call fcn.00403360
add esp, 8
mov ebx, eax
mov ecx, 0xffffffff
mov eax, 0xfffffffe
mov edx, 0xfffffffd
nop
add eax, 2
add edx, 3
cmp byte [ebx + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x41fb40
shr edx, 2
mov dword [esp + 0x40], ecx
movzx ecx, byte [ebx + ecx - 1]
cmp ecx, 0x3d
je 0x41fb66
cmp ecx, 0x2e
jne 0x41fb67
dec edx
mov ecx, dword [esp + 0x40]
xor ecx, 2
and eax, 0xfffffffa
sub eax, ecx
movzx eax, byte [ebx + eax]
cmp eax, 0x3d
mov dword [esp + 0xa4], ebp
je 0x41fb88
cmp eax, 0x2e
jne 0x41fb89
dec edx
mov dword [esp + 0xa0], edx
lea eax, [edx + 1]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x50], eax
cmp dword [esp + 0x40], 0
je 0x41fca8
xor edx, edx
mov ebp, 2
mov dword [esp + 0x78], ebx
jmp 0x41fbd8
lea eax, [ebp + 4]
add ebp, 2
mov edx, dword [esp + 0x7c]
cmp ebp, ecx
mov ebp, eax
mov ebx, dword [esp + 0x78]
jae 0x41fca8
mov dword [esp + 8], edx
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00415bc0
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.00415bc0
mov edx, dword [esp + 0xc]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [edx + 1]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x50]
mov byte [ecx + edx], al
mov ecx, dword [esp + 0x40]
cmp ebp, ecx
jae 0x41fbc0
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + ebp]
push eax
call fcn.00415bc0
mov ecx, dword [esp + 0x44]
add esp, 4
cmp al, 0x40
je 0x41fbc0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edx, dword [esp + 8]
lea ecx, [edx + 2]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x50]
mov byte [ecx + edx + 1], al
mov ecx, dword [esp + 0x40]
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x41fbc0
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00415bc0
mov ecx, dword [esp + 0x44]
add esp, 4
cmp al, 0x40
je 0x41fbc0
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 8]
mov byte [ecx + edx + 2], al
mov ecx, dword [esp + 0x40]
add edx, 3
mov dword [esp + 0x7c], edx
jmp 0x41fbc0
mov eax, dword [esp + 0xa0]
add eax, 0xfffffffb
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x440ef4]
call fcn.004350c0
add esp, 8
mov ecx, esp
lea edx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d17c]
xor ebx, ebx
jmp dword [0x43d19c]
lea eax, [edi + 0x10]
cmp dword [esp + 0x74], 0xfffffff8
jge 0x41fd1c
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x13ae1167
mov dword [esp + 0x10], 0x6f186ddc
mov dword [esp + 0x14], 0x6be269e4
mov dword [esp + 0x18], 0x676665e8
lea eax, [esp + 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x12
ja 0x41fda9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [esp + ecx + 0xc]
add eax, 0x2fd0ff3c
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0xd4
mov ecx, dword [esp + 0x4c]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
cmp eax, 0x13
jb 0x41fd70
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x41fdd1
lea edx, [esi + 2]
mov eax, ebx
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 0x41fdc0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x41fe01
lea edx, [esp + 0xe]
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 0x41fdf0
mov word [eax], 0
mov ecx, dword [esp + 0xf4]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.00409ef0
mov dword [esp + 8], eax
jmp dword [0x43d184]
jmp dword [0x43d190]
push ebx
call fcn.004095b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.004095b0
add esp, 4
jmp dword [0x43d194]
push 0xe050b307
push dword [0x440edc]
call fcn.004350c0
add esp, 8
push dword [esp + 4]
call eax
mov ebx, dword [esp + 8]
jmp dword [0x43d19c]
push dword [esp + 0x50]
call fcn.004095b0
add esp, 4
push dword [esp + 0xa4]
call fcn.00403550
add esp, 4
jmp dword [0x43d1b4]
mov dword [esp + 0xac], ecx
mov esi, dword [esp + ecx + 0x88]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + edi + 2], 0
lea edi, [edi + 2]
jne 0x41fec0
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x84]
lea ecx, [edx + eax]
mov dword [esp + 0x74], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x41fef2
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebp, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41ff21
mov edx, dword [esp + 0x98]
mov eax, ebp
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ff10
mov word [eax], 0x5c
mov dword [esp + 0xc], 0x398e3b98
mov dword [esp + 0x10], 0x258b27a9
mov dword [esp + 0x14], 0x21b6238b
mov dword [esp + 0x18], 0x2d932f40
mov dword [esp + 0x1c], 0x29852bb0
mov dword [esp + 0x20], 0x15bd17b4
mov word [esp + 0x24], 0x1314
lea ecx, [esp + 0xc]
mov byte [ecx + 0x1c], 0
mov word [ecx + 0x1a], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1c
ja 0x41ffc0
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
lea ebx, [ecx + edx]
add ebx, 0xc9e0dc0b
add ecx, 0xc9e0dc0b
not edx
or ecx, edx
sub edx, ecx
lea ecx, [ebx + edx*2]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0xc9
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1d
jb 0x41ff80
movzx ecx, word [esi]
test cx, cx
je 0x41ffe1
lea edx, [esi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ffd0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x420011
lea edx, [esp + 0xe]
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 0x420000
mov word [eax], 0
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.00435b60
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43d14c]
xor ebx, ebx
mov eax, dword [case.0x41e530.153]
jmp case.0x41e530.150
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x88]
call fcn.00435ec0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0xa8], ebp
jmp dword [eax*4 + 0x43d154]
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
lea ebp, [eax + 1]
mov ebx, dword [case.0x41e530.129]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.004095a0
add esp, 4
jmp ebx
push 0
push dword [esp + 0xc]
mov dword [esp + 0x9c], eax
push eax
push dword [esp + 0x8c]
call fcn.00435fa0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43d16c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x94]
mov byte [ecx + eax], 0
push ecx
call fcn.00402500
add esp, 4
mov ebp, eax
xor eax, eax
test ebp, ebp
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x43d174]
jmp dword [0x43d1b4]
push dword [esp + 0x94]
call fcn.004095b0
add esp, 4
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x6c6d6e6f
mov word [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x42017e
nop
nop
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 + 0xc]
add eax, 0x7b264b98
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x420150
mov ecx, dword [0x440ee8]
test ecx, ecx
je 0x4201d0
mov edx, dword [esp + 0xc]
xor ebp, ebp
mov eax, dword [0x440eec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebp*8], 0x625b6034
je 0x4201b0
inc ebp
cmp ecx, ebp
jne 0x4201a0
jmp 0x4201d0
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edx
je 0x4201d0
push dword [esp + 8]
push 1
push dword [0x440ef0]
push eax
call fcn.00433ae0
add esp, 0x10
nop
nop
nop
mov eax, dword [case.0x41e530.153]
mov ebp, dword [esp + 0xa8]
nop
nop
nop
nop
jmp eax
jmp dword [0x43d1cc]
push ebp
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x41e530.155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx eax, bl
jmp dword [eax*4 + 0x43d1f4]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x74]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
mov ebx, dword [esp + 0x6c]
jns 0x420233
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebp, eax
movzx ecx, word [ebx]
test cx, cx
je 0x420261
mov edx, dword [esp + 0x98]
mov eax, ebp
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420250
mov word [eax], 0x5c
mov dword [esp + 0xc], 0x29662b78
mov dword [esp + 0x10], 0x2d8b2f99
mov dword [esp + 0x14], 0x319e338b
mov dword [esp + 0x18], 0x35633750
mov dword [esp + 0x1c], 0x398b3b80
mov dword [esp + 0x20], 0x3d993f8e
mov dword [esp + 0x24], 0x1a90395
mov dword [esp + 0x28], 0x5aa075c
mov dword [esp + 0x2c], 0x9b00baf
mov dword [esp + 0x30], 0xda20fa3
mov dword [esp + 0x34], 0x11b413a8
mov word [esp + 0x38], 0x1710
mov dword [esp + 0x3a], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x31
ja 0x42031e
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov ebx, pe_nt_image_headers32
sub ebx, ecx
add ecx, edx
not edx
or ebx, edx
lea ecx, [ecx + ebx*2]
add ecx, 0x1962f89
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0x5d
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x32
jb 0x4202e0
movzx ecx, word [esi]
test cx, cx
je 0x420341
lea edx, [esi + 2]
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 0x420330
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x420371
lea edx, [esp + 0xe]
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 0x420360
mov word [eax], 0
add edi, 0x12
cmp dword [esp + 0x74], 0xfffffff7
jge 0x420385
mov edi, 0xffffffff
push edi
call fcn.004095a0
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x3ee012f
mov dword [esp + 0x10], 0x7f005e1
mov dword [esp + 0x14], 0xbe609ed
mov dword [esp + 0x18], 0xfec0de8
mov word [esp + 0x1c], 0x1110
mov dword [esp + 0x1e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x4203fe
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
add eax, 0x65d53e40
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0xc0
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x4203d0
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x420421
add esi, 2
mov eax, ebx
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x420410
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x420451
lea edx, [esp + 0xe]
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 0x420440
mov word [eax], 0
mov dword [esp + 0xc], 0x7776095e
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x4204ae
nop
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 + 0xc]
add eax, 0x6ee3083e
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0xca
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x420480
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x1c]
push eax
push ebp
push ebx
push dword [esp + 0x110]
call fcn.00417d30
add esp, 0x20
mov ecx, dword [esp + 0x70]
and cl, 1
or cl, al
mov dword [esp + 0x70], ecx
jmp dword [0x43d1fc]
push ebx
call fcn.004095b0
add esp, 4
nop
nop
nop
nop
nop
jmp dword [0x43d210]
jmp dword [0x43d214]
push ebp
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x41e530.177]
mov ebx, dword [esp + 0x6c]
nop
nop
jmp eax
mov ecx, dword [esp + 0xac]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x43d12c]
jmp dword [0x43d13c]
jmp dword [0x43d144]
jmp dword [0x43d230]
push ebx
call fcn.004095b0
add esp, 4
nop
nop
nop
nop
nop
push ebx
call fcn.004095b0
add esp, 4
jmp dword [0x43d234]
mov eax, dword [esp + 0x70]
and al, 1
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [esp + 0x28]
mov byte [esp + 2], 0
mov byte [esp + 3], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
cmp byte [eax], 0
je 0x42074e
mov esi, ecx
mov dword [esp + 4], 0
lea edi, [esp + 3]
lea ebx, [esp + 2]
jmp 0x4205d3
mov dword [esp + 4], ebp
xor esi, esi
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x42074e
lea ecx, [esp + 8]
push edi
push ebx
call fcn.00420c00
test eax, eax
je 0x42074e
mov ebp, eax
cmp byte [esp + 2], 0
jne 0x4205f9
cmp byte [ebp], 0
je 0x42074e
test esi, esi
je 0x420660
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x420600
push ebx
call fcn.004095a0
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add eax, ecx
add ebp, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
inc cl
test cl, 1
jne 0x420653
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov ebp, esi
lea edi, [esp + 3]
jmp 0x420704
push 0x20
call fcn.004095a0
add esp, 4
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x4206a0
push ebx
call fcn.004095a0
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add eax, ecx
add ebp, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
inc cl
test cl, 1
jne 0x4206f3
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov eax, dword [esp + 4]
test eax, eax
lea edi, [esp + 3]
je 0x420702
mov dword [eax + 4], esi
mov ebp, esi
lea ebx, [esp + 2]
lea esi, [esp + 8]
mov ecx, esi
push edi
push ebx
call fcn.00420c00
cmp byte [esp + 3], 0
je 0x420725
mov ecx, esi
push edi
push ebx
call fcn.00420c00
test eax, eax
je 0x4205c0
cmp byte [eax], 0x7b
jne 0x4205c0
cmp byte [esp + 2], 0
jne 0x4205c0
mov ecx, ebp
push esi
call fcn.00420e70
jmp 0x4205c0
mov al, 1
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 8
rol byte [ecx], 0xe6
rol byte [ecx], 0x10
ret 0x41
rol byte [ecx], 0x41
ret 0x41
iretd
rol dword [ecx], cl
rcl bl, 1
inc ecx
add al, dh
int 0x41
add al, ah
int 0x41
add byte [edi - 0xfffbe33], dh
int 0x41
add bl, al
aad 0x41
add bl, cl
int 0x41
add byte [edx - 0x3cffbe2b], bh
aad 0x41
add byte [eax], bl
fild dword [ecx]
xor al, 0xdb
inc ecx
add byte [ebx + ebx*8], dh
inc ecx
add byte [edx], bh
fild dword [ecx]
or eax, 0x20041dc
fadd qword [ecx]
invalid
fadd qword [ecx]
add ah, cl
inc ecx
inc ecx
add byte [edx], al
loope 0x43ce9c
add byte [esi - 0x24], bl
inc ecx
add byte [ebp + 0x700041dc], dl
fadd qword [ecx]
adc ah, al
inc ecx
add al, ch
fadd qword [ecx]
loopne 0x43ce4e
inc ecx
add al, ah
fadd qword [ecx]
loopne 0x43ce56
inc ecx
add al, ch
fadd qword [ecx]
loopne 0x43ce5e
inc ecx
add byte [eax - 0x9ffbe24], al
fadd qword [ecx]
neg ah
inc ecx
add dh, dh
fadd qword [ecx]
sub ch, bl
inc ecx
add dh, dh
fadd qword [ecx]
push es
loopne 4443872
add byte [esi - 0x23], al
inc ecx
add byte [esi - 0x23], al
inc ecx
add byte [esi - 0x23], al
inc ecx
add byte [esi - 0x23], al
inc ecx
add byte [eax - 0x23], bh
inc ecx
add byte [esi], al
loopne 0x43cef8
add byte [esi + 0x80041dd], al
fiadd word [ecx]
invalid
inc ecx
add bh, cl
fild word [ecx]
or al, 0xdf
inc ecx
add byte [eax], dl
loopne 0x43cf28
add byte [eax], dl
loopne 0x43cf2c
add byte [eax + 0x100041dc], al
loopne 0x43cf34
add al, ah
loopne 0x43cf38
add al, ah
loopne 0x43cf3c
loopne 0x43ceda
inc ecx
add dl, ah
loopne 0x43cf40
add al, ah
loopne 0x43cf44
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x24], dh
inc ecx
add al, ch
loopne 0x43cf58
add cl, dh
loopne 0x43cf5c
add byte [eax], al
loope 0x43cf60
add byte [eax], al
loope 0x43cf64
add byte [eax], al
loope 0x43cf68
add byte [edx], al
loope 0x43cf6c
add ah, cl
inc ecx
add byte [edx], ch
loope 0x43cf70
sub ah, cl
inc ecx
add byte [ecx], ah
loope 0x43cf74
add byte [ecx], ah
loope 0x43cf78
and ecx, esp
inc ecx
add byte [ecx], bh
loope 0x43cf7c
cmp ecx, esp
inc ecx
add byte [ecx + 0x41], dh
je 0x43cf1f
inc ecx
add bh, dl
xlatb
loope 0x43cf84
add cl, dh
int1
loop 0x43cf88
add byte [eax - 0xfffbe1c], al
jecxz 0x43cf90
add byte [ebx], ah
inc ecx
add al, dh
jecxz 0x43cf98
add bl, bl
jecxz 0x43cf9c
fninit
inc ecx
add bl, ah
jecxz 0x43cfa0
jecxz 0x43cf41
inc ecx
add al, dh
jecxz 0x43cfa4
invalid
add byte [esi + 0x400041e4], bh
mov esi, 0x400041e4
in al, 0x41
add byte [eax - 0x1b], al
inc ecx
inc eax
in eax, 0x41
add ah, ah
in al, 0x41
in al, 0xe4
inc ecx
add ah, bh
cld
in al, 0x41
add al, dl
loope 0x43cfb8
shl cl, 1
inc ecx
add al, al
loope 0x43cfbc
shl cl, 0x41
add byte [ecx + 0x41], dh
je 0x43cf5f
inc ecx
add al, dl
loope 0x43cfc4
add byte [edx + 0x640041e1], al
in eax, 0x41
and cl, 0x41
add byte [ebp + 65], ah
in eax, 0x41
add byte [esi + 0x41], bh
add byte [ebp + 0x6d0041e6], dl
out 0x41, eax
xchg ebp, eax
out 65, al
add byte [ebp - 0x19], ch
inc ecx
add byte [ebp - 0x68ffbe1a], ah
movsd dword es:[edi], dword [esi]
out 65, al
add byte [edi - 0x5affbe19], dl
out 0x41, eax
invalid
movsd dword es:[edi], dword [esi]
xchg edi, eax
out 0x41, eax
add byte [ebp + 0x470041e7], ah
movsd dword es:[edi], dword [esi]
out 0x41, eax
add byte [edi - 0x17], al
inc ecx
add al, cl
out 0x41, eax
add byte [edx], dh
jmp 0xe842cff3
inc edi
jmp 0xe80bcfeb
pop edi
call 3913469951
call 0xf455d003
invalid
call 0xf455d003
inc ecx
add byte [eax], dh
hlt
xor ah, dh
inc ecx
add byte [eax], dh
hlt
in al, dx
inc ecx
add byte [esi + 0x310041ed], ch
inc ecx
add dl, bl
in eax, dx
inc ecx
add byte [edx], ah
inc ecx
add byte [0xf00041ee], dl
inc ecx
add byte [esi - 0x12], bh
inc ecx
add al, dh
inc ecx
add byte [eax - 0x11], al
inc ecx
add byte [eax - 0x11], al
inc ecx
add byte [eax - 0x11], al
inc ecx
add byte [eax - 0x11], al
inc ecx
add al, ah
inc ecx
add al, dh
inc ecx
add byte [eax - 0x11], ah
inc ecx
add byte [esi - 0xf], ah
inc ecx
add byte [ebx - 0x4cffbe11], al
invalid
out dx, eax
inc ecx
add byte [eax - 0x10], dl
inc ecx
add byte [eax - 0x10], dl
inc ecx
add byte [eax - 0x10], dl
inc ecx
add byte [edx - 0x10], dl
inc ecx
add byte [eax - 0x10], dl
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ah, al
test byte [ecx], 0x3b
int1
inc ecx
add byte [edi], cl
int1
inc ecx
add byte [edi], ch
int1
inc ecx
add al, dh
invalid