Function at 0x4216ba
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.00409d60
mov dword [esp + 0x11ec], 0xf996fb9e
mov dword [esp + 0x11f0], 0xf5aff7ab
mov dword [esp + 0x11f4], 0xf19ff3ab
mov dword [esp + 0x11f8], 0xd620f62
mov dword [esp + 0x11fc], 0x96c0b63
mov dword [esp + 0x1200], 0x56b076b
mov dword [esp + 0x1204], 0x16e035f
mov word [esp + 0x1208], 0x1f1e
mov dword [esp + 0x120a], 0
mov word [esp + 0x120e], 0
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x23
ja 0x41daf8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
add eax, 0x7002f374
xor eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0x72
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x24
jb 0x41dab0
lea eax, [esp + 0x18]
lea ecx, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.0043f430
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x4467b0]
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x28]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x38]
call fcn.0043f820
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4467b8]
xor eax, eax
jmp 0x41f3dd
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x28]
setb al
xor edi, edi
jmp dword [eax*4 + 0x4467d0]
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 + 0x4467d8]
movzx ecx, word [esp + 0x11ec]
xor ebp, ebp
test cx, cx
je 0x41f1d8
lea eax, [esp + 0x11ec]
jmp 0x41f1b2
inc edi
xor eax, eax
cmp edi, dword [esp + 0x28]
setb al
jmp dword [eax*4 + 0x4467d0]
jmp dword [0x4467e4]
mov ecx, dword [esp + 0x60]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446800]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + ecx + 0x68]
mov dword [esp + 0x7c], 0x1b2a1928
mov dword [esp + 0x80], 0x27162514
mov dword [esp + 0x84], 0x23122110
mov dword [esp + 0x88], 0x2f762d1c
mov word [esp + 0x8c], 0x2928
lea ecx, [esp + 0x11c]
mov word [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x17
ja 0x41dcb7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
lea esi, [ecx + edx]
add esi, 0x2576da9c
add ecx, 0x2576da9c
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xa7c], esi
mov ecx, dword [esp + 0xa7c]
add cl, 0x7c
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x18
jb 0x41dc60
movzx ecx, word [eax]
lea esi, [esp + 0x87c]
test cx, cx
je 0x41dce1
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 0x41dcd0
mov word [esi], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x41dd11
lea ecx, [esp + 0x7e]
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 0x41dd00
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x4c], esi
jmp dword [eax*4 + 0x446808]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x446808]
mov word [esi - 2], di
lea eax, [esp + 0x54]
lea ecx, [esp + 0x87c]
push dword [esp + 0x58]
push 0
push 0x20019
push eax
push ecx
call fcn.0043f430
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446810]
mov dword [esp + 0x50], edi
mov dword [esp + 0x64], 0x800
mov dword [esp + 0x1c], 0x400
xor esi, esi
mov dword [esp + 0x14], 0
jmp 0x41dd96
mov esi, dword [esp + 0x10]
inc esi
lea eax, [esp + 0x1c]
lea edi, [esp + 0xa7c]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x64]
push eax
push edi
push ecx
push edx
push ebp
mov dword [esp + 0x24], esi
push esi
push dword [esp + 0x6c]
call fcn.0043fad0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446818]
test byte [esp + 0x14], 1
sete al
cmp dword [esp + 0x20], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446820]
xor eax, eax
cmp dword [esp + 0x20], 3
sete al
jmp dword [eax*4 + 0x446840]
mov dword [esp + 0x2c], 0xb4d8b6f8
mov dword [esp + 0x30], 0xb020b2de
mov dword [esp + 0x34], 0xbc2fbe24
mov dword [esp + 0x38], 0xb8b9ba27
mov dword [esp + 0x3c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41de6e
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
add eax, 0xbab669a0
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xe9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41de40
movzx ebx, word [esp + 0x2c]
test bx, bx
je case.0x41e29d.10
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x2c]
mov ebp, ecx
jmp 0x41de98
movzx ebx, word [edx]
test bx, bx
je case.0x41e29d.10
movzx esi, word [ecx]
test si, si
je 0x41deba
add ecx, 2
add edx, 2
lea eax, [ebp + 2]
cmp si, bx
je 0x41deb2
mov ebp, eax
mov ecx, eax
je 0x41de90
lea edx, [esp + 0x2c]
jmp 0x41de90
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x446838]
xor eax, eax
cmp dword [esp + 0x20], 3
sete al
lea ebp, [esp + 0x7c]
jmp dword [eax*4 + 0x446840]
mov dword [esp + 0x2c], 0x6c026e3f
mov dword [esp + 0x30], 0x68146a16
mov dword [esp + 0x34], 0x7404760e
mov dword [esp + 0x38], 0x701d720d
mov word [esp + 0x3c], 0x7e7f
lea eax, [esp + 0x3e]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x41df5e
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 + 0x2c]
add eax, 0x3ce4e268
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xf9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x41df30
movzx edi, word [esp + 0x2c]
lea eax, [esp + 0x7c]
test di, di
je 0x41e026
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x2c]
mov eax, ecx
jmp 0x41df8c
movzx edi, word [edx]
test di, di
je 0x41e026
movzx esi, word [ecx]
test si, si
je 0x41e024
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp si, di
je 0x41dfaa
mov eax, ebx
mov ecx, ebx
je 0x41df80
lea edx, [esp + 0x2c]
jmp 0x41df80
mov eax, dword [esp + 0x1c]
cmp eax, 2
jae 0x41dfd2
mov edx, dword [esp + 4]
jmp 0x41e195
shr eax, 1
lea ecx, [eax - 1]
mov ebp, eax
and ebp, 3
je 0x41e125
mov dword [esp + 0x14], ecx
xor ebx, ebx
lea edi, [esp + 0xa7c]
mov edx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
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 [edx], si
add edx, 2
inc ebx
cmp ebp, ebx
jne 0x41e000
sub eax, ebx
mov ecx, dword [esp + 0x14]
jmp 0x41e129
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446848]
mov eax, dword [esp + 0x1c]
cmp eax, 2
jae 0x41e046
mov edx, dword [esp + 4]
jmp 0x41e109
shr eax, 1
lea esi, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xa7c]
and edi, 3
mov edx, dword [esp + 4]
je 0x41e098
mov dword [esp + 0xc], esi
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
mov ebp, edx
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov edx, ebp
mov word [ebp], si
add edx, 2
inc ebx
cmp edi, ebx
jne 0x41e070
sub eax, ebx
lea ebp, [esp + 0x7c]
mov esi, dword [esp + 0xc]
cmp esi, 3
mov esi, dword [esp + 0x10]
jb 0x41e10d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, edx
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
lea edx, [ebp + 8]
lea ecx, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x41e0b0
lea ebp, [esp + 0x7c]
mov esi, dword [esp + 0x10]
mov word [edx], 0xa
add edx, 2
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0xc], eax
inc esi
jmp 0x41dd96
mov edx, dword [esp + 4]
cmp ecx, 3
lea ebp, [esp + 0x7c]
jb 0x41e199
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, edx
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
lea edx, [ebp + 8]
lea edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x41e140
lea ebp, [esp + 0x7c]
mov dword [edx], 0x20003a
add edx, 4
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0x14], eax
jmp case.0x41e29d.14
mov eax, dword [esp + 0x54]
mov dword [esp], 0x1211102f
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x41e220
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x2c]
add cl, 0xf
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x41e1e0
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x41e260
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41e250
inc esi
cmp ecx, esi
jne 0x41e240
jmp 0x41e260
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x41e272
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x50]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x4c]
jmp dword [eax*4 + 0x446808]
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
mov edi, dword [esp + 0x50]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x4c]
jmp dword [eax*4 + 0x446808]
mov dword [esp + 0x48], edi
mov dword [esp + 0x7c], 0x20da2ef0
mov dword [esp + 0x80], 0x24d722c6
mov dword [esp + 0x84], 0x38cc26d6
mov dword [esp + 0x88], 0x3cdb3aca
mov dword [esp + 0x8c], 0x30dd3ecb
mov dword [esp + 0x90], 0x34ce32da
mov dword [esp + 0x94], 0xc82d36c9
mov dword [esp + 0x98], 0xcc44ca3a
mov dword [esp + 0x9c], 0xc0e1ce3a
mov dword [esp + 0xa0], 0xc422c21c
mov dword [esp + 0xa4], 0xd82cc632
mov dword [esp + 0xa8], 0xdc24da38
mov dword [esp + 0xac], 0xd02fde24
mov dword [esp + 0xb0], 0xd4f5d22a
mov dword [esp + 0xb4], 0xe81ed602
mov dword [esp + 0xb8], 0xec18ea09
mov dword [esp + 0xbc], 0xe014ee64
mov dword [esp + 0xc0], 0xe402e217
mov dword [esp + 0xc4], 0xf815e618
mov dword [esp + 0xc8], 0xfc0ffa2b
mov dword [esp + 0xcc], 0xf017fe0e
mov dword [esp + 0xd0], 0xf409f208
mov dword [esp + 0xd4], 0x887cf610
mov dword [esp + 0xd8], 0x8c468a67
mov dword [esp + 0xdc], 0x80488eba
mov dword [esp + 0xe0], 0x844082b4
mov dword [esp + 0xe4], 0x985f8641
mov dword [esp + 0xe8], 0x9ca99aab
mov dword [esp + 0xec], 0x90a49eac
mov dword [esp + 0xf0], 0x94a692a0
mov dword [esp + 0xf4], 0xa84d96a4
mov dword [esp + 0xf8], 0xac6faa9e
mov dword [esp + 0xfc], 0xa069ae67
mov dword [esp + 0x100], 0xa495a260
mov dword [esp + 0x104], 0xb88aa697
mov dword [esp + 0x108], 0xbc89ba8b
mov dword [esp + 0x10c], 0xb083be7d
mov dword [esp + 0x110], 0xb483b270
mov dword [esp + 0x114], 0x4880b681
mov dword [esp + 0x118], 0x4ca14a7d
mov word [esp + 0x11c], 0x4e4f
lea eax, [esp + 0x11c]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
ja 0x41e4ea
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x4de3b6e6
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x37
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x41e4a0
lea edi, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x11c]
mov eax, edx
mov ecx, 1
lea edi, [esp + 0xf1e]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x5bb35599
mov dword [esp + 0x80], 0x5fc859bf
mov dword [esp + 0x84], 0x43d55dcf
mov dword [esp + 0x88], 0x47ac41d3
mov dword [esp + 0x8c], 0x4bb645d0
mov dword [esp + 0x90], 0x4fa749b3
mov dword [esp + 0x94], 0x73964dde
mov dword [esp + 0x98], 0x77ed71e3
mov dword [esp + 0x9c], 0x7b5a75e3
mov dword [esp + 0xa0], 0x7f8a798a
mov dword [esp + 0xa4], 0x63a57d80
mov dword [esp + 0xa8], 0x67f061f5
mov dword [esp + 0xac], 0x6b8f65f2
mov dword [esp + 0xb0], 0x6ffa69fa
mov dword [esp + 0xb4], 0x13f76d96
mov dword [esp + 0xb8], 0x17811186
mov dword [esp + 0xbc], 0x1b8915fd
mov dword [esp + 0xc0], 0x1fe2198a
mov dword [esp + 0xc4], 0x3eb1de7
mov dword [esp + 0xc8], 0x7e20192
mov dword [esp + 0xcc], 0xb910597
mov dword [esp + 0xd0], 0xf2e099f
mov dword [esp + 0xd4], 0x33d70dc1
mov dword [esp + 0xd8], 0x37a131a7
mov dword [esp + 0xdc], 0x3bd135d5
mov dword [esp + 0xe0], 0x3fac39d1
mov dword [esp + 0xe4], 0x23023dd7
mov dword [esp + 0xe8], 0x27b321d7
mov dword [esp + 0xec], 0x2bbd25c2
mov dword [esp + 0xf0], 0x2fb929b1
mov dword [esp + 0xf4], 0xd3372db8
mov dword [esp + 0xf8], 0xd72ad13d
mov dword [esp + 0xfc], 0xdb4cd524
mov dword [esp + 0x100], 0xdf34d94b
mov dword [esp + 0x104], 0xc32edd35
mov dword [esp + 0x108], 0xc751c125
mov dword [esp + 0x10c], 0xcb39c538
mov dword [esp + 0x110], 0xcf5ac95d
mov dword [esp + 0x114], 0xf361cd20
mov dword [esp + 0x118], 0xf719f163
mov dword [esp + 0x11c], 0xfb23f508
mov dword [esp + 0x120], 0xff25f92f
mov dword [esp + 0x124], 0xe325fd29
mov dword [esp + 0x128], 0xe72ce12a
mov dword [esp + 0x12c], 0xeb3ee534
mov dword [esp + 0x130], 0xef39e939
mov dword [esp + 0x134], 0x9343ed3d
mov dword [esp + 0x138], 0x97729141
mov dword [esp + 0x13c], 0x9b5c9543
mov dword [esp + 0x140], 0x9f469940
mov dword [esp + 0x144], 0x83529d5d
mov dword [esp + 0x148], 0x87578150
mov dword [esp + 0x14c], 0x8b5e8554
mov dword [esp + 0x150], 0x8f58894e
mov dword [esp + 0x154], 0xb3688d4d
mov dword [esp + 0x158], 0xb76db16a
mov dword [esp + 0x15c], 0xbb46b56e
mov word [esp + 0x160], 0xb9b8
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xea
ja 0x41e80a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x92c97186
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x2e
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xeb
jb 0x41e7c0
lea edi, [esp + 0xf20]
lea eax, [esp + 0x7c]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x160]
mov ecx, 1
lea edi, [esp + 0x1004]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x47df45fd
mov dword [esp + 0x80], 0x43d241db
mov dword [esp + 0x84], 0x3fb13dd3
mov dword [esp + 0x88], 0x3ba639af
mov dword [esp + 0x8c], 0x379035b6
mov dword [esp + 0x90], 0x33ae3187
mov dword [esp + 0x94], 0x2fb72dac
mov dword [esp + 0x98], 0x2bb729b3
mov dword [esp + 0x9c], 0x27f7258e
mov dword [esp + 0xa0], 0x23f621eb
mov dword [esp + 0xa4], 0x1fb81df2
mov dword [esp + 0xa8], 0x1b9719af
mov dword [esp + 0xac], 0x17801596
mov dword [esp + 0xb0], 0x13811187
mov dword [esp + 0xb4], 0xfa80d87
mov dword [esp + 0xb8], 0xb9a09be
mov dword [esp + 0xbc], 0x79a059b
mov dword [esp + 0xc0], 0x394019d
mov dword [esp + 0xc4], 0xff71fd9d
mov dword [esp + 0xc8], 0xfb49f95a
mov dword [esp + 0xcc], 0xf778f575
mov dword [esp + 0xd0], 0xf361f162
mov dword [esp + 0xd4], 0xef79ed63
mov dword [esp + 0xd8], 0xeb23e94a
mov dword [esp + 0xdc], 0xe72de527
mov dword [esp + 0xe0], 0xe35de129
mov dword [esp + 0xe4], 0xdf62dd5c
mov dword [esp + 0xe8], 0xdb14d90e
mov dword [esp + 0xec], 0xd719d509
mov dword [esp + 0xf0], 0xd303d105
mov dword [esp + 0xf4], 0xcf50cd01
mov dword [esp + 0xf8], 0xcb0ac903
mov dword [esp + 0xfc], 0xc70cc502
mov dword [esp + 0x100], 0xc310c105
mov dword [esp + 0x104], 0xbf6fbd12
mov dword [esp + 0x108], 0xbb74b96e
mov dword [esp + 0x10c], 0xb766b578
mov dword [esp + 0x110], 0xb37eb175
mov dword [esp + 0x114], 0xaf65ad7c
mov dword [esp + 0x118], 0xab0ca960
mov dword [esp + 0x11c], 0xa5aa
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa3
ja 0x41ea5a
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0xe8d406b7
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 3
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
jb 0x41ea10
mov dword [esp + 0x44], esi
lea edi, [esp + 0x114a]
lea eax, [esp + 0x7c]
mov ebx, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x11ea]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x7fd76131
mov dword [esp + 0x80], 0x7bf27dc3
mov dword [esp + 0x84], 0x77f579cb
mov dword [esp + 0x88], 0x73ce75c7
mov dword [esp + 0x8c], 0x4fd471fe
mov dword [esp + 0x90], 0x4bf64d1f
mov dword [esp + 0x94], 0x47ff49f0
mov dword [esp + 0x98], 0x43ff45fb
mov dword [esp + 0x9c], 0x5f0f41e6
mov dword [esp + 0xa0], 0x5b2e5d12
mov dword [esp + 0xa4], 0x57fc592a
mov dword [esp + 0xa8], 0x53df5507
mov dword [esp + 0xac], 0xafe451de
mov dword [esp + 0xb0], 0xab1dad1f
mov dword [esp + 0xb4], 0xa70ca91f
mov dword [esp + 0xb8], 0xa32aa5f6
mov dword [esp + 0xbc], 0xbf1aa113
mov dword [esp + 0xc0], 0xbb08bd09
mov dword [esp + 0xc4], 0xb735b901
mov dword [esp + 0xc8], 0xb3e5b512
mov dword [esp + 0xcc], 0x8f3cb139
mov dword [esp + 0xd0], 0x8b3d8d3a
mov dword [esp + 0xd4], 0x873d893b
mov dword [esp + 0xd8], 0x83c38522
mov dword [esp + 0xdc], 0x9fc981cf
mov dword [esp + 0xe0], 0x9bc19dd5
mov dword [esp + 0xe4], 0x97c299c0
mov dword [esp + 0xe8], 0x93d895e6
mov dword [esp + 0xec], 0xefdd91dd
mov dword [esp + 0xf0], 0xeba3eda1
mov dword [esp + 0xf4], 0xe754e9a5
mov dword [esp + 0xf8], 0xe3bae5ab
mov dword [esp + 0xfc], 0xffa8e1aa
mov dword [esp + 0x100], 0xfb8cfda1
mov dword [esp + 0x104], 0xf7b7f98a
mov dword [esp + 0x108], 0xf3b8f586
mov dword [esp + 0x10c], 0xcfbef1ac
mov dword [esp + 0x110], 0xcb86cd91
mov dword [esp + 0x114], 0xc781c980
mov dword [esp + 0x118], 0xc360c58c
mov word [esp + 0x11c], 0xc1c2
lea eax, [esp + 0x11c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
ja 0x41ecca
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x7c274ccd
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x51
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x41ec80
lea eax, [esp + 0x10a8]
lea edx, [esp + 0x7c]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x11c]
lea edi, [esp + 0x1148]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x7c], 0x7f9701b1
mov dword [esp + 0x80], 0x7bf27de3
mov dword [esp + 0x84], 0x77f579eb
mov dword [esp + 0x88], 0x73ee75e7
mov dword [esp + 0x8c], 0x6fd471fe
mov dword [esp + 0x90], 0x6bf66ddf
mov dword [esp + 0x94], 0x67ff69f0
mov dword [esp + 0x98], 0x63ff65fb
mov dword [esp + 0x9c], 0x5f2f61c6
mov dword [esp + 0xa0], 0x5b0e5d15
mov dword [esp + 0xa4], 0x57fc590a
mov dword [esp + 0xa8], 0x53df55e7
mov dword [esp + 0xac], 0x4fc451de
mov dword [esp + 0xb0], 0x4bdd4ddf
mov dword [esp + 0xb4], 0x47ec49df
mov dword [esp + 0xb8], 0x43ca45f6
mov dword [esp + 0xbc], 0xbfda41d3
mov dword [esp + 0xc0], 0xbb28bd29
mov dword [esp + 0xc4], 0xb735b921
mov dword [esp + 0xc8], 0xb305b512
mov dword [esp + 0xcc], 0xaf3cb139
mov dword [esp + 0xd0], 0xab3dad3a
mov dword [esp + 0xd4], 0xa73da93b
mov dword [esp + 0xd8], 0xa3e3a502
mov dword [esp + 0xdc], 0x9fe9a1ef
mov dword [esp + 0xe0], 0x9b219dd5
mov dword [esp + 0xe4], 0x97229920
mov dword [esp + 0xe8], 0x93d895c6
mov dword [esp + 0xec], 0x8fdd91dd
mov dword [esp + 0xf0], 0x8bc38dc1
mov dword [esp + 0xf4], 0x871489c5
mov dword [esp + 0xf8], 0x833a85cb
mov dword [esp + 0xfc], 0xffc881ca
mov dword [esp + 0x100], 0xfbacfd41
mov dword [esp + 0x104], 0xf7b7f9aa
mov dword [esp + 0x108], 0xf3b8f5a6
mov dword [esp + 0x10c], 0xefbef14c
mov dword [esp + 0x110], 0xeba6ed51
mov dword [esp + 0x114], 0xe7a1e9a0
mov dword [esp + 0x118], 0xe340e5ac
mov word [esp + 0x11c], 0xe1e2
lea ecx, [esp + 0x11c]
mov word [ecx + 6], 0
mov dword [ecx + 2], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa7
ja 0x41ef4a
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
lea esi, [ecx + edx]
add esi, 0xff09eebd
add ecx, 0xff09eebd
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xa7c], esi
mov ecx, dword [esp + 0xa7c]
add cl, 0x41
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa8
jb 0x41eef0
lea edx, [esp + 0x1006]
lea ebp, [esp + 0x7c]
mov esi, ebp
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x11c]
lea edi, [esp + 0x10a6]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe7e]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xf20]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446800]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x87c], 0x1211102f
mov dword [esp + 0xa7c], 0
mov ecx, dword [esp + 0xa7c]
cmp ecx, 3
ja 0x41f047
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa7c]
mov edx, dword [esp + 0xa7c]
movzx edx, byte [esp + edx + 0x87c]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x7c], esi
mov ecx, dword [esp + 0x7c]
add cl, 0xf
mov edx, dword [esp + 0xa7c]
mov byte [esp + edx + 0x87c], cl
inc dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
cmp ecx, 4
jb 0x41eff0
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x41f080
mov edx, dword [esp + 0x87c]
xor esi, esi
mov edi, dword [0x44ad44]
cmp dword [edi + esi*8], 0x625b6034
je 0x41f070
inc esi
cmp ecx, esi
jne 0x41f060
jmp 0x41f080
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41f08e
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
jmp dword [0x446850]
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
jmp dword [0x446850]
push esi
call fcn.00409da0
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x28]
setb al
jmp dword [eax*4 + 0x4467d0]
jmp dword [0x446850]
jmp dword [0x446850]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4467f0]
lea eax, [esp + 0x58]
push dword [esp + 0x18]
push 0
push 0x20019
push eax
push esi
call fcn.0043f430
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4467f8]
mov esi, dword [esp + 0x5c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41f142
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x24]
push ecx
push eax
push edi
push dword [esp + 0x24]
call fcn.0043f560
add esp, 0x10
mov esi, dword [esp + 0x5c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41f174
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov dword [esp + 0x24], esi
mov esi, eax
lea eax, [esp + 0x24]
push eax
push esi
push edi
push dword [esp + 0x24]
call fcn.0043f560
add esp, 0x10
jmp dword [0x4467ec]
add ebp, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 4]
je 0x41f1d8
cmp eax, edx
jae 0x41f1d8
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41f1a0
mov edx, ecx
jmp 0x41f1a0
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
push eax
mov esi, edx
call fcn.00409d90
add esp, 4
mov edi, eax
lea eax, [esp + 0x11ec]
cmp eax, esi
setb al
mov dword [esp + 0xc], edi
test ebp, ebp
jle 0x41f2d7
mov edi, dword [esp + 0xc]
test al, al
je 0x41f2d7
mov edi, dword [esp + 0xc]
lea eax, [edi + ebp]
mov dword [esp + 0x10], eax
add dword [esp + 0x14], edi
lea edx, [esp + 0x11ee]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [edx - 2]
test bx, bx
je 0x41f2d7
cmp bx, 0x7f
ja 0x41f250
mov byte [edi], bl
mov esi, 1
jmp 0x41f2c0
mov eax, edi
not eax
add eax, dword [esp + 0x14]
movzx ecx, bx
cmp eax, 2
jb 0x41f290
cmp ecx, 0x7ff
ja 0x41f290
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 0x41f2c0
xor esi, esi
cmp eax, 3
jb 0x41f2c0
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 0x41f2d7
lea eax, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, eax
jb 0x41f230
mov ecx, dword [esp + 0x2200]
mov byte [edi], 0
mov dword [esp + 0x7c], 0x595c5363
mov dword [esp + 0x80], 0x55494c47
mov dword [esp + 0x84], 0x46425c43
mov dword [esp + 0x88], 0x4d4d6081
mov dword [esp + 0x8c], 0x564b4446
mov dword [esp + 0x90], 0x4e4a6f89
mov dword [esp + 0x94], 0xa8b05254
mov dword [esp + 0x98], 0xb9bc71b5
mov word [esp + 0x9c], 0x43be
mov dword [esp + 0x9e], 0
mov word [esp + 0xa2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x27
ja 0x41f3b8
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add eax, 0x25b8b266
xor eax, edx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x3c
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x28
jb 0x41f370
lea eax, [esp + 0x7c]
push ebp
mov esi, dword [esp + 0x10]
push esi
push eax
call fcn.0040a6f0
jmp dword [0x446858]
push esi
mov esi, eax
call fcn.00409da0
mov eax, esi
add esp, 4
and al, 1
mov ecx, dword [case.0x41e29d.25]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor eax, eax
mov esi, dword [esp + 8]
cmp ebp, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x446e64]
movzx ecx, word [esi]
test cx, cx
je 0x420117
mov eax, esi
xor esi, esi
jmp 0x42000e
xor edx, edx
test ecx, ecx
sete dl
xor eax, eax
jmp dword [edx*4 + 0x446e5c]
jmp dword [eax*4 + 0x446ddc]
jmp dword [0x446de4]
mov dword [esp + 0x50], 0x6211600d
mov dword [esp + 0x54], 0x661e6422
mov dword [esp + 0x58], 0x9aee98e2
mov dword [esp + 0x5c], 0x9eed9ce9
mov dword [esp + 0x60], 0x92ff90fa
mov dword [esp + 0x64], 0x96d494ea
mov dword [esp + 0x68], 0x8af388cc
mov dword [esp + 0x6c], 0x8ef18cf6
mov dword [esp + 0x70], 0x82ef80c6
mov dword [esp + 0x74], 0x86f684f0
mov dword [esp + 0x78], 0xbacfb8ff
mov dword [esp + 0x7c], 0xbefcbcd4
mov dword [esp + 0x80], 0xb2f4b0c3
mov dword [esp + 0x84], 0xb6c8b4d9
mov dword [esp + 0x88], 0xaacea832
mov dword [esp + 0x8c], 0xae3eac3f
mov dword [esp + 0x90], 0xa232a034
mov dword [esp + 0x94], 0xa633a4c3
mov dword [esp + 0x98], 0xdab2d8b5
mov dword [esp + 0x9c], 0xde41dc46
mov dword [esp + 0xa0], 0xd242d0b5
mov dword [esp + 0xa4], 0xd642d45c
mov dword [esp + 0xa8], 0xca8ec8a5
mov dword [esp + 0xac], 0xce5dcc5a
mov dword [esp + 0xb0], 0xc2a4c053
mov dword [esp + 0xb4], 0xc653c45b
mov dword [esp + 0xb8], 0xfa9cf88f
mov dword [esp + 0xbc], 0xfe6afc6f
mov dword [esp + 0xc0], 0xf262f06a
mov dword [esp + 0xc4], 0xf69bf46b
mov dword [esp + 0xc8], 0xea75e89e
mov dword [esp + 0xcc], 0xee71ec76
mov dword [esp + 0xd0], 0xe277e074
mov dword [esp + 0xd4], 0xe67be486
mov dword [esp + 0xd8], 0x1a1b1885
mov dword [esp + 0xdc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x8f
ja 0x41f930
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xc83b2078
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xe7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x90
jb 0x41f900
lea eax, [esp + 0x10]
lea ecx, [esp + 0x50]
push 0
push 0
push ebx
push eax
push ecx
call fcn.0043f430
add esp, 0x14
jmp case.0x41e29d.31
lea eax, [esp + 0x10]
lea ecx, [esp + 0x50]
push 0
push 0
push ebx
push eax
push ecx
call fcn.0043f430
add esp, 0x14
jmp dword [0x446df0]
mov dword [esp + 0x50], 0x6211600d
mov dword [esp + 0x54], 0x661e6422
mov dword [esp + 0x58], 0x9aee98e2
mov dword [esp + 0x5c], 0x9eed9ce9
mov dword [esp + 0x60], 0x92ff90fa
mov dword [esp + 0x64], 0x96d494ea
mov dword [esp + 0x68], 0x8af388cc
mov dword [esp + 0x6c], 0x8ef18cf6
mov dword [esp + 0x70], 0x82ef80c6
mov dword [esp + 0x74], 0x86f684f0
mov dword [esp + 0x78], 0xbacfb8ff
mov dword [esp + 0x7c], 0xbefcbcd4
mov dword [esp + 0x80], 0xb2f4b0c3
mov dword [esp + 0x84], 0xb6c8b4d9
mov dword [esp + 0x88], 0xaacea832
mov dword [esp + 0x8c], 0xae3eac3f
mov dword [esp + 0x90], 0xa232a034
mov dword [esp + 0x94], 0xa633a4c3
mov dword [esp + 0x98], 0xdab2d8b5
mov dword [esp + 0x9c], 0xde41dc46
mov dword [esp + 0xa0], 0xd242d0b5
mov dword [esp + 0xa4], 0xd642d45c
mov dword [esp + 0xa8], 0xca8ec8a5
mov dword [esp + 0xac], 0xce5dcc5a
mov dword [esp + 0xb0], 0xc2a4c053
mov dword [esp + 0xb4], 0xc653c45b
mov dword [esp + 0xb8], 0xfa9cf88f
mov dword [esp + 0xbc], 0xfe6afc6f
mov dword [esp + 0xc0], 0xf262f06a
mov dword [esp + 0xc4], 0xf69bf46b
mov dword [esp + 0xc8], 0xea75e89e
mov dword [esp + 0xcc], 0xee71ec76
mov dword [esp + 0xd0], 0xe277e074
mov dword [esp + 0xd4], 0xe67be486
mov dword [esp + 0xd8], 0x1a1b1885
mov dword [esp + 0xdc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x8f
ja 0x41f950
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xc83b2078
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xe7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x90
jb 0x41faf0
jmp 0x41f950
shr eax, 0x1f
jmp dword [eax*4 + 0x446df4]
lea eax, [esp + 0x44]
lea ecx, [esp + 0x14]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x30]
call fcn.0043f820
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e0c]
jmp 0x41fc12
jmp dword [0x446e04]
mov ecx, 4
xor edx, edx
cmp ecx, 4
setb dl
mov ebx, 0x20119
xor eax, eax
jmp dword [edx*4 + 0x446e54]
mov eax, dword [esp + 0x14]
mov ecx, eax
and ecx, 0x7ffffefb
mov edx, eax
and edx, 0x104
or eax, 0x104
imul eax, edx
xor edx, 0x104
imul edx, ecx
add eax, edx
mov esi, dword [esp + 0xc]
lea eax, [esi + eax*2]
push eax
push dword [esp + 0xc]
call fcn.0043c9d0
add esp, 8
mov dword [esp + 8], eax
lea ebp, [eax + esi*2]
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x446e14]
mov word [ebp], 0
mov eax, ebp
sub eax, dword [esp + 8]
sar eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp], 0x1211102f
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
cmp ecx, 3
ja 0x41fc70
nop
nop
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
movzx edx, byte [esp + edx]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x50], esi
mov ecx, dword [esp + 0x50]
add cl, 0xf
mov edx, dword [esp + 0x20]
mov byte [esp + edx], cl
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, 4
jb 0x41fc30
mov ecx, dword [0x44ad40]
test ecx, ecx
je case.default.0x41ffba
mov edx, dword [esp]
xor ebx, ebx
mov edi, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x625b6034
je 0x41ff81
mov esi, ebx
and esi, 1
xor ebx, 1
lea ebx, [ebx + esi*2]
cmp ebx, ecx
jb 0x41fc90
jmp case.default.0x41ffba
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x446e14]
jmp dword [0x446e20]
push edi
call fcn.00409da0
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x446e14]
mov esi, dword [esp + 0x44]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41fd12
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov edi, eax
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x1c]
push eax
push edi
push ebx
push dword [esp + 0x1c]
call fcn.0043f560
add esp, 0x10
jmp dword [0x446e24]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e2c]
jmp dword [0x446e44]
mov edi, dword [esp + 0x44]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41fd62
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov dword [esp + 0x1c], edi
lea ecx, [esp + 0x1c]
push ecx
push eax
push ebx
push dword [esp + 0x1c]
call fcn.0043f560
add esp, 0x10
jmp case.0x41e29d.41
lea eax, [esp + 0x40]
push dword [esp + 0x10]
push 0
push 0x20019
push eax
push edi
call fcn.0043f430
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e34]
jmp dword [0x446e44]
mov dword [esp + 0x4c], 0x800
mov dword [esp + 0x20], 0xe640c49
mov dword [esp + 0x24], 0x32a330a4
mov dword [esp + 0x28], 0x36543459
mov dword [esp + 0x2c], 0x3a7538a2
mov dword [esp + 0x30], 0x3e503c5e
mov dword [esp + 0x34], 0x22232046
lea eax, [esp + 0x38]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1a
ja 0x41fe51
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
add eax, 0x89305f9c
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x6f
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1b
jb 0x41fe20
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x20]
push eax
lea eax, [esp + 0x54]
push eax
push 0
push ecx
push dword [esp + 0x50]
call fcn.0043fdb0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e3c]
jmp 0x41feab
movzx eax, word [esp + 0x50]
test ax, ax
je 0x41fea2
lea ecx, [esp + 0x52]
nop
nop
nop
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fe90
mov word [ebp], 0xa
add ebp, 2
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x1211102f
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x41ff0b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 4]
lea edx, [eax + ecx]
add edx, 0x8c3888df
add eax, 0x8c3888df
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
add al, 0xf
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x41fed0
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x41ff60
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
xor eax, eax
mov edx, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + eax*8], 0x625b6034
je 0x41ff4a
mov esi, eax
and esi, 1
xor eax, 1
lea eax, [eax + esi*2]
cmp eax, ecx
jb 0x41ff30
jmp 0x41ff60
mov eax, dword [edx + eax*8 + 4]
cmp eax, dword [esp + 0x18]
jne 0x41ff66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x446e44]
push dword [esp + 0xc]
push 1
push dword [0x44ad48]
push eax
call fcn.0043cab0
add esp, 0x10
jmp dword [0x446e44]
mov ecx, dword [edi + ebx*8 + 4]
cmp ecx, edx
je case.default.0x41ffba
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
nop
nop
nop
nop
nop
lea eax, [esp + 0x50]
push eax
call fcn.0043ea90
add esp, 4
cmp dword [esp + 0x50], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446e4c]
xor eax, eax
xor edx, edx
cmp eax, 4
setb dl
mov ebx, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446e54]
mov ecx, 2
xor edx, edx
cmp ecx, 4
setb dl
mov ebx, 0x20119
xor eax, eax
jmp dword [edx*4 + 0x446e54]
add esi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x420038
test ebp, ebp
je 0x420016
cmp eax, ebp
jae 0x420038
movzx edi, cx
cmp edi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp edi, 0x80
jb 0x420000
mov edx, ecx
jmp 0x420000
lea edi, [esi + 1]
push edi
call fcn.00409d90
add esp, 4
test esi, esi
mov dword [esp + 0x3c], eax
jle 0x42012b
lea ecx, [eax + esi]
mov dword [esp + 0xc], ecx
add edi, eax
mov dword [esp + 0x18], edi
mov edx, dword [esp + 8]
mov edi, eax
jmp 0x420086
mov byte [edi], bl
mov ecx, 1
add edx, 2
add edi, ecx
cmp edi, dword [esp + 0xc]
jae 0x42012d
test ebp, ebp
je 0x420092
cmp edx, ebp
jae 0x42012d
movzx ebx, word [edx]
test bx, bx
je 0x42012d
cmp bx, 0x7f
jbe 0x420070
mov eax, edi
not eax
add eax, dword [esp + 0x18]
movzx ecx, bx
cmp eax, 2
jb 0x4200e0
cmp ecx, 0x7ff
ja 0x4200e0
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 0x420077
mov dword [esp + 0x48], ecx
xor ecx, ecx
cmp eax, 3
jb 0x420077
mov ecx, dword [esp + 0x48]
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 0x420077
xor esi, esi
push 1
call fcn.00409d90
add esp, 4
mov edi, eax
mov dword [esp + 0x3c], eax
jmp 0x42012d
mov edi, eax
mov ecx, dword [esp + 0x864]
mov byte [edi], 0
mov dword [esp + 0x50], 0x67666c8b
mov dword [esp + 0x54], 0x6c66765b
mov dword [esp + 0x58], 0x9f5c61a4
mov byte [esp + 0x5c], 0x2a
mov dword [esp + 0x5d], 0
mov word [esp + 0x61], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x4201ae
nop
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 + 0x50]
add eax, 0x5c150c75
xor eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x55
mov edx, dword [esp]
mov byte [esp + edx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x420180
lea eax, [esp + 0x50]
push esi
mov edi, dword [esp + 0x40]
push edi
push eax
call fcn.0040a6f0
mov ebx, eax
mov esi, dword [esp + 8]
jmp dword [0x446e6c]
push edi
call fcn.00409da0
add esp, 4
push esi
call fcn.0043a960
add esp, 4
mov eax, ebx
add esp, 0x850
pop esi
pop edi
pop ebx
pop ebp
ret
int3
push eax
sub esp, 8
mov ecx, esp
sub esp, 0x18
mov eax, esp
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [eax], 0x198c1785
mov dword [eax + 4], 0x1dfd1bff
mov dword [eax + 8], 0x12e1ff3
mov dword [eax + 0xc], 0x59c03e7
mov dword [eax + 0x10], 0x90807e3
mov word [eax + 0x14], 0
mov byte [eax + 0x16], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x16
ja 0x4206fc
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [eax + esi]
add edx, 0x85e22fc6
xor edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0x30
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x17
jb 0x4206d0
push eax
call fcn.0043aa10
jmp case.0x41ffba.10
mov ecx, ebx
push eax
call fcn.0043aa10
jmp dword [0x446e80]
push eax
sub esp, 8
mov ebx, esp
sub esp, 0x18
mov eax, esp
sub esp, 0xc
mov esi, esp
sub esp, 0x30
mov edi, esp
sub esp, 0x400
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0x60], esp
sub esp, 8
mov dword [ebp - 0x44], esp
sub esp, 0x24
mov dword [ebp - 0x5c], esp
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [eax], 0x198c1785
mov dword [eax + 4], 0x1dfd1bff
mov dword [eax + 8], 0x12e1ff3
mov dword [eax + 0xc], 0x59c03e7
mov dword [eax + 0x10], 0x90807e3
mov word [eax + 0x14], 0
mov byte [eax + 0x16], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
ja 0x420710
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [eax + edx]
add ecx, 0x85e22fc6
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x30
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x17
jb 0x4207a0
jmp 0x420710
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x446e84]
mov ecx, ebx
push 0x410
call fcn.0043ac50
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x446e9c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x50], ecx
mov dword [edi], 0x356c234e
mov dword [edi + 4], 0x373b684d
mov dword [edi + 8], 0x433a3a5a
mov dword [edi + 0xc], 0xaec73d5e
mov dword [edi + 0x10], 0xcfa499af
mov dword [edi + 0x14], 0xb6a99da6
mov dword [edi + 0x18], 0xcdb695b3
mov dword [edi + 0x1c], 0xd188cfa8
mov dword [edi + 0x20], 0x89bdbdbb
mov dword [edi + 0x24], 0xd98490ba
mov dword [edi + 0x28], 0x4a9b84ba
mov dword [edi + 0x2c], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
ja 0x42089a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edi + ecx]
add eax, 0xbf09e0f2
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xa9
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x30
jb 0x420870
mov ecx, ebx
push 0
push 0x2b
push edi
push esi
call fcn.0043b2a0
mov edi, dword [esi]
mov ecx, dword [esi + 4]
xor eax, eax
cmp edi, ecx
sete al
jmp dword [eax*4 + 0x446ea4]
mov eax, ecx
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
mov dword [ebp - 0x4c], ecx
call fcn.00409d90
add esp, 4
add dword [ebp - 0x44], 4
inc dword [ebp - 0x40]
mov dword [ebp - 0x2c], 0
xor ecx, ecx
cmp edi, dword [ebp - 0x4c]
setne cl
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x24], esi
jmp dword [ecx*4 + 0x446eac]
mov eax, dword [ebp - 0x2c]
and al, 1
movzx eax, al
mov edx, dword [ebp - 0x5c]
jmp dword [eax*4 + 0x446eb4]
jmp dword [0x446f14]
add edi, 4
xor eax, eax
cmp edi, dword [ebp - 0x4c]
setne al
jmp dword [eax*4 + 0x446eac]
mov dword [ebp - 0x38], edi
mov eax, dword [edi]
mov dword [ebp - 0x20], eax
push 0x400
push 0
push edx
mov edi, edx
call fcn.00409e10
add esp, 0xc
mov ecx, ebx
mov esi, dword [ebp - 0x60]
push esi
push 0x400
push edi
push dword [ebp - 0x20]
call fcn.0043b110
cmp eax, 0xc0000000
setae al
cmp dword [esi], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446ebc]
mov eax, 1
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x38]
jmp dword [eax*4 + 0x446ec4]
xor eax, eax
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x38]
jmp dword [eax*4 + 0x446ec4]
mov byte [edx + 0x3ff], 0
movzx eax, byte [edx]
mov dword [ebp - 0x1c], 0
test al, al
je case.0x41e29d.95
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x4209cf
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4209c0
jmp case.0x41e29d.95
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446ecc]
movzx eax, byte [ecx + 1]
inc ecx
xor ebx, ebx
test al, al
mov dword [ebp - 0x1c], ecx
je 0x420a11
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x420a0f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x420a00
jmp 0x420a11
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446ed4]
mov eax, dword [case.0x4208b3.8]
mov ebx, dword [ebp - 0x48]
jmp case.0x420c27.6
mov edx, ebx
mov esi, dword [ebp - 0x1c]
sub edx, esi
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov edi, edx
or edi, 3
imul edi, ecx
xor ecx, 3
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x420a5e
cmp eax, 0x2e
jne 0x420a5f
dec edi
movzx eax, byte [esi + edx - 2]
cmp eax, 0x3d
mov dword [ebp - 0x3c], edx
je 0x420a71
cmp eax, 0x2e
jne 0x420a72
dec edi
mov dword [ebp - 0x58], edi
lea eax, [edi + 1]
push eax
call fcn.00409d90
add esp, 4
mov dword [ebp - 0x30], eax
cmp ebx, esi
je 0x420b6b
xor edx, edx
mov edi, 2
jmp 0x420ab0
mov edx, dword [ebp - 0x54]
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x420b6b
mov dword [ebp - 0x20], edx
mov esi, dword [ebp - 0x1c]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00415e40
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00415e40
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [ebp - 0x3c]
cmp edi, ecx
jae 0x420aa0
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.00415e40
mov edx, esi
mov ecx, dword [ebp - 0x3c]
add esp, 4
cmp al, 0x40
je 0x420aa0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [ebp - 0x20]
lea edx, [esi + 2]
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x30]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x420a95
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00415e40
mov ecx, dword [ebp - 0x3c]
add esp, 4
cmp al, 0x40
mov edx, dword [ebp - 0x54]
je 0x420aa0
shl bl, 6
add al, bl
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x20]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x420aa0
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x30]
mov byte [edi + eax], 0
push edi
call fcn.00402b60
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x48]
jmp dword [0x446edc]
push edi
call fcn.00409da0
add esp, 4
mov dword [ebp - 0x20], esi
push esi
call fcn.004035f0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [ebp - 0x38]
jmp dword [ecx*4 + 0x446ee4]
mov esi, dword [ebp - 0x24]
jmp 0x420cb7
mov esi, dword [ebp - 0x50]
mov dword [esi], 0xe6d8380
mov ecx, dword [ebp - 0x44]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
ja 0x420c16
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x689df500
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
add cl, 0xf3
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x420be0
push esi
push eax
call fcn.004033b0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446eec]
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
jmp 0x420c8e
jmp dword [0x446ef4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x18]
test cl, cl
je 0x420c5b
lea esi, [eax + 1]
mov edx, dword [ebp - 0x18]
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x420c50
mov word [edx], 0x203a
movzx edx, byte [eax]
mov ecx, dword [ebp - 0x18]
test dl, dl
je 0x420c7b
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x18]
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x420c70
mov word [ecx], 0x203a
jmp dword [0x446efc]
add ecx, 2
mov edx, ecx
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
test al, al
je 0x420cab
mov ecx, dword [ebp - 0x40]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420ca0
mov byte [edx], 0xa
inc edx
mov dword [ebp - 0x18], edx
mov al, 1
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x20]
call fcn.00403ba0
add esp, 4
mov eax, dword [case.0x4208b3.8]
mov edx, dword [ebp - 0x28]
nop
nop
nop
nop
nop
nop
jmp eax
xor edx, edx
test edi, edi
jne 0x420d9a
jmp case.0x41ffba.15
mov edi, dword [ebp - 0x18]
mov byte [edi], 0
sub edi, dword [ebp - 0x34]
mov dword [edx], 0x424f487e
mov dword [edx + 4], 0x46545942
mov dword [edx + 8], 0x4345414e
mov dword [edx + 0xc], 0xb1bf6184
mov dword [edx + 0x10], 0x9a7ebbae
mov dword [edx + 0x14], 0xb0b8b1bc
mov dword [edx + 0x18], 0xceb372b4
mov word [edx + 0x1c], 0x44b1
mov dword [edx + 0x1e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x21
ja 0x420d6a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x5d6cf9f2
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0xb5
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x22
jb 0x420d40
mov ecx, dword [ebp + 8]
push edi
push dword [ebp - 0x34]
push edx
call fcn.0040a6f0
mov dword [ebp - 0x2c], eax
jmp dword [0x446f14]
push dword [ebp - 0x34]
call fcn.00409da0
add esp, 4
mov edx, dword [ebp - 0x2c]
and dl, 1
mov edi, dword [esi]
mov ecx, dword [esi + 4]
test edi, edi
je case.0x41ffba.15
cmp edi, ecx
je case.0x41ffba.15
push edi
mov edi, edx
call fcn.00409da0
mov edx, edi
add esp, 4
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov ecx, ebx
mov ebx, edx
call fcn.0043add0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x446f74]
mov ecx, edi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x420e10
sub eax, edi
cmp eax, 0xffffffd9
jge 0x4211e2
mov eax, 0xffffffff
jmp 0x4211e5
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x446f6c]
jmp dword [edx*4 + 0x446f1c]
mov dword [esp + 0x34], 0x402d7e21
mov dword [esp + 0x38], 0x44044204
mov dword [esp + 0x3c], 0x4814460c
mov dword [esp + 0x40], 0x4c194a1d
mov dword [esp + 0x44], 0x50134e14
mov dword [esp + 0x48], 0x5412521c
mov dword [esp + 0x4c], 0x581f5616
mov dword [esp + 0x50], 0x5c155a10
mov dword [esp + 0x54], 0xa0035e18
mov dword [esp + 0x58], 0xa4eca2f2
mov dword [esp + 0x5c], 0xa8f3a6e3
mov dword [esp + 0x60], 0xaceaaafe
mov dword [esp + 0x64], 0xb0eaaeff
mov dword [esp + 0x68], 0xb4e5b2ed
mov dword [esp + 0x6c], 0xb81bb614
mov dword [esp + 0x70], 0xbc1eba0f
mov dword [esp + 0x74], 0x80ecbee1
mov dword [esp + 0x78], 0x84268235
mov dword [esp + 0x7c], 0x882a8624
mov dword [esp + 0x80], 0x8a89
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x4f
ja 0x420f3c
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
lea esi, [ecx + 0xdd]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0x60c83dd
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x60
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x50
jb 0x420f00
lea ecx, [esp + 0x28]
lea edx, [esp + 0x34]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043f430
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446f24]
mov ebx, edi
lea ebp, [esp + 0x90]
lea eax, [esp + 0x30]
push ebp
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x48]
call fcn.0043f820
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f3c]
mov ecx, dword [esp + 0x90]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x420fa6
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov esi, eax
mov dword [esp + 0x34], 0xda49dc2a
mov dword [esp + 0x38], 0xc65bd844
mov dword [esp + 0x3c], 0xc257c42a
mov dword [esp + 0x40], 0xce3fc055
mov dword [esp + 0x44], 0xca57cc22
mov dword [esp + 0x48], 0xf6f7c821
mov word [esp + 0x4c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x42102e
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, 0xb9202b8a
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xa9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x421000
push ebp
push esi
push 0
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x38]
call fcn.0043fdb0
add esp, 0x14
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x446f44]
xor ebx, ebx
jmp dword [0x446f4c]
push esi
call fcn.00409da0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp], 0x1211102f
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x4210c0
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x34]
add cl, 0xf
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x421080
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x421130
mov edx, dword [esp]
xor esi, esi
mov ebp, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + esi*8], 0x625b6034
je 0x421121
mov edi, esi
and edi, 1
xor esi, 1
lea esi, [esi + edi*2]
cmp esi, ecx
jb 0x4210e0
jmp 0x421130
jmp dword [0x446f34]
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x446f64]
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne case.default.0x421139
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov edi, ebx
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446f54]
lea eax, [esp + 0x34]
push eax
call fcn.0043ea90
add esp, 4
cmp dword [esp + 0x34], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446f5c]
xor ecx, ecx
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x446f64]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x446f64]
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
xor eax, eax
mov edi, ebx
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446f54]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x446f64]
xor eax, eax
jmp 0x421a26
add eax, 0x26
push eax
call fcn.00409d90
add esp, 4
mov esi, eax
mov dword [esp + 0x34], 0xb616b41f
mov dword [esp + 0x38], 0xaa37a828
mov dword [esp + 0x3c], 0xae34ac0d
mov dword [esp + 0x40], 0xa20da008
mov dword [esp + 0x44], 0xa63aa400
mov dword [esp + 0x48], 0x9a3f9839
mov dword [esp + 0x4c], 0x9e3a9c02
mov dword [esp + 0x50], 0x92079041
mov dword [esp + 0x54], 0x96339437
mov word [esp + 0x58], 0x8897
mov dword [esp + 0x5a], 0
mov word [esp + 0x5e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x42128e
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0xc1a5b9cb
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x88
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x421260
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x4212b1
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4212a0
mov word [eax], 0
movzx ecx, word [esp + 0x34]
test cx, cx
je 0x4212e1
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 0x4212d0
mov word [eax], 0
jmp dword [0x446f7c]
push edi
call fcn.00409da0
add esp, 4
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x446f84]
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x446f84]
mov dword [esp + 0x34], 0xc793272
mov dword [esp + 0x38], 0x8ac0ea9
mov dword [esp + 0x3c], 0x4bd0abe
mov dword [esp + 0x40], 0xbe06bb
mov dword [esp + 0x44], 0x1ca702be
mov dword [esp + 0x48], 0x18a81ebe
mov dword [esp + 0x4c], 0x14a51aaf
mov dword [esp + 0x50], 0x10a816ac
mov dword [esp + 0x54], 0x6c9d1267
mov dword [esp + 0x58], 0x68d16ed1
mov word [esp + 0x5c], 0x6a69
mov dword [esp + 0x5e], 0
mov word [esp + 0x62], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x4213be
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0x65c6f99d
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x54
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x421390
lea eax, [esp + 0x34]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043ecc0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f8c]
mov dword [esp + 0x10], 0
mov eax, dword [case.0x42157a.15]
xor ebx, ebx
jmp case.0x42157a.12
mov dword [esp + 0x8c], esi
lea eax, [esp + 0x30]
push 0
push eax
push dword [esp + 0x30]
call fcn.0043f020
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x446f94]
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
push eax
call fcn.00409d90
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x34]
call fcn.0043f100
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x446f9c]
mov esi, dword [esp + 0x30]
mov byte [edi + esi], 0
push 0x20
call fcn.00409d90
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
mov dword [esp + 0x98], edi
push edi
call fcn.00424020
movzx eax, al
xor ebx, ebx
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x446fa4]
mov dword [esp + 0x34], 0x1d080639
mov dword [esp + 0x38], 0x12003019
mov dword [esp + 0x3c], 0x1d2d21dd
mov dword [esp + 0x40], 0x28db1406
mov dword [esp + 0x44], 0x16251808
mov dword [esp + 0x48], 0x601fc0d1
mov dword [esp + 0x4c], 0x7568706d
mov dword [esp + 0x50], 0xfb75
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x42155a
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
lea edx, [eax + 0xa9]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xe80419a9
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xc3
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb case.default.0x42157a
lea eax, [esp + 0x34]
mov ecx, dword [esp + 0x84]
push eax
call fcn.00424230
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
jmp dword [ecx*4 + 0x446fac]
mov edi, dword [esp + 0x94]
jmp dword [0x446fcc]
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.004243a0
push esi
call fcn.00409da0
add esp, 4
jmp dword [0x446fd4]
jmp dword [0x446fd4]
push edi
call fcn.00409da0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp], 0x1211102f
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x421620
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]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x34]
add cl, 0xf
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x4215e0
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x421678
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42165e
mov ebp, ebx
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
mov ebx, ebp
cmp esi, ecx
jb 0x421640
jmp 0x421678
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x421678
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
mov eax, dword [case.0x42157a.15]
mov esi, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x446fec]
push esi
call fcn.00409da0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
sete al
jmp dword [eax*4 + 0x446ff4]
xor eax, eax
jmp 0x4219e2
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
sete al
jmp dword [eax*4 + 0x446ff4]
mov eax, ebx
sub eax, ecx
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.00409d90
add esp, 4
mov edi, eax
mov eax, dword [0x44ad3c]
mov dword [esp + 0x34], 0x17c815f5
mov dword [esp + 0x38], 0xeb4de9a7
mov dword [esp + 0x3c], 0xef50ed49
mov dword [esp + 0x40], 0xe350e12d
mov dword [esp + 0x44], 0xe720e552
mov dword [esp + 0x48], 0xfb4cf945
mov dword [esp + 0x4c], 0xff1bfd59
mov dword [esp + 0x50], 0xf325f152
mov dword [esp + 0x54], 0xf753f546
mov dword [esp + 0x58], 0xcb77c955
mov dword [esp + 0x5c], 0xcf70cd66
mov dword [esp + 0x60], 0xc365c17f
mov dword [esp + 0x64], 0xc778c561
mov dword [esp + 0x68], 0xdb6ed938
mov dword [esp + 0x6c], 0xdf7add7e
mov word [esp + 0x70], 0xd1de
mov dword [esp + 0x72], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x4217d0
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
add ecx, 0x4aac9b7b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x97
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x4217a0
lea ebp, [esp + 0x34]
lea ecx, [esp + 0x28]
push ecx
push 0
push 0
push 0x1e
push ebp
push 0
call eax
mov esi, dword [esp + 0x28]
test esi, esi
jns 0x4217f3
mov eax, 0xffffffff
jmp 0x4217f6
lea eax, [esi + esi]
push eax
call fcn.00409d90
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [0x44ad3c]
mov dword [esp + 0x34], 0xed38e3cf
mov dword [esp + 0x38], 0xe90bef19
mov dword [esp + 0x3c], 0xf500eb0b
mov dword [esp + 0x40], 0xf100f737
mov dword [esp + 0x44], 0xfd30f302
mov dword [esp + 0x48], 0xf904ff1f
mov dword [esp + 0x4c], 0x85a9fb1b
mov dword [esp + 0x50], 0x81538762
mov dword [esp + 0x54], 0x8d61837e
mov dword [esp + 0x58], 0x897d8f6f
mov dword [esp + 0x5c], 0x95608b6e
mov dword [esp + 0x60], 0x91739761
mov dword [esp + 0x64], 0x9d689373
mov dword [esp + 0x68], 0x99669fa8
mov dword [esp + 0x6c], 0xa54a9b76
mov dword [esp + 0x70], 0xa7a6
mov byte [esp + 0x74], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x4218d0
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x34]
add ecx, 0x27704c26
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x3c
mov edx, dword [esp]
mov byte [esp + edx + 0x34], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x4218a0
lea ecx, [esp + 0x28]
push ecx
push esi
mov esi, dword [esp + 0x28]
push esi
push 0x1e
push ebp
push 0
call eax
lea eax, [esp + 0x30]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043ecc0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446ffc]
xor edx, edx
mov dword [esp + 0x14], edi
jmp dword [0x4470f4]
push dword [esp + 0x20]
mov esi, edx
call fcn.00409da0
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, esi
jmp dword [ecx*4 + 0x4470fc]
mov edx, dword [esp + 0x14]
mov byte [edx], 0
mov dword [esp + 0x34], 0x53484995
mov dword [esp + 0x38], 0x5f6b6851
mov dword [esp + 0x3c], 0x52525055
mov dword [esp + 0x40], 0x6050709f
mov dword [esp + 0x44], 0x8b995a65
mov dword [esp + 0x48], 0xa19fa0a7
mov dword [esp + 0x4c], 0xa7ac63af
mov dword [esp + 0x50], 0x3da2
sub edx, edi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x4219be
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x34]
add eax, 0xbf00ce6d
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x49
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x421990
mov ecx, dword [esp + 0xb0]
push edx
push edi
push ebp
call fcn.0040a6f0
jmp dword [0x447104]
push edi
mov esi, eax
call fcn.00409da0
mov eax, esi
add esp, 4
and al, 1
mov esi, dword [esp + 0x10]
test esi, esi
je 0x421a26
cmp esi, ebx
je 0x421a26
mov edi, eax
jmp 0x421a07
add esi, 8
cmp esi, ebx
je 0x421a18
mov eax, dword [esi]
test eax, eax
je 0x421a00
push eax
call fcn.00409da0
add esp, 4
jmp 0x421a00
push dword [esp + 0x10]
call fcn.00409da0
add esp, 4
mov eax, edi
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x38]
call fcn.0043f020
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
jmp dword [eax*4 + 0x447004]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.00409d90
add esp, 4
push 0
push esi
mov dword [esp + 0x8c], eax
push eax
push dword [esp + 0x3c]
call fcn.0043f100
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
jmp dword [eax*4 + 0x44701c]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x84]
mov byte [eax + esi], 0
push 0x20
call fcn.00409d90
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
push dword [esp + 0x88]
call fcn.00424020
movzx eax, al
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
jmp dword [eax*4 + 0x447024]
mov dword [esp + 0x34], 0xbd4a405d
mov dword [esp + 0x38], 0x30c22ec5
mov dword [esp + 0x3c], 0x3d292179
mov dword [esp + 0x40], 0x2a773acc
mov dword [esp + 0x44], 0x34213ece
mov dword [esp + 0x48], 0x2f2f006d
mov dword [esp + 0x4c], 0xd5272628
mov dword [esp + 0x50], 0x2d2b3609
mov word [esp + 0x54], 0x532f
mov dword [esp + 0x56], 0
mov byte [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x421bae
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, 0x757599bc
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x72
mov ecx, dword [esp]
mov byte [esp + ecx + 0x34], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x421b80
mov ecx, dword [esp + 0x98]
push ebp
call fcn.00424230
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
jmp dword [ecx*4 + 0x44702c]
mov esi, dword [esp + 0x98]
jmp dword [0x4470c4]
jmp dword [0x4470d0]
mov ecx, esi
call fcn.004243a0
push esi
call fcn.00409da0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, esi
call fcn.004243a0
push esi
call fcn.00409da0
add esp, 4
jmp dword [0x4470d4]
jmp dword [0x4470dc]
push dword [esp + 0x84]
call fcn.00409da0
add esp, 4
mov dword [esp + 0x1c], edi
mov ebp, ebx
mov eax, dword [esp + 0x30]
mov dword [esp], 0x1211102f
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x421c90
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x34]
add cl, 0xf
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x421c50
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x421cd2
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x421cca
mov edi, esi
and edi, 1
xor esi, 1
lea esi, [esi + edi*2]
cmp esi, ecx
jb 0x421cb0
jmp 0x421cd2
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x421cfc
mov ebx, ebp
mov edi, dword [esp + 0x1c]
lea ebp, [esp + 0x34]
mov edx, dword [esp + 0x18]
jmp dword [0x4470f4]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x4470fc]
jmp dword [0x447104]
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
mov ebx, ebp
mov edi, dword [esp + 0x1c]
lea ebp, [esp + 0x34]
mov edx, dword [esp + 0x18]
jmp dword [0x4470f4]
add eax, 8
mov dword [esp + 0x10], 0
mov ecx, dword [eax]
xor eax, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
setne al
xor ebx, ebx
xor edx, edx
jmp dword [eax*4 + 0x446fb4]
mov ecx, dword [esp + 0x18]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446fb4]
jmp dword [0x446fc0]
mov edi, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov ecx, ebx
sub ecx, edi
cmp ebx, edx
mov dword [esp + 0x20], ecx
je 0x421da0
mov dword [esp + 0x24], ebx
jmp 0x421e2a
mov eax, ecx
sar eax, 3
inc eax
mov dword [esp + 0x2c], edx
mov ecx, edx
mov ebx, edi
sub ecx, edi
sar ecx, 3
mov esi, ecx
shr esi, 1
add esi, ecx
cmp esi, eax
ja 0x421dbf
mov esi, eax
lea eax, [esi*8]
push eax
call fcn.00409d90
add esp, 4
mov edi, eax
test ebx, ebx
je 0x421e1b
mov edx, ebx
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
je 0x421e12
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edx + eax]
mov dword [edi + eax], ecx
mov ecx, dword [edx + eax + 4]
mov dword [edi + eax + 4], ecx
mov dword [edx + eax], 0
lea ecx, [edx + eax]
add ecx, 8
add eax, 8
cmp ecx, ebx
jne 0x421df0
push edx
call fcn.00409da0
add esp, 4
lea edx, [edi + esi*8]
mov eax, edi
mov ecx, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edx
mov dword [edi + ecx], 0
mov dword [esp + 0x10], edi
mov dword [edi + ecx + 4], 0
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, esi
inc esi
cmp byte [ebp + ebx], 0
jne 0x421e50
lea eax, [esi - 1]
mov dword [esp + 0x1c], eax
push esi
call fcn.00409d90
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [ecx + edx], eax
mov ecx, esi
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov eax, esi
not eax
or eax, 0xfffffffc
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
lea edi, [esi + ecx]
inc edi
add eax, ebp
lea ecx, [esi + eax]
inc ecx
mov dword [esp + 0x88], ecx
mov ecx, esi
shr ecx, 1
and ecx, 1
mov edx, dword [esp + 0x88]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test byte [esp + 0x1c], 1
jne 0x421ee3
add eax, esi
mov ecx, esi
and ecx, 2
mov edi, dword [esp + 0x14]
add edi, esi
movzx edx, byte [ecx + eax + 1]
mov byte [ecx + edi + 1], dl
xor eax, eax
cmp esi, 1
je 0x421f39
mov eax, 0xffffffff
cmp esi, 2
je 0x421f1c
and ebx, 0xfffffffe
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
shr eax, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4425c0]
add ebx, 0xfffffffe
jne 0x421ef0
test byte [esp + 0x1c], 1
je 0x421f37
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
not eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [ecx + edx + 4], eax
mov ebx, dword [esp + 0x24]
add ebx, 8
mov edx, dword [esp + 0x2c]
jmp dword [0x446fc8]
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov ecx, ebx
mov edi, dword [esp + 0x10]
sub ecx, edi
cmp ebx, edx
mov dword [esp + 0x20], ecx
je 0x421f80
mov dword [esp + 0x24], ebx
jmp 0x421ffe
mov eax, ecx
sar eax, 3
inc eax
mov ebx, edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov esi, ecx
shr esi, 1
add esi, ecx
cmp esi, eax
ja 0x421f9b
mov esi, eax
lea eax, [esi*8]
push eax
call fcn.00409d90
add esp, 4
test edi, edi
je 0x421fef
cmp edi, ebx
je 0x421fe2
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + edx]
mov dword [eax + edx], ecx
mov ecx, dword [edi + edx + 4]
mov dword [eax + edx + 4], ecx
mov dword [edi + edx], 0
lea ecx, [edi + edx]
add ecx, 8
add edx, 8
cmp ecx, ebx
jne 0x421fc0
push edi
mov edi, eax
call fcn.00409da0
mov eax, edi
add esp, 4
mov edi, eax
lea edx, [eax + esi*8]
mov ecx, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edx
mov dword [edi + ecx], 0
mov dword [esp + 0x14], edi
mov dword [edi + ecx + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ebx
inc ebx
cmp byte [ebp + esi], 0
jne 0x422020
lea eax, [ebx - 1]
mov dword [esp + 0x1c], eax
push ebx
call fcn.00409d90
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [ecx + edx], 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 eax, ebx
not eax
or eax, 0xfffffffc
mov ecx, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x10], ecx
lea edi, [ebx + ecx]
inc edi
add eax, ebp
lea ecx, [ebx + eax]
inc ecx
mov dword [esp + 0x88], ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, dword [esp + 0x88]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test byte [esp + 0x1c], 1
jne 0x4220b3
add eax, ebx
mov ecx, ebx
and ecx, 2
mov edi, dword [esp + 0x10]
add edi, ebx
movzx edx, byte [ecx + eax + 1]
mov byte [ecx + edi + 1], dl
xor eax, eax
cmp ebx, 1
je 0x422109
mov eax, 0xffffffff
cmp ebx, 2
je 0x4220ec
and esi, 0xfffffffe
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
shr eax, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4425c0]
add esi, 0xfffffffe
jne 0x4220c0
test byte [esp + 0x1c], 1
je 0x422107
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
not eax
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [edi + ecx + 4], eax
mov ebx, dword [esp + 0x24]
add ebx, 8
mov edx, dword [esp + 0x2c]
jmp 0x421d80
add eax, 8
mov dword [esp + 0x18], 0
mov ebp, dword [eax]
xor eax, eax
test ebp, ebp
setne al
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], edi
jmp dword [eax*4 + 0x447034]
add ebp, 4
mov ebp, dword [ebp]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x447034]
mov edx, dword [ebp]
cmp dword [ebp + 0x18], 3
mov esi, 0
jne case.default.0x422184
mov esi, dword [ebp + 0x10]
test edx, edx
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44703c]
mov dword [esp + 0x94], edx
mov dword [esp + 0x88], ebp
mov eax, esi
nop
nop
nop
nop
nop
mov ebp, eax
inc eax
cmp byte [ebp], 0
jne case.default.0x4221cb
sub ebp, esi
inc ebp
shr ebp, 1
lea eax, [ebp + 1]
push eax
call fcn.00409d90
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x8c], eax
jmp dword [edx*4 + 0x447044]
inc esi
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x447044]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x422202
mov edx, 0xffffffff
or ecx, 0x20
lea edi, [ecx - 0x61]
cmp edi, 6
jae case.default.0x42221d
add ecx, 0xffffffa9
mov edx, ecx
movsx ecx, byte [esi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x44704c]
lea ebx, [ecx - 0x30]
cmp ebx, 0xa
jb 0x422231
mov ebx, 0xffffffff
or ecx, 0x20
lea edi, [ecx - 0x61]
cmp edi, 6
jae case.default.0x422256
add ecx, 0xffffffa9
mov ebx, ecx
shl edx, 4
or edx, ebx
add esi, 2
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x447044]
mov byte [eax], 0
mov dword [esp + 0x2c], 0
push 0
push 0x10
push 0
push dword [esp + 0xa0]
call fcn.00424440
add esp, 0x10
xor ebx, ebx
mov esi, dword [esp + 0x10]
cmp esi, dword [esp + 0x24]
setne bl
jmp dword [ebx*4 + 0x447054]
mov ecx, dword [esi]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
jmp dword [ecx*4 + 0x447064]
add esi, 8
xor ebx, ebx
cmp esi, dword [esp + 0x24]
setne bl
jmp dword [ebx*4 + 0x447054]
mov ebx, dword [esi + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, edx
xor ebx, eax
xor ecx, ecx
or ebx, edi
sete cl
jmp dword [ecx*4 + 0x44705c]
mov ecx, 1
jmp dword [ecx*4 + 0x447064]
mov eax, dword [case.0x421bce.18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
mov esi, dword [esp + 0x2c]
test esi, esi
setne al
mov ebx, dword [esp + 0x24]
jmp dword [eax*4 + 0x44707c]
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x38], eax
mov eax, 0xffffffff
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x422382
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44ad4c]
call fcn.0043e210
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 + 0x4c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447084]
mov eax, dword [case.0x421bce.20]
jmp case.0x421bce.24
movzx eax, byte [esi]
test al, al
je 0x4223ad
inc esi
mov edi, dword [esp + 0x14]
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4223a0
jmp 0x4223b1
mov edi, dword [esp + 0x14]
mov byte [edi], 0
mov word [edi], 0x203a
add edi, 2
mov edx, dword [esp]
test edx, edx
je 0x4223ef
mov eax, dword [esp + 4]
mov ecx, edx
and ecx, 3
je 0x4223f3
xor esi, esi
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x4223d0
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
mov ebx, dword [esp + 0x24]
jmp 0x4223f5
mov esi, edi
jmp 0x422439
mov ecx, edx
cmp edx, 4
jb 0x422439
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x422400
mov byte [esi], 0xa
push 0xe050b307
push dword [0x44ad34]
call fcn.0043e210
add esp, 8
inc esi
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x18], eax
mov eax, dword [case.0x421bce.20]
mov dword [esp + 0x14], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x88]
jmp dword [0x4470ac]
push dword [esp + 0x8c]
call fcn.00409da0
add esp, 4
mov eax, dword [case.0x422184.0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
int3
jmp dword [0x447114]
push dword [esp + 0x50]
call fcn.00409da0
add esp, 4
mov eax, dword [esp + 0x78]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xa4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44710c]
mov dword [esp + 0xa4], ecx
mov ebp, dword [esp + ecx + 0x8c]
mov esi, 0xfffffffe
nop
nop
nop
nop
cmp word [ebp + esi + 2], 0
lea esi, [esi + 2]
jne 0x4228e0
mov edi, esi
sar edi, 1
mov eax, dword [esp + 0x88]
lea ecx, [edi + eax]
add ecx, 0xd
test ecx, ecx
jns 0x422910
mov eax, 0xffffffff
jmp 0x422919
add eax, edi
lea eax, [eax*2 + 0x1a]
push eax
call fcn.00409d90
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov dword [esp + 0x80], edx
mov eax, edx
test cx, cx
je 0x422961
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x80]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422950
mov word [eax], 0x5c
mov dword [esp + 0x10], 0xabd08ab
mov dword [esp + 0x14], 0xf656f49c
mov dword [esp + 0x18], 0xf265f056
mov dword [esp + 0x1c], 0xfe4efc13
mov dword [esp + 0x20], 0xfa58f863
mov dword [esp + 0x24], 0xe648e467
mov word [esp + 0x28], 0xe0e7
mov word [ebx + 0x1e], 0
mov dword [ebx + 0x1a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x4229fc
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0xa3e9107b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov edx, ecx
not edx
and edx, 0x74
and ecx, 0x8b
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x4229c0
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x422a21
lea edx, [ebp + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422a10
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x422a51
lea edx, [esp + 0x12]
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 0x422a40
mov word [eax], 0
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x90]
call fcn.0043ecc0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x70], edi
jmp dword [eax*4 + 0x44711c]
xor ebx, ebx
jmp dword [0x44717c]
push dword [esp + 0x80]
call fcn.00409da0
add esp, 4
movzx eax, bl
lea ebx, [esp + 0x10]
jmp dword [eax*4 + 0x447194]
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0x8c]
call fcn.0043f020
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447124]
mov edi, dword [esp + 0xa8]
lea eax, [edi + 1]
push eax
call fcn.00409d90
add esp, 4
push 0
push edi
mov edi, eax
push eax
push dword [esp + 0x90]
call fcn.0043f100
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44712c]
mov eax, dword [esp + 0xa8]
mov byte [edi + eax], 0
push edi
call fcn.00402b60
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x447134]
jmp dword [0x447164]
mov dword [esp + 0xb0], eax
push eax
call fcn.004035f0
add esp, 4
mov dword [esp + 0x10], 0x9493868d
mov dword [esp + 0x14], 0x8186b886
mov dword [esp + 0x18], 0xacb8b0c6
mov dword [esp + 0x1c], 0xb9be80be
mov dword [esp + 0x20], 0xbca3a7b7
mov dword [esp + 0x24], 0x688bb
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x17
ja 0x422bc0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x59ecb5d7
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x15
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x18
jb 0x422b90
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.004039b0
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x422be0
mov eax, edx
and eax, 0xfffffffc
mov dword [esp + 0x44], eax
mov ecx, edx
and ecx, 3
mov eax, edx
or eax, 3
imul eax, ecx
xor ecx, 3
imul ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, eax
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x422c20
cmp eax, 0x2e
jne 0x422c21
dec ecx
mov dword [esp + 0x98], ebp
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x48], edx
je 0x422c3b
cmp eax, 0x2e
jne 0x422c42
mov dword [esp + 0x74], edi
dec ecx
jmp 0x422c46
mov dword [esp + 0x74], edi
mov dword [esp + 0xac], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409d90
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [esp + 0x48], 0
je 0x422d65
xor ebp, ebp
mov edi, 2
mov dword [esp + 0x7c], ebx
jmp 0x422c98
lea eax, [edi + 4]
add edi, 2
mov ebp, dword [esp + 0x44]
cmp edi, edx
mov edi, eax
mov ebx, dword [esp + 0x7c]
jae 0x422d65
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00415e40
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + edi - 1]
push eax
call fcn.00415e40
mov edx, dword [esp + 0x4c]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [ebp + 1]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x54]
mov byte [ecx + ebp], al
cmp edi, edx
jae 0x422c80
mov dword [esp + 0xa0], ebp
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + edi]
push eax
call fcn.00415e40
mov edx, dword [esp + 0x4c]
add esp, 4
cmp al, 0x40
je 0x422c80
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov ebp, dword [esp + 0xa0]
lea ecx, [ebp + 2]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x54]
mov byte [ecx + ebp + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x422c80
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00415e40
mov edx, dword [esp + 0x4c]
add esp, 4
cmp al, 0x40
je 0x422c80
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xa0]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esp + 0x44], ebx
jmp 0x422c80
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
add eax, 5
mov dword [esp + 0xc], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44ad4c]
call fcn.0043e210
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
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 + 0x44713c]
xor ebx, ebx
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x98]
jmp dword [0x44715c]
jmp dword [0x44714c]
cmp dword [esp + 0x70], 0xfffffff8
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x98]
jge 0x422dff
mov eax, 0xffffffff
jmp 0x422e02
lea eax, [esi + 0x10]
push eax
call fcn.00409d90
add esp, 4
mov ebx, eax
mov dword [esp + 0x10], 0xbd20bfed
mov dword [esp + 0x14], 0xb9eabb2a
mov dword [esp + 0x18], 0xb53cb73a
mov dword [esp + 0x1c], 0xb1b0b33e
mov byte [esp + 0x20], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x10
ja 0x422e96
nop
nop
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 + 0x10]
lea edx, [eax + ecx]
add eax, 0xa0
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xf1527aa0
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0xb4]
add al, 0xe2
mov ecx, dword [esp + 0x4c]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
cmp eax, 0x11
jb 0x422e50
movzx ecx, word [ebp]
mov eax, ebx
test cx, cx
je 0x422ec1
lea edx, [ebp + 2]
mov eax, ebx
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 0x422eb0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x422ef1
lea edx, [esp + 0x12]
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 0x422ee0
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.0040a540
mov ecx, ebx
mov ebx, eax
jmp dword [0x447154]
push ecx
call fcn.00409da0
add esp, 4
push 0xe050b307
push dword [0x44ad34]
call fcn.0043e210
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x44715c]
push dword [esp + 0x54]
call fcn.00409da0
add esp, 4
push dword [esp + 0xb0]
call fcn.00403ba0
add esp, 4
jmp dword [0x447164]
jmp dword [0x44716c]
push edi
call fcn.00409da0
add esp, 4
nop
nop
nop
nop
push edi
call fcn.00409da0
add esp, 4
jmp dword [0x447178]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x44], eax
mov dword [esp], 0x1211102f
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 3
ja 0x422fee
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx]
lea edx, [eax + ecx]
add edx, 0x8c3888df
add eax, 0x8c3888df
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0xf
mov ecx, dword [esp + 8]
mov byte [esp + ecx], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 4
jb 0x422fb0
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x423040
mov eax, dword [esp]
mov dword [esp + 0x48], eax
xor edi, edi
mov eax, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x625b6034
je 0x42302a
mov edx, edi
and edx, 1
xor edi, 1
lea edi, [edi + edx*2]
cmp edi, ecx
jb 0x423010
jmp 0x423040
mov eax, dword [eax + edi*8 + 4]
cmp eax, dword [esp + 0x48]
jne 0x423378
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x70]
jmp dword [0x44717c]
movzx eax, bl
lea ebx, [esp + 0x10]
jmp dword [eax*4 + 0x447194]
mov eax, dword [esp + 0x88]
lea ecx, [edi + eax]
add ecx, 0x17
test ecx, ecx
jns 0x423070
mov eax, 0xffffffff
jmp 0x423079
add eax, edi
lea eax, [eax*2 + 0x2e]
push eax
call fcn.00409d90
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x4230b1
mov edx, dword [esp + 0x9c]
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4230a0
mov word [eax], 0x5c
mov dword [esp + 0x10], 0x9643886d
mov dword [esp + 0x14], 0x927e9464
mov dword [esp + 0x18], 0x9e6b907e
mov dword [esp + 0x1c], 0x9a469cbd
mov dword [esp + 0x20], 0xa6569865
mov dword [esp + 0x24], 0xa24ca45b
mov dword [esp + 0x28], 0xae44a048
mov dword [esp + 0x2c], 0xaa5fac49
mov dword [esp + 0x30], 0xb64da842
mov dword [esp + 0x34], 0xb247b45e
mov dword [esp + 0x38], 0xbe51b05d
mov word [esp + 0x3c], 0xbcbd
mov byte [ebx + 0x32], 0
mov dword [ebx + 0x2e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x32
ja 0x423160
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x3f43be4e
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x39
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x33
jb 0x423130
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x423181
lea edx, [ebp + 2]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423170
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x4231b1
lea edx, [esp + 0x12]
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 0x4231a0
mov word [eax], 0
cmp dword [esp + 0x70], 0xfffffff7
jge 0x4231d0
mov esi, 0xffffffff
jmp 0x4231d3
add esi, 0x12
push esi
call fcn.00409d90
add esp, 4
mov esi, eax
mov dword [esp + 0x10], 0xe792e5d3
mov dword [esp + 0x14], 0xe36ce19d
mov dword [esp + 0x18], 0xff8afd81
mov dword [esp + 0x1c], 0xfb98f984
mov word [esp + 0x20], 0xf5f4
mov byte [ebx + 0x14], 0
mov word [ebx + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x42324e
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x67a1abe8
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xf4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x423220
movzx ecx, word [ebp]
mov eax, esi
test cx, cx
je 0x423272
add ebp, 2
mov eax, esi
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x423260
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x4232a1
lea edx, [esp + 0x12]
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 0x423290
mov word [eax], 0
mov dword [esp + 0x10], 0x5956573e
mov word [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x423309
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, eax
and edx, 0xb535fe5
xor eax, 0x8b535fe5
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x4f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x4232d0
push 0
push 0
push 0
push 0xc00000
push ebx
push edi
push esi
push dword [esp + 0x114]
call fcn.00419fd0
add esp, 0x20
mov ecx, dword [esp + 0x78]
and cl, 1
or cl, al
mov dword [esp + 0x78], ecx
jmp dword [0x44719c]
push esi
call fcn.00409da0
add esp, 4
jmp dword [0x4471a4]
jmp dword [0x4471a4]
push edi
call fcn.00409da0
add esp, 4
mov ecx, dword [esp + 0xa4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44710c]
push dword [esp + 0x44]
push 1
push dword [0x44ad48]
push eax
call fcn.0043cab0
add esp, 0x10
mov edi, dword [esp + 0x70]
jmp dword [0x44717c]
int3
jmp dword [0x447214]
lea edx, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edi, edi
test al, al
je 0x4233b0
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x4233e0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4233d0
jmp 0x4233b0
mov edi, ecx
jmp dword [0x447214]
mov edi, edx
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 1]
mov dword [ebp - 0x58], ecx
add eax, 0x1b
mov dword [ebp - 0x40], eax
jmp dword [0x4471f4]
mov dword [ebp - 0x2c], 0
xor ecx, ecx
mov ebx, dword [ebp - 0x50]
add ecx, 0x1b
push ecx
call fcn.00409d90
add esp, 4
mov dword [ebx], 0x303077c
mov dword [ebx + 4], 0xe1e020f
mov dword [ebx + 8], 0x11715a01
mov dword [ebx + 0xc], 0x77382b0d
mov dword [ebx + 0x10], 0x2d3f3157
mov dword [ebx + 0x14], 0x7b232f31
mov word [ebx + 0x18], 0x797a
mov byte [ebx + 0x1a], 0x8b
mov ecx, dword [ebp - 0x40]
mov word [ecx], 0
mov byte [ecx + 2], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1d
ja 0x42349c
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
add edx, 0x378128d3
xor edx, ecx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0x9a
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], dl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1e
jb 0x423470
movzx ecx, byte [ebx]
mov dword [ebp - 0x40], eax
test cl, cl
mov ebx, dword [ebp - 0x58]
je 0x4234bb
mov eax, dword [ebp - 0x40]
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [ebx]
inc ebx
test cl, cl
jne 0x4234b0
mov byte [eax], 0
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x2c]
sub ecx, ebx
je 0x4234fb
mov edx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0x28]
add ecx, edx
mov dword [ebp - 0x20], ebx
and ebx, 3
je 0x4234ff
xor edx, edx
mov dword [ebp - 0x1c], ebx
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edx], bl
mov ebx, dword [ebp - 0x1c]
inc edx
cmp ebx, edx
jne 0x4234de
add eax, edx
sub dword [ebp - 0x20], edx
mov edx, eax
jmp 0x4234ff
mov edx, eax
jmp 0x42354a
mov ebx, dword [ebp - 0x2c]
add ebx, esi
sub edi, ebx
add edi, 0xfffffff5
cmp edi, 3
mov esi, dword [ebp - 0x20]
jb 0x42354a
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax], dl
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], dl
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], dl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edx, [eax + 4]
mov byte [eax + 3], bl
mov eax, edx
add esi, 0xfffffffc
jne 0x423511
mov byte [edx], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x54]
push dword [eax]
push dword [ebp - 0x34]
mov esi, dword [ebp - 0x40]
push esi
call fcn.0040a6f0
mov ecx, dword [ebp - 0x38]
and cl, 1
or cl, al
mov dword [ebp - 0x38], ecx
jmp dword [0x447294]
push esi
call fcn.00409da0
add esp, 4
jmp dword [0x44729c]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x42358f
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
lea ecx, [ecx + eax*2]
add ecx, 2
mov edx, edi
test edi, edi
jne 0x4235bb
lea eax, [esi + 9]
nop
lea edx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edx
jne 0x4235b0
mov dword [ebp - 0x14], 0
add ecx, 0xfffffffe
mov eax, dword [ebp - 0x18]
mov ebx, eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
jae 0x42362c
mov ecx, dword [ebp - 0x18]
cmp ebx, edx
jae 0x42362c
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x42362c
lea eax, [ebp - 0x14]
push eax
push edx
push ebx
mov dword [ebp - 0x1c], ecx
call fcn.0040d860
add esp, 0xc
movzx ecx, word [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov word [edx], cx
mov ecx, dword [ebp - 0x1c]
add ecx, 2
cmp ecx, dword [ebp - 0x34]
jae 0x423629
add ebx, eax
mov edx, dword [ebp - 0x2c]
cmp ebx, edx
mov eax, dword [ebp - 0x24]
jb 0x4235f0
jmp 0x42362c
mov eax, dword [ebp - 0x24]
mov word [ecx], 0
push 0x60
push 3
push 0x120089
push eax
push dword [ebp - 0x18]
call fcn.0043ecc0
add esp, 0x14
mov ecx, dword [ebp - 0x20]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x423657
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
lea ecx, [ecx + eax*2]
add ecx, 2
mov edx, edi
test edi, edi
jne 0x42368b
lea eax, [esi + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edx
jne 0x423680
mov dword [ebp - 0x14], 0
add ecx, 0xfffffffe
mov eax, dword [ebp - 0x18]
mov ebx, eax
mov dword [ebp - 0x34], ecx
cmp eax, ecx
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
jae 0x4236fc
mov ecx, dword [ebp - 0x18]
cmp ebx, edx
jae 0x4236fc
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x4236fc
lea eax, [ebp - 0x14]
push eax
push edx
push ebx
mov dword [ebp - 0x1c], ecx
call fcn.0040d860
add esp, 0xc
movzx ecx, word [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov word [edx], cx
mov ecx, dword [ebp - 0x1c]
add ecx, 2
cmp ecx, dword [ebp - 0x34]
jae 0x4236f9
add ebx, eax
mov edx, dword [ebp - 0x2c]
cmp ebx, edx
mov eax, dword [ebp - 0x24]
jb 0x4236c0
jmp 0x4236fc
mov eax, dword [ebp - 0x24]
mov word [ecx], 0
push 0x60
push 3
push 0x120089
push eax
push dword [ebp - 0x18]
call fcn.0043ecc0
add esp, 0x14
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
jmp dword [0x44726c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447274]
mov edx, dword [ebp - 0x28]
jmp dword [0x4472a4]
push 0
mov ebx, dword [ebp - 0x54]
push ebx
mov eax, dword [ebp - 0x24]
push dword [eax]
call fcn.0043f020
add esp, 0xc
test eax, eax
setns al
mov ebx, dword [ebx]
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44727c]
push ebx
call fcn.00409d90
add esp, 4
push 0
push ebx
mov dword [ebp - 0x34], eax
push eax
mov eax, dword [ebp - 0x24]
push dword [eax]
call fcn.0043f100
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447284]
jmp dword [0x44729c]
push dword [ebp - 0x34]
call fcn.00409da0
add esp, 4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x30], 0x1211102f
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x4237fb
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x30]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x14]
add cl, 0xf
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x30], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x4237c0
mov ecx, dword [0x44ad40]
test ecx, ecx
mov ebx, dword [ebp - 0x44]
je 0x423845
mov edx, dword [ebp - 0x30]
xor esi, esi
mov edi, dword [0x44ad44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42383d
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
mov ebx, dword [ebp - 0x44]
cmp esi, ecx
jb 0x423820
jmp 0x423845
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4238bb
mov edx, dword [ebp - 0x28]
jmp dword [0x4472a4]
push dword [ebp - 0x18]
call fcn.00409da0
mov edx, dword [ebp - 0x28]
add esp, 4
jmp case.0x4211af.179
xor edx, edx
mov ecx, dword [ebp - 0x18]
jmp 0x423878
add ecx, 2
test bx, bx
je 0x423889
mov eax, edx
movzx ebx, word [ecx]
mov edx, ecx
cmp bx, 0x5c
je 0x423870
mov edx, eax
jmp 0x423870
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44728c]
sub eax, dword [ebp - 0x18]
sar eax, 1
lea edx, [eax + 1]
mov ecx, SysReAllocString
sub ecx, eax
mov dword [ebp - 0x2c], edx
mov eax, edx
mov edx, dword [ebp - 0x20]
xor eax, edx
and ecx, edx
add ecx, ecx
sub ecx, eax
jmp 0x423410
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
mov edx, dword [ebp - 0x28]
jmp dword [0x4472a4]
mov ecx, edi
sub ecx, edx
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44721c]
jmp dword [0x447230]
xor eax, eax
cmp byte [edi - 1], 0x74
setne al
jmp dword [eax*4 + 0x447234]
jmp dword [0x447244]
xor eax, eax
cmp byte [edi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44724c]
xor eax, eax
cmp byte [edi - 3], 0x74
setne al
jmp dword [eax*4 + 0x447254]
xor eax, eax
cmp byte [edi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44725c]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
jmp dword [0x447264]
mov eax, dword [case.0x4211af.167]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ebx], 0xb113135
mov dword [ebx + 4], 0xf160511
mov dword [ebx + 8], 0xedc024
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xb
ja case.0x4211af.168
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]
lea edx, [eax + ecx]
add eax, 0x1e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x2d67e11e
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add al, 0x3b
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xc
jb 0x4239c0
mov dword [ebx], 0xb113135
mov dword [ebx + 4], 0xf160511
mov dword [ebx + 8], 0xedc024
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xb
ja 0x423a55
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + ecx]
add eax, 0x1e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x2d67e11e
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add al, 0x3b
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xc
jb 0x423a20
movzx edx, byte [ebx]
mov esi, edi
test dl, dl
je 0x423a90
mov eax, ebx
mov esi, edi
mov ecx, edi
jmp 0x423a7c
inc esi
mov ecx, esi
mov eax, ebx
movzx edx, byte [eax]
test dl, dl
je 0x423a90
mov dh, byte [ecx]
test dh, dh
je 0x423aa0
cmp dh, dl
jne 0x423a70
inc ecx
inc eax
jmp 0x423a75
jmp dword [0x4471fc]
xor esi, esi
jmp dword [0x4471fc]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x447204]
mov edi, dword [ebp - 0x48]
jmp dword [0x4472bc]
push dword [ebp - 0x4c]
call fcn.00409da0
add esp, 4
nop
nop
nop
nop
nop
nop
jmp dword [0x4472cc]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + eax], 0
nop
mov eax, dword [esi]
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + eax], 0
mov dword [ebp - 0x38], 0
mov edx, ecx
jmp dword [0x4471f0]
push ebx
mov esi, eax
call fcn.00409da0
mov eax, esi
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [edi]
mov dword [ebp - 0x30], 0x1211102f
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x423b6b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x30]
lea esi, [ecx + edx]
add esi, 0x8c3888df
add ecx, 0x8c3888df
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x14]
add cl, 0xf
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x30], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x423b30
mov ecx, dword [0x44ad40]
test ecx, ecx
je 0x423ba2
mov edx, dword [ebp - 0x30]
xor esi, esi
mov edi, dword [0x44ad44]
cmp dword [edi + esi*8], 0x625b6034
je 0x423b9a
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
cmp esi, ecx
jb 0x423b80
jmp 0x423ba2
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423bb0
mov eax, dword [ebp - 0x38]
and al, 1
mov ebx, dword [ebp - 0x3c]
jmp dword [0x4472d4]
push eax
push 1
push dword [0x44ad48]
push ecx
call fcn.0043cab0
add esp, 0x10
mov eax, dword [ebp - 0x38]
and al, 1
mov ebx, dword [ebp - 0x3c]
jmp dword [0x4472d4]
mov esi, dword [esi]
lea eax, [esi + 1]
push eax
call fcn.00409d90
add esp, 4
push 0
push esi
mov dword [ebp - 0x4c], eax
push eax
push dword [edi]
call fcn.0043f100
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x38], 0
jmp dword [eax*4 + 0x4471dc]
mov esi, dword [ebp - 0x1c]
jmp dword [0x4471e4]
push eax
mov edi, esp
sub esp, 0x44
mov eax, esp
sub esp, 0x44
mov ebx, esp
push eax
mov dword [ebp - 0x3c], esp
mov ecx, dword [0x44ad3c]
mov dword [eax], 0x94d0f63
mov dword [eax + 4], 0x15ba0bb8
mov dword [eax + 8], 0x11b51758
mov dword [eax + 0xc], 0x1db113ac
mov dword [eax + 0x10], 0x19ba1f73
mov dword [eax + 0x14], 0x65ab1b4e
mov dword [eax + 0x18], 0x61c967d8
mov dword [eax + 0x1c], 0x6dc163d0
mov dword [eax + 0x20], 0x691b6fc0
mov dword [eax + 0x24], 0x75ce6b1d
mov dword [eax + 0x28], 0x71d977c9
mov dword [eax + 0x2c], 0x7dcf73cd
mov dword [eax + 0x30], 0x79cf7fd7
mov dword [eax + 0x34], 0x450c7bce
mov dword [eax + 0x38], 0x41f147fc
mov dword [eax + 0x3c], 0x4d4243f4
mov word [eax + 0x40], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x41
mov dword [ebp - 0x48], edi
ja 0x423cdc
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [eax + esi]
add edx, 0x29bb3529
xor edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xdb
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x42
jb 0x423cb0
push edi
push 0
push 0
push 0x1f
push eax
push 0
call ecx
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x423cf6
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov esi, eax
mov eax, dword [0x44ad3c]
mov dword [ebx], 0x7bbb7d51
mov dword [ebx + 4], 0x7f67988
mov dword [ebx + 8], 0x3e305c8
mov dword [ebx + 0xc], 0xfef01fc
mov dword [ebx + 0x10], 0xbee0d21
mov dword [ebx + 0x14], 0x17e509da
mov dword [ebx + 0x18], 0x13ff15e8
mov dword [ebx + 0x1c], 0x1fff11e0
mov dword [ebx + 0x20], 0x1b2d1df0
mov dword [ebx + 0x24], 0x27c2192f
mov dword [ebx + 0x28], 0x23cf25db
mov dword [ebx + 0x2c], 0x2fd121df
mov dword [ebx + 0x30], 0x2bd92dc5
mov dword [ebx + 0x34], 0x370429da
mov dword [ebx + 0x38], 0x33c735cc
mov dword [ebx + 0x3c], 0x3f3e31c4
mov word [ebx + 0x40], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x41
ja 0x423dbc
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0x3022713a
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xba
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x42
jb 0x423d90
push dword [ebp - 0x48]
push edi
push esi
push 0x1f
push ebx
push 0
call eax
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
push esi
call fcn.0043ecc0
add esp, 0x14
push eax
mov edi, esp
sub esp, 0x44
mov eax, esp
sub esp, 0x44
mov esi, esp
push eax
mov dword [ebp - 0x48], esp
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0xc
mov dword [ebp - 0x44], esp
push eax
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x54], esp
sub esp, 0x20
mov dword [ebp - 0x50], esp
mov ecx, dword [0x44ad3c]
mov dword [eax], 0x94d0f63
mov dword [eax + 4], 0x15ba0bb8
mov dword [eax + 8], 0x11b51758
mov dword [eax + 0xc], 0x1db113ac
mov dword [eax + 0x10], 0x19ba1f73
mov dword [eax + 0x14], 0x65ab1b4e
mov dword [eax + 0x18], 0x61c967d8
mov dword [eax + 0x1c], 0x6dc163d0
mov dword [eax + 0x20], 0x691b6fc0
mov dword [eax + 0x24], 0x75ce6b1d
mov dword [eax + 0x28], 0x71d977c9
mov dword [eax + 0x2c], 0x7dcf73cd
mov dword [eax + 0x30], 0x79cf7fd7
mov dword [eax + 0x34], 0x450c7bce
mov dword [eax + 0x38], 0x41f147fc
mov dword [eax + 0x3c], 0x4d4243f4
mov word [eax + 0x40], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x41
ja 0x423ebc
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [eax + ebx]
add edx, 0x29bb3529
xor edx, ebx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xdb
mov ebx, dword [ebp - 0x10]
mov byte [eax + ebx], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0x42
jb 0x423e90
push edi
push 0
push 0
push 0x1f
push eax
push 0
call ecx
mov ebx, dword [edi]
lea eax, [ebx + ebx]
test ebx, ebx
jns 0x423ed6
mov eax, 0xffffffff
push eax
call fcn.00409d90
add esp, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [0x44ad3c]
mov dword [esi], 0x7bbb7d51
mov dword [esi + 4], 0x7f67988
mov dword [esi + 8], 0x3e305c8
mov dword [esi + 0xc], 0xfef01fc
mov dword [esi + 0x10], 0xbee0d21
mov dword [esi + 0x14], 0x17e509da
mov dword [esi + 0x18], 0x13ff15e8
mov dword [esi + 0x1c], 0x1fff11e0
mov dword [esi + 0x20], 0x1b2d1df0
mov dword [esi + 0x24], 0x27c2192f
mov dword [esi + 0x28], 0x23cf25db
mov dword [esi + 0x2c], 0x2fd121df
mov dword [esi + 0x30], 0x2bd92dc5
mov dword [esi + 0x34], 0x370429da
mov dword [esi + 0x38], 0x33c735cc
mov dword [esi + 0x3c], 0x3f3e31c4
mov word [esi + 0x40], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x41
ja 0x423f9c
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x3022713a
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0xba
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x42
jb 0x423f70
push edi
push ebx
mov ebx, dword [ebp - 0x3c]
push ebx
push 0x1f
push esi
push 0
call eax
push 0x60
push 3
push 0x120089
mov edi, dword [ebp - 0x48]
push edi
push ebx
call fcn.0043ecc0
add esp, 0x14
jmp dword [0x4471b4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4471bc]
xor eax, eax
jmp dword [0x4472d4]
mov esi, dword [ebp - 0x1c]
jmp dword [0x4471c8]
push 0
push esi
push dword [edi]
call fcn.0043f020
add esp, 0xc
nop
push 0
push esi
push dword [edi]
call fcn.0043f020
add esp, 0xc
jmp dword [0x4471cc]
not eax
shr eax, 0x1f
mov dword [ebp - 0x38], 0
mov ebx, dword [ebp - 0x44]
jmp dword [eax*4 + 0x4471d4]
fild dword [ecx]
push edx
fild dword [ecx]
push edx
fild dword [ecx]
pop ecx
fild dword [ecx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
std
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ebp - 0x25], dh
inc ecx
add cl, al
fild dword [ecx]
fcomi st(3)
inc ecx
add byte [ecx + 0x300041db], dl
int1
inc ecx
add byte [edx - 0xf], ah
inc ecx
add byte [eax], dh
int1
inc ecx
add al, dh
invalid
add ah, bh
invalid
out dx, eax
inc ecx
add dh, ah
fild dword [ecx]
rcr bl, 1
fild dword [ecx]
inc ecx
fld qword [ecx]
xor ch, bl
inc ecx
add byte [ecx - 0x23], dh
fild dword [ecx]
inc ecx
fld qword [ecx]
xor ch, bl
inc ecx
add byte [ecx - 0x23], dh
inc ecx
add al, al
loope 0x44685c
add bl, cl
fld qword [ecx]
out 0xdd, eax
inc ecx
add byte [eax], al
fiadd word [ecx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov esp, 0x10041de
add byte [eax], al
add dl, cl
fiadd word [ecx]
rcr bh, 0x41
add byte [ecx - 553631267], dl
fiadd word [ecx]
xchg ecx, eax
fld qword [ecx]
xor al, 0xe0
inc ecx
add byte [eax - 0x4fffbe10], dh
fild dword [ecx]
into
inc ecx
add bl, bl
inc ecx
fcomi st(3)
inc ecx
add al, dh
inc ecx
add al, dh
inc ecx
add al, dh
inc ecx
add dl, dh
inc ecx
add byte [eax - 9], dh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax - 9], dh
inc ecx
add byte [0x770041f7], ch
test dword [ecx], case.0x41e29d.31
xor bl, bh
inc ecx
add byte [eax - 5], dh
inc ecx
add byte [eax - 5], dh
inc ecx
add byte [esi - 5], dh
inc ecx
add byte [edx], bh
sti
inc ecx
add byte [eax - 0x16ffbe05], ah
add dword [edx], eax
add ah, bh
inc ecx
add cl, dl
cld
inc ecx
add byte [eax], al
std
inc ecx
add byte [edx], bh
std
inc ecx
add byte [eax - 0x3fffbe03], dl
std
inc ecx
add al, al
std
inc ecx
add byte [0xe90041fe], al
add dword [edx], eax
jl 0x4468c8
inc ecx
add byte [edx - 2], bh
inc ecx
add byte [ebp + 0x460041fd], dh
std
inc ecx
add al, ah
cld
inc ecx
add al, al
cld
inc ecx
add byte [eax - 5], ch
inc ecx
add al, ah
inc dword [ecx]
sar edi, 0x41
add al, ah
inc dword [ecx]
jbe 0x4468ed
inc ecx
add cl, ch
add dword [edx], eax
pushal
test dword [ecx], case.0x41e29d.26
sub eax, 0x410041f7
test dword [ecx], case.0x41ffba.8
rol dword [ecx], cl
inc edx
add bl, dl
add dword [edx], eax
add dword [eax], eax
add byte [eax], al
jge 0x446911
inc ecx
add byte [eax - 5], dh
inc ecx
add byte [eax - 3], dl
inc ecx
add byte [esi], bl
pop es
inc edx
add cl, dl
pop es
inc edx
add byte [edi - 0x22ffbdf3], bh
pop es
inc edx
add dl, dl
or eax, 0x10042
add byte [eax], al
ror byte [0xdd20042], cl
inc edx
add byte [edi - 0x8ffbdf3], bh
pop es
inc edx
add byte [ebx + 8], dl
inc edx
add dl, dl
or eax, 0xcd20042
inc edx
add byte [edx - 0x45ffbdf8], bh
or byte [edx], al
mov edx, 0xd2004208
or eax, 150929474
inc edx
add byte [edx], dh
or dword [edx], eax
nop
or dword [edx], eax
jp 0x44697f
inc edx
add byte [eax - 0x5dffbdf7], dl
or dword [edx], eax
mov byte [0xd2004209], al
add byte [edx - 0x2dffbdf7], ah
or dword [edx], eax
jecxz 0x446993
inc edx
add byte [edx + ecx], ch
inc edx
add byte [ecx - 0x6dffbdf5], cl
or eax, dword [edx]
mov bh, 0xb
inc edx
add byte [esi], dh
or al, 0x42
add byte [edx - 0x48ffbdf5], dl
or eax, dword [edx]
or al, 0x42
add byte [eax + 0xc], ah
inc edx
add byte [esi + 0x2e00420c], al
or al, 0x42
add byte [edi + 0x1f00420b], ch
or al, byte [edx]
ror byte [edx + eax*2], 1
add byte [eax], ah
or dword [edx], eax
and byte [ecx], cl
inc edx
add byte [eax], ah
or dword [edx], eax
loope 0x4469d2
inc edx
add dl, dl
or eax, 0xcea0042
inc edx
add dl, dl
or eax, 0xdd20042
inc edx
add byte [ecx], dl
or dword [edx], eax
or byte [0xd8b0042], 0x42
add dl, dl
or al, 0x42
inc edx
add dl, dl
or eax, 0x9110042
inc edx
add byte [eax - 0x74ffbdf3], al
or eax, 0xcd20042
inc edx
add byte [edi + 0x6f00420d], bh
push es
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esp + ecx], bh
inc edx
add al, dl
or al, 0x42
add byte [eax + 0xe], al
inc edx
add ch, bh
or eax, 0xe470042
inc edx
add byte [eax], al
adc dword [edx], eax
add byte [ecx], dl
inc edx
add byte [esi], al
adc dword [edx], eax
pop ebp
cmovb eax, dword [eax]
nop
cmovb eax, dword [eax]
dec edi
adc byte [edx], al
push edi
adc byte [edx], al
pushal
adc byte [edx], al
pushal
adc byte [edx], al
rcl byte [ecx], 0x42
add byte [eax + 17], al
inc edx
add byte [ecx + 0x11], bh
inc edx
add byte [ecx + 0x11], ah
inc edx
add byte [ecx + 0x11], bh
inc edx
add al, al
adc dword [edx], eax
push es
adc dword [edx], eax
mov byte [0x30004224], al
push cs
inc edx
add byte [eax + 0xe], al
inc edx
add ch, bh
or eax, 0x11db0042
inc edx
add byte [ebx], cl
push cs
inc edx
add ah, ch
adc al, byte [edx]
add eax, 0x15004213
adc eax, dword [edx]
int3
inc byte [ecx]
jl 0x446e40
inc ecx
add al, ah
cld
inc ecx
add al, al
cld
inc ecx
add cl, al
inc dword [ecx]
loopne 0x446e51
inc dword [ecx]
jo case.0x41ffba.16
inc ecx
add byte [eax - 9], dh
inc ecx
add byte [eax - 9], ah
inc ecx
add byte [0x700041f7], ch
test dword [ecx], case.0x41ffba.6
inc ecx
test dword [ecx], case.0x41ffba.8
rol dword [ecx], cl
inc edx
add byte [esi], bl
pop es
inc edx
add byte [edi + 6], ch
inc edx
add byte [esi], bl
pop es
inc edx
add cl, dl
pop es
inc edx
add ch, bl
pop es
inc edx
add byte [edi + 0x100420d], bh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add dl, dl
or eax, 0xdbf0042
inc edx
add bh, dh
pop es
inc edx
add byte [edx - 0x2dffbdf8], bh
or al, 0x42
add bh, bh
or byte [edx], al
xor cl, byte [ecx]
inc edx
add byte [ecx], dl
or dword [edx], eax
loope 0x446ec6
inc edx
add byte [edx + 9], bh
inc edx
add byte [eax + 0x20004209], dl
or dword [edx], eax
mov byte [0x20004209], al
inc edx
add byte [edx + 0x20004209], ah
or dword [edx], eax
jecxz 0x446edb
inc edx
add byte [edi], bl
or al, byte [edx]
sub al, 0xa
inc edx
add byte [ecx - 0x6dffbdf5], cl
or eax, dword [edx]
scasd eax, dword es:[edi]
or eax, dword [edx]
mov bh, 0xb
inc edx
add byte [esi], ch
or al, 0x42
add byte [esi], dh
or al, 0x42
add byte [eax + 0xc], ah
inc edx
add byte [esp + ecx], bh
inc edx
add byte [esi + 0x3c00420c], al
or al, 0x42
add al, dl
or al, 0x42
add al, dl
or al, 0x42
add byte [eax], ah
or dword [edx], eax
ror byte [edx + eax*2], 1
add byte [eax - 1962917363], al
or eax, 0xdfd0042
inc edx
add byte [edi + 0xe], al
inc edx
add byte [ebp + 0xf], bl
cmovb eax, dword [eax]
add byte [ecx], dl
inc edx
add byte [eax], al
adc dword [edx], eax
add byte [ecx], dl
inc edx
add byte [esi], al
cmovb eax, dword [eax]
add byte [ecx], dl
inc edx
add byte [eax], al
adc dword [edx], eax
add byte [ecx], dl
inc edx
add byte [esi], al
adc dword [edx], eax
add byte [ecx], dl
inc edx
add byte [eax + 0x10], ah
inc edx
add byte [eax + 0x6000420f], dl
adc byte [edx], al
dec edi
adc byte [edx], al
push edi
adc byte [edx], al
pushal
adc byte [edx], al
inc eax
adc dword [edx], eax
rcl byte [ecx], 0x42
add byte [ecx + 17], ah
inc edx
add byte [ecx + 0x11], bh
inc edx
add byte [eax + 0xe], al
inc edx
add byte [eax], dh
push cs
inc edx
add ch, bh
or eax, 0xe400042
inc edx
add byte [ebx], cl
push cs
inc edx
add bl, bl
adc dword [edx], eax
in al, dx
adc al, byte [edx]
add eax, 0xcc004213
adc eax, dword [edx]
adc eax, 0xef004213
adc eax, dword [edx]
add edx, dword [edx + eax*2]
add byte [edx + 855654933], bh
adc al, 0x42
add byte [ebx + 0x6b004215], ch
adc al, 0x42
add byte [ecx - 0x2effbdeb], al
adc al, 0x42
add byte [ecx + 0x22004215], al
adc eax, 0x1d220042
inc edx
add byte [ecx + 0x6b004215], al
sbb eax, 0x1f560042
adc eax, 0x1d220042
inc edx
add byte [ecx + 0x6b004215], al
sbb eax, 0x1f560042
inc edx
add byte [ecx + 0x1d], dh
inc edx
add byte [esi + 0x1f], dl
inc edx
add byte [eax + 0x1d], dl
inc edx
add byte [esi - 0x54ffbdeb], cl
adc eax, 0x15b10042
inc edx
add byte [edx - 0x6fffbdeb], bh
push ss
inc edx
add byte [eax - 0x6fffbdea], dl
push ss
inc edx
add byte [edx - 0x67ffbdea], dl
push ss
inc edx
add byte [edx - 0x33ffbdea], bh
push ss
inc edx
add byte [ebx + 0x5004216], dh
sbb dword [edx], eax
xor dword [edx], ebx
inc edx
add byte [ebx], ch
sbb al, 0x42
add byte [edi + 0x1a], bl
inc edx
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 [edx + 0x16004224], ah
sbb al, 0x42
add byte [ecx - 0x2affbde6], ah
sbb eax, dword [edx]
adc bl, byte [ebx]
inc edx
add ch, dl
sbb eax, dword [edx]
and eax, 0xd5004221
sbb eax, dword [edx]
and dword fs:[edx], eax
push eax
and dword [edx], eax
mov esp, dword [ecx]
inc edx
add byte [ebp + 0x22], bl
inc edx
add ch, dh
and dword [edx], eax
loopne 0x44706f
inc edx
add byte [edx], ah
inc edx
add dh, ch
and al, byte [edx]
ret 0x4222
add byte [eax], al
and eax, dword [edx]
add ah, byte [ebx]
inc edx
add byte [eax], al
and eax, dword [edx]
jb 0x4470a2
inc edx
add byte [eax], bl
and eax, dword [edx]
mov dword [ebx], esp
inc edx
add byte [ebx + 0x70004223], dl
and al, 0x42
add byte [eax + 0x24], dh
inc edx
add byte [eax + 0x24], dh
inc edx
add byte [edx + 0x24], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x24], dh
add byte [eax], al
jb 0x4470ca
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x50004224], al
and dword [edx], eax
mov al, byte [0xa0004224]
and al, 66
add byte [eax + 0x50004224], ah
and dword [edx], eax
loop 0x4470e1
inc edx
add byte [esi], dl
sbb al, 0x42
inc edx
add al, ch
sbb eax, dword [edx]
add byte [edx + eax*2], bl
add byte [esi], dl
sbb al, 0x42
add byte [eax], al
sbb al, 0x42
add byte [esp + ebx], bl
inc edx
add byte [ebx], ch
sbb al, 0x42
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 [edx + 0x11004224], ah
sbb dword [edx], eax
out 0x1c, al
inc edx
add dh, dh
sbb al, 0x42
add byte [ecx], dh
sbb dword [edx], eax
rcr dword [ecx], cl
inc edx
add al, ah
sbb dword [edx], eax
mov ebp, dword [eax]
inc edx
add cl, cl
sub byte [edx], al
xchg ecx, eax
sub byte [edx], al
popfd
sub byte [edx], al
xchg byte [edx], ch
inc edx
add byte [eax + 0x7f00422a], dh
das
inc edx
add bh, dl
sub al, byte [edx]
xor dword [ebx], ebp
inc edx
add byte [0x3100422b], cl
sub eax, dword [edx]
aaa
sub eax, dword [edx]
ret 0x422d