Function at 0x420392
Capabilities:
Copy file
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x450
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x50], 0xb536bb35
mov dword [esp + 0x54], 0xb115b70b
mov dword [esp + 0x58], 0x8dc4b307
mov dword [esp + 0x5c], 0x89068f33
mov dword [esp + 0x60], 0x858a8b37
mov byte [esp + 0x64], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x41f9ee
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x687fef15
xor eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add al, 0x53
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x41f9c0
lea ebp, [esp + 0x50]
lea ecx, [esp + 0x38]
push ebp
call fcn.0043b3b0
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446d50]
lea ecx, [esp + 0x38]
push 0x410
call fcn.0043b5e0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446d58]
mov dword [esp + 0x50], 0x8dd49bf6
mov dword [esp + 0x54], 0x9f93d0f5
mov dword [esp + 0x58], 0xeb9292f2
mov dword [esp + 0x5c], 0xf69f95f6
mov dword [esp + 0x60], 0x97fcc1f7
mov dword [esp + 0x64], 0xdec1c5fe
mov dword [esp + 0x68], 0xa5defddb
mov dword [esp + 0x6c], 0xa9f0a7c0
mov dword [esp + 0x70], 0xf1c5c5c3
mov dword [esp + 0x74], 0xb1ece8c2
mov dword [esp + 0x78], 0x22f3ecd2
mov dword [esp + 0x7c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x41face
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 + 0x50]
add eax, 0xb8dac54a
xor eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add al, 0xa9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x50], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x41faa0
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x38]
push 0
push 0x2b
push ebp
push eax
call fcn.0043bbc0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x446d60]
mov eax, edi
sub eax, esi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004095a0
add esp, 4
jmp dword [0x446d74]
xor ebx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x48], edi
jmp 0x41fb4f
push ebx
call fcn.004035b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x4c]
add esi, 4
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x24]
mov eax, dword [case.0x41faf0.9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp esi, edi
setne al
jmp dword [eax*4 + 0x446d88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], esi
mov esi, dword [esi]
push 0x400
push 0
push ebp
call fcn.00409620
add esp, 0xc
lea ecx, [esp + 0x38]
mov eax, esp
push eax
push 0x400
push ebp
push esi
call fcn.0043ba50
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446da8]
mov eax, 1
jmp dword [eax*4 + 0x446db0]
xor eax, eax
jmp dword [eax*4 + 0x446db0]
mov byte [esp + 0x44f], 0
movzx eax, byte [esp + 0x50]
xor esi, esi
test al, al
je 0x41fc01
mov ecx, ebp
nop
nop
cmp al, 0x2e
je 0x41fbff
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41fbf0
jmp 0x41fc01
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446db8]
jmp dword [0x446dc8]
lea ebx, [esi + 1]
movzx eax, byte [esi + 1]
xor edi, edi
test al, al
je 0x41fc10
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41fc40
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41fc30
jmp 0x41fc10
mov edi, ecx
jmp dword [0x446dc8]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446dd0]
mov edx, edi
sub edx, ebx
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov ebp, edx
or ebp, 3
imul ebp, ecx
xor ecx, 3
imul ecx, eax
add ebp, ecx
shr ebp, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x41fc86
cmp eax, 0x2e
jne 0x41fc87
dec ebp
mov dword [esp + 0x28], esi
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
je 0x41fc9a
cmp eax, 0x2e
jne 0x41fc9f
mov esi, edx
dec ebp
jmp 0x41fca1
mov esi, edx
mov dword [esp + 0x44], ebp
lea eax, [ebp + 1]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x1c], eax
cmp edi, ebx
je 0x41fdb3
xor ebp, ebp
mov edi, 2
jmp 0x41fce6
lea eax, [edi + 4]
add edi, 2
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov edi, eax
mov esi, edx
jae 0x41fdb3
mov ebx, dword [esp + 0x28]
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00415cb0
add esp, 4
mov byte [esp + 0x14], al
movzx eax, byte [ebx + edi]
push eax
call fcn.00415cb0
add esp, 4
mov byte [esp + 0xf], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 0x14]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + ebp], al
lea eax, [ebp + 1]
mov dword [esp + 0x14], eax
cmp edi, esi
mov edx, esi
jae 0x41fcd0
movzx eax, byte [ebx + edi + 1]
push eax
mov esi, edx
call fcn.00415cb0
mov edx, esi
add esp, 4
cmp al, 0x40
je 0x41fcd0
mov ah, byte [esp + 0xf]
shl ah, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, ah
lea ebx, [ebp + 2]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1c]
mov byte [ebx + ebp + 1], cl
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x41fcd0
mov ecx, dword [esp + 0x28]
movzx ecx, byte [ecx + edi + 2]
push ecx
mov ebx, eax
call fcn.00415cb0
mov edx, esi
add esp, 4
cmp al, 0x40
je 0x41fcd0
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x1c]
mov byte [ecx + ebp + 2], al
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x41fcd0
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
mov byte [esi + eax], 0
push esi
call fcn.00402a20
add esp, 4
mov ebx, eax
jmp dword [0x446dd8]
push esi
call fcn.004095b0
add esp, 4
push ebx
call fcn.00403340
add esp, 4
mov ecx, dword [case.0x41fc08.12]
lea ebp, [esp + 0x50]
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446df0]
mov dword [esp], 0x32ddafa8
mov byte [esp + 4], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 4
ja 0x41fe5d
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx]
lea esi, [ecx + edx]
add ecx, 0x62
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xbc576462
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0xa9
mov edx, dword [esp + 0x10]
mov byte [esp + edx], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 5
jb 0x41fe20
mov ecx, esp
push ecx
push eax
call fcn.00403290
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446df8]
mov edx, dword [esp + 0x18]
jmp 0x41fea3
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x18]
je 0x41fe9b
inc eax
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41fe90
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x50]
test al, al
je 0x41febb
lea ecx, [esp + 0x51]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41feb0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x18], edx
mov al, 1
mov dword [esp + 0x24], eax
jmp case.0x41fc08.14
xor ebx, ebx
test esi, esi
jne 0x41ffca
jmp case.0x41fa01.1
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446d90]
jmp dword [0x446e00]
mov edx, dword [esp + 0x18]
mov byte [edx], 0
mov dword [esp + 0x50], 0x455a5b23
mov dword [esp + 0x54], 0x59494a47
mov dword [esp + 0x58], 0x44404243
mov dword [esp + 0x5c], 0x5e422201
mov dword [esp + 0x60], 0x2d0b4853
mov dword [esp + 0x64], 0x4f555249
mov dword [esp + 0x68], 0x79763149
mov word [esp + 0x6c], 0xc774
mov dword [esp + 0x6e], 0
sub edx, dword [esp + 0x20]
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x21
ja 0x41ff91
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 + 0x50]
add eax, 0x19bf7d07
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x1d
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x22
jb 0x41ff60
lea eax, [esp + 0x50]
mov ecx, dword [esp + 0x464]
push edx
push dword [esp + 0x24]
push eax
call fcn.00409ec0
mov ebx, eax
jmp dword [0x446e00]
push dword [esp + 0x20]
call fcn.004095b0
add esp, 4
and bl, 1
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
test esi, esi
je case.0x41fa01.1
cmp esi, edi
je case.0x41fa01.1
push esi
call fcn.004095b0
add esp, 4
lea ecx, [esp + 0x38]
call fcn.0043b760
mov eax, ebx
add esp, 0x450
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x446e90]
mov ecx, edi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x420020
sub eax, edi
cmp eax, 0xffffffd9
jge 0x420452
mov eax, 0xffffffff
jmp 0x420455
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x446e88]
jmp dword [ecx*4 + 0x446e08]
mov dword [esp + 0x30], 0x6cc16ed5
mov dword [esp + 0x34], 0x68d06ad0
mov dword [esp + 0x38], 0x64c866d0
mov dword [esp + 0x3c], 0x60cd62c9
mov dword [esp + 0x40], 0x5cfb5ec8
mov dword [esp + 0x44], 0x589a5ae8
mov dword [esp + 0x48], 0x54ef56e6
mov dword [esp + 0x4c], 0x50e152ec
mov dword [esp + 0x50], 0x4ceb4eec
mov dword [esp + 0x54], 0x48f84ae2
mov dword [esp + 0x58], 0x44eb46f3
mov dword [esp + 0x5c], 0x408242ee
mov dword [esp + 0x60], 0x3c823eef
mov dword [esp + 0x64], 0x38913a99
mov dword [esp + 0x68], 0x34a33698
mov dword [esp + 0x6c], 0x30ae32bf
mov dword [esp + 0x70], 0x2c802e95
mov dword [esp + 0x74], 0x28b62aa1
mov dword [esp + 0x78], 0x24b22688
mov word [esp + 0x7c], 0x2225
mov dword [esp + 0x7e], 0
jmp dword [0x446e20]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x51
ja 0x42014e
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 + 0x30]
add eax, 0xf4e45c8f
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x52
jb 0x420120
lea eax, [esp + 0x18]
lea ecx, [esp + 0x30]
push 0
push 0
push esi
push eax
push ecx
call fcn.0043fab0
add esp, 0x14
jmp case.0x41fc08.26
lea eax, [esp + 0x18]
lea ebx, [esp + 0x30]
push 0
push 0
push esi
push eax
push ebx
call fcn.0043fab0
add esp, 0x14
jmp dword [0x446e28]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x51
ja 0x420170
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xf4e45c8f
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x52
jb 0x4201a0
jmp 0x420170
shr eax, 0x1f
jmp dword [eax*4 + 0x446e30]
lea ebp, [esp + 0x90]
lea eax, [esp + 0x28]
push ebp
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
call fcn.0043fec0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e48]
mov ecx, dword [esp + 0x90]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x420221
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov esi, eax
mov dword [esp + 0x30], 0x5dce5f17
mov dword [esp + 0x34], 0x41d443d5
mov dword [esp + 0x38], 0x45284727
mov dword [esp + 0x3c], 0x49384b26
mov dword [esp + 0x40], 0x4dd84f2f
mov dword [esp + 0x44], 0x7170731a
mov dword [esp + 0x48], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x4202ae
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 + 0x30]
add eax, 0x90b943cc
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x6e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x420280
push ebp
push esi
push 0
push ebx
push dword [esp + 0x28]
call fcn.004404c0
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x446e50]
xor edi, edi
jmp dword [0x446e58]
push esi
call fcn.004095b0
add esp, 4
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], 0x98999697
mov word [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x420340
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x420310
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x4203c0
mov edx, dword [esp + 0x30]
xor esi, esi
mov ebp, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + esi*8], 0x625b6034
je 0x4203ad
inc esi
cmp ecx, esi
jne 0x420360
jmp 0x4203c0
mov eax, dword [case.0x41fc08.35]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, 4
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446e80]
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne case.default.0x4203c7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446e60]
push ebx
call fcn.0043f100
add esp, 4
cmp dword [esp + 0x30], 1
sete cl
and cl, al
movzx ecx, cl
mov eax, 2
jmp dword [ecx*4 + 0x446e68]
xor eax, eax
jmp dword [0x446e7c]
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446e80]
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446e60]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446e80]
xor ebx, ebx
jmp 0x420c61
add eax, 0x26
push eax
call fcn.004095a0
add esp, 4
mov esi, eax
mov dword [esp + 0x30], 0xa616b81f
mov dword [esp + 0x34], 0xa237a434
mov dword [esp + 0x38], 0xae08a009
mov dword [esp + 0x3c], 0xaa09ac04
mov dword [esp + 0x40], 0x963aa804
mov dword [esp + 0x44], 0x923f9405
mov dword [esp + 0x48], 0x9e3a903a
mov dword [esp + 0x4c], 0x9a079ccd
mov dword [esp + 0x50], 0x86339837
mov word [esp + 0x54], 0x8487
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x4204fe
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xb28b770d
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x4a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x4204d0
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x420521
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 0x420510
mov word [eax], 0
movzx ecx, word [esp + 0x30]
test cx, cx
je 0x420551
lea edx, [esp + 0x32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420540
mov word [eax], 0
jmp dword [0x446e98]
push edi
call fcn.004095b0
add esp, 4
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x446eb0]
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x446eb0]
mov dword [esp + 0x30], 0x7db67bb9
mov dword [esp + 0x34], 0x71937f92
mov dword [esp + 0x38], 0x758a738d
mov dword [esp + 0x3c], 0x9f17790
mov dword [esp + 0x40], 0xde00bed
mov dword [esp + 0x44], 0x1ff0fed
mov dword [esp + 0x48], 0x5e203fc
mov dword [esp + 0x4c], 0x19ff07ff
mov dword [esp + 0x50], 0x1dea1b24
mov dword [esp + 0x54], 0x11f61ffa
mov dword [esp + 0x58], 0x1312
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x42061e
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x4793d632
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xb8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x4205f0
lea eax, [esp + 0x30]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ebx, [esp + 0x18]
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446eb8]
xor edi, edi
xor ebp, ebp
jmp dword [0x446f18]
push esi
call fcn.004095b0
add esp, 4
xor eax, eax
cmp ebp, edi
sete al
jmp dword [eax*4 + 0x446f20]
xor ebx, ebx
test ebp, ebp
jne 0x420c2f
jmp 0x420c61
lea eax, [esp + 0x28]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043f6a0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x446ec0]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x28]
mov eax, esi
xor eax, 1
mov ecx, esi
and ecx, 1
lea eax, [eax + ecx*2]
push eax
call fcn.004095a0
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0043f780
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x446ec8]
mov esi, dword [esp + 0x28]
mov byte [ebp + esi], 0
push 0x20
call fcn.004095a0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x88], eax
mov ecx, eax
push esi
mov dword [esp + 0x88], ebp
push ebp
call fcn.00422ec0
movzx eax, al
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x446ed0]
mov dword [esp + 0x30], 0xc0cfc722
mov dword [esp + 0x34], 0xd3df2dc2
mov dword [esp + 0x38], 0xd02a241e
mov dword [esp + 0x3c], 0x3510d9c9
mov dword [esp + 0x40], 0xd722ddd3
mov dword [esp + 0x44], 0x1d1c3d2a
mov dword [esp + 0x48], 0xe8eff5ee
mov word [esp + 0x4c], 0x72e6
mov dword [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x4207db
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax + ecx]
add eax, 0xcc
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xdd53ebcc
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0x65
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x4207a0
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0x88]
push eax
call fcn.004230b0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x446ed8]
mov ebp, dword [esp + 0x84]
jmp dword [0x446ee8]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.00423220
push esi
call fcn.004095b0
add esp, 4
jmp dword [0x446efc]
mov esi, dword [esp + 0x98]
jmp dword [0x446f00]
push ebp
call fcn.004095b0
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [case.0x4207f5.14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebx, esi
mov ebp, edi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], 0x98999697
mov word [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x4208b0
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x420880
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x4208ec
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4208e0
inc esi
cmp ecx, esi
jne 0x4208d0
jmp 0x4208ec
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x421206
mov edi, ebp
mov ebp, dword [esp + 0x24]
mov esi, ebx
lea ebx, [esp + 0x18]
jmp dword [0x446f18]
xor eax, eax
cmp ebp, edi
sete al
jmp dword [eax*4 + 0x446f20]
mov eax, edi
sub eax, ebp
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [0x44ab50]
mov dword [esp + 0x30], 0xeea5e88e
mov dword [esp + 0x34], 0xd24aec7c
mov dword [esp + 0x38], 0xd67dd072
mov dword [esp + 0x3c], 0xda45d496
mov dword [esp + 0x40], 0xde9dd84b
mov dword [esp + 0x44], 0xc249dc7e
mov dword [esp + 0x48], 0xc6a4c062
mov dword [esp + 0x4c], 0xca72c47b
mov dword [esp + 0x50], 0xce6cc85f
mov dword [esp + 0x54], 0x3260cc6e
mov dword [esp + 0x58], 0x369d308f
mov dword [esp + 0x5c], 0x3a9234a4
mov dword [esp + 0x60], 0x3e95389a
mov dword [esp + 0x64], 0x22a73c6d
mov dword [esp + 0x68], 0x268b2087
mov dword [esp + 0x6c], 0x2427
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x4209f0
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0x9221dbd9
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xce
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x4209c0
lea ecx, [esp + 0x30]
push ebx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x18]
test esi, esi
jns 0x420a0f
mov eax, 0xffffffff
jmp 0x420a12
lea eax, [esi + esi]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x8c], eax
mov eax, dword [0x44ab50]
mov dword [esp + 0x30], 0x9b549971
mov dword [esp + 0x34], 0x9f399d2b
mov dword [esp + 0x38], 0x63cc613d
mov dword [esp + 0x3c], 0x67d465a1
mov dword [esp + 0x40], 0x6bac69d6
mov dword [esp + 0x44], 0x6fd86dc9
mov dword [esp + 0x48], 0x739771cd
mov dword [esp + 0x4c], 0x77a175ae
mov dword [esp + 0x50], 0x7bdf79c2
mov dword [esp + 0x54], 0x7fd37dd9
mov dword [esp + 0x58], 0x43ec41a2
mov dword [esp + 0x5c], 0x47e145f3
mov dword [esp + 0x60], 0x4be449e5
mov dword [esp + 0x64], 0x4ffa4da4
mov dword [esp + 0x68], 0x53f651ea
mov word [esp + 0x6c], 0x5552
mov dword [esp + 0x6e], 0
mov byte [esp + 0x72], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x420b00
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0x80ed377
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x1f
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x420ad0
push ebx
push esi
mov esi, dword [esp + 0x94]
push esi
push 0x1e
lea ecx, [esp + 0x40]
push ecx
push 0
call eax
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f28]
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jmp dword [0x446fe0]
push dword [esp + 0x8c]
call fcn.004095b0
add esp, 4
mov ecx, ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446fe8]
mov edx, dword [esp + 0x14]
mov byte [edx], 0
mov dword [esp + 0x30], 0x626968ba
mov dword [esp + 0x34], 0x7e546b6e
mov dword [esp + 0x38], 0x6163636a
mov dword [esp + 0x3c], 0x776143bc
mov dword [esp + 0x40], 0x4aba7d4a
mov dword [esp + 0x44], 0x70787374
mov dword [esp + 0x48], 0x566db26c
mov dword [esp + 0x4c], 0xdc53
sub edx, dword [esp + 0x10]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x420bfe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xf1ae7745
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x42
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x420bd0
mov ecx, dword [esp + 0xb4]
push edx
push dword [esp + 0x14]
lea eax, [esp + 0x38]
push eax
call fcn.00409ec0
mov ebx, eax
jmp dword [0x446ff0]
push dword [esp + 0x10]
call fcn.004095b0
add esp, 4
and bl, 1
test ebp, ebp
je 0x420c61
cmp ebp, edi
je 0x420c61
mov esi, ebp
jmp 0x420c47
add esi, 8
cmp esi, edi
je 0x420c58
mov eax, dword [esi]
test eax, eax
je 0x420c40
push eax
call fcn.004095b0
add esp, 4
jmp 0x420c40
push ebp
call fcn.004095b0
add esp, 4
mov eax, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x30]
call fcn.0043f6a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x446f30]
jmp dword [0x446f3c]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.004095a0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x34]
call fcn.0043f780
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.004095a0
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0x34]
call fcn.0043f780
add esp, 0x10
jmp dword [0x446f40]
mov dword [esp + 0x9c], esi
not eax
shr eax, 0x1f
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x446f48]
mov dword [esp + 0x24], ebp
mov esi, dword [esp + 0x90]
mov ebp, dword [esp + 0x9c]
mov byte [ebp + esi], 0
push 0x20
call fcn.004095a0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov ecx, eax
push esi
mov esi, eax
push ebp
call fcn.00422ec0
movzx eax, al
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x446f50]
mov dword [esp + 0x30], 0xb489b19e
mov dword [esp + 0x34], 0x81b183b6
mov dword [esp + 0x38], 0x8486907a
mov dword [esp + 0x3c], 0xaf44bf8f
mov dword [esp + 0x40], 0x8dbebb89
mov dword [esp + 0x44], 0x8a8c514e
mov dword [esp + 0x48], 0x9cb4b38b
mov dword [esp + 0x4c], 0x94a8ab4a
mov word [esp + 0x50], 0xea8
mov dword [esp + 0x52], 0
mov word [esp + 0x56], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x420e2e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xc45c9f95
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x48
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x420e00
mov ecx, esi
lea eax, [esp + 0x30]
push eax
call fcn.004230b0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp dword [ecx*4 + 0x446f58]
add eax, 8
mov dword [esp + 0x1c], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x94], esi
jmp dword [eax*4 + 0x446f60]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446f60]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov ebp, 0
jne case.default.0x420ebb
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x98], eax
test eax, eax
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446f78]
mov dword [esp + 0x84], edx
mov dword [esp + 0x20], edi
mov eax, ebp
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne case.default.0x420efb
sub esi, ebp
inc esi
shr esi, 1
lea eax, [esi + 1]
push eax
call fcn.004095a0
add esp, 4
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x88], eax
jmp dword [ecx*4 + 0x446f80]
inc ebp
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x446f80]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x420f33
mov ecx, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x420f4e
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebp + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x446f88]
lea edi, [edx - 0x30]
cmp edi, 0xa
jb 0x420f62
mov edi, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae case.default.0x420f88
add edx, 0xffffffa9
mov edi, edx
shl ecx, 4
or ecx, edi
add ebp, 2
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x446f80]
mov byte [eax], 0
mov dword [esp + 0x2c], 0
push 0
push 0x10
push 0
push dword [esp + 0xa4]
call fcn.004232c0
add esp, 0x10
xor ebx, ebx
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x20]
setne bl
jmp dword [ebx*4 + 0x446f90]
mov edi, dword [ecx]
mov dword [esp + 0x2c], edi
xor edi, edi
jmp dword [edi*4 + 0x446fa0]
add ecx, 8
xor ebx, ebx
cmp ecx, dword [esp + 0x20]
setne bl
jmp dword [ebx*4 + 0x446f90]
mov ebx, dword [ecx + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
mov ebp, ebx
xor ebp, 0xfffffff0
xor edi, edx
xor ebx, 0xfffffffe
or ebx, ebp
xor ebx, eax
not edi
and edi, ebx
xor ebx, ebx
cmp edi, 0xffffffff
sete bl
jmp dword [ebx*4 + 0x446f98]
mov edi, 1
jmp dword [edi*4 + 0x446fa0]
xor eax, eax
mov ebx, dword [esp + 0x2c]
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446fa8]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x84]
jmp dword [0x446fb8]
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x88]
mov dword [esp + 0x34], eax
mov eax, 0xffffffff
lea esi, [esp + 0x30]
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4210be
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44ab60]
call fcn.0043e880
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446fb0]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x84]
jmp dword [0x446fb8]
movzx eax, byte [ebx]
test al, al
mov edi, dword [esp + 0x20]
je 0x4210fe
inc ebx
mov ebp, dword [esp + 0x14]
nop
nop
nop
mov byte [ebp], al
inc ebp
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4210f0
jmp 0x421102
mov ebp, dword [esp + 0x14]
mov word [ebp], 0x203a
add ebp, 2
mov esi, dword [esp]
test esi, esi
je 0x42113c
mov eax, dword [esp + 4]
mov ecx, esi
and ecx, 3
je 0x421140
xor ebx, ebx
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp + ebx], dl
inc ebx
cmp ecx, ebx
jne 0x421120
add ebp, ebx
mov ecx, esi
sub ecx, ebx
mov ebx, ebp
jmp 0x421142
mov ebx, ebp
jmp 0x42118a
mov ecx, esi
cmp esi, 4
jb 0x42118a
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea ebx, [ebp + 4]
mov byte [ebp + 3], dl
mov ebp, ebx
add ecx, 0xfffffffc
jne 0x421150
mov byte [ebx], 0xa
mov esi, dword [esp + 0x94]
inc ebx
push 0xe050b307
push dword [0x44ab48]
call fcn.0043e880
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x84]
jmp dword [0x446fb8]
push dword [esp + 0x88]
call fcn.004095b0
mov edx, dword [esp + 0x88]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446f60]
jmp dword [0x446f74]
mov ebp, dword [esp + 0x24]
jmp dword [0x446fc0]
jmp dword [0x446fc8]
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
mov edi, ebp
mov ebp, dword [esp + 0x24]
mov esi, ebx
lea ebx, [esp + 0x18]
jmp dword [0x446f18]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x2c], 0
jmp dword [eax*4 + 0x446ee0]
not eax
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx + 4], eax
add edi, 8
mov ecx, dword [esp + 0x14]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, ebx
jmp dword [eax*4 + 0x446ee0]
mov dword [esp + 0x14], ecx
mov ebp, dword [ecx]
mov eax, edi
sub eax, esi
mov ecx, dword [esp + 0x2c]
cmp edi, ecx
mov dword [esp + 0x10], eax
jne 0x42131a
sar eax, 3
inc eax
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x4212a9
mov edi, eax
mov eax, edi
and eax, 0xfffffff7
mov ecx, edi
and ecx, 8
mov edx, edi
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.004095a0
add esp, 4
mov ebx, eax
test esi, esi
je 0x42130d
cmp esi, dword [esp + 0x2c]
je 0x421304
mov edx, ebx
xor eax, eax
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, dword [esp + 0x2c]
jne 0x4212e0
push esi
call fcn.004095b0
add esp, 4
mov esi, ebx
lea ecx, [ebx + edi*8]
mov edi, ebx
mov eax, dword [esp + 0x10]
add edi, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edi
mov dword [esi + eax], 0
mov dword [esp + 0x24], esi
mov dword [esi + eax + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x421340
lea edi, [ebx + 1]
push edi
mov dword [esp + 0x90], edi
call fcn.004095a0
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [eax + ecx], edx
mov eax, edx
shr edi, 2
mov edx, ebp
mov ecx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x8c]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
mov edi, eax
add edx, ebp
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esp + 0x1c], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x4213c4
mov ecx, dword [esp + 0x8c]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x1c]
mov byte [edx + ecx], al
test ebx, ebx
je 0x421453
cmp ebx, 1
jne 0x4213d0
mov eax, 0xffffffff
jmp 0x421422
and esi, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
movzx edx, byte [ebp]
mov edi, eax
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
shr eax, 8
movzx edx, byte [ebp + 1]
add ebp, 2
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4425c0]
add esi, 0xfffffffe
jne 0x4213e0
mov edi, dword [esp + 0x20]
test bl, 1
je 0x421250
mov ecx, eax
shr ecx, 8
movzx edx, byte [ebp]
mov esi, eax
and esi, edx
add eax, edx
add esi, esi
sub eax, esi
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
jmp 0x421250
xor eax, eax
mov edi, dword [esp + 0x20]
jmp 0x421252
push dword [esp + 0x9c]
call fcn.004095b0
add esp, 4
mov ebx, ebp
mov ebp, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x98999697
mov word [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x4214d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x4214a0
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x421508
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x421500
inc esi
cmp ecx, esi
jne 0x4214f0
jmp 0x421508
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42152e
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x1c]
jmp dword [0x446fe0]
mov ecx, ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446fe8]
mov ebx, ecx
jmp dword [0x446ff0]
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x1c]
jmp dword [0x446fe0]
jmp dword [0x446fd8]
mov ecx, esi
call fcn.00423220
push esi
call fcn.004095b0
add esp, 4
mov ecx, esi
call fcn.00423220
push esi
call fcn.004095b0
add esp, 4
jmp dword [0x446fd0]
int3
mov ecx, dword [esp + 0xa4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x446ff8]
mov dword [esp + 0xa4], ecx
mov edi, dword [esp + ecx + 0x8c]
mov esi, 0xfffffffe
nop
nop
nop
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x4219a0
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x88]
lea ecx, [edx + eax]
mov dword [esp + 0x80], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x4219d5
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x421a11
mov edx, dword [esp + 0x9c]
mov eax, ebp
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 0x421a00
mov word [eax], 0x5c
mov dword [esp + 0x10], 0xd085d2b7
mov dword [esp + 0x14], 0xdcb0deae
mov dword [esp + 0x18], 0xd8addab4
mov dword [esp + 0x1c], 0xe4b8e6c7
mov dword [esp + 0x20], 0xe08ee29f
mov dword [esp + 0x24], 0xec86ee93
mov dword [esp + 0x28], 0xeaeb
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x421a90
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x3bdd3254
xor ecx, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0x79
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x421a60
movzx ecx, word [edi]
test cx, cx
je 0x421ab1
lea edx, [edi + 2]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421aa0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x421ae1
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 0x421ad0
mov word [eax], 0
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447008]
xor ebx, ebx
jmp dword [0x447058]
push ebp
call fcn.004095b0
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x447080]
lea eax, [esp + 0xa8]
push 0
push eax
push dword [esp + 0x8c]
call fcn.0043f6a0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447010]
mov ebx, dword [esp + 0xa8]
lea eax, [ebx + 1]
push eax
call fcn.004095a0
add esp, 4
push 0
push ebx
mov dword [esp + 0xa0], eax
push eax
push dword [esp + 0x90]
call fcn.0043f780
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447018]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x98]
mov byte [ecx + eax], 0
push ecx
call fcn.00402a20
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x447020]
jmp dword [0x447040]
push dword [esp + 0x98]
call fcn.004095b0
add esp, 4
mov eax, dword [case.0x420b31.58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], 0x98999697
mov word [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x421c3e
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x10c2d756
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0x3e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x421c10
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x421c80
mov edx, dword [esp + 0x10]
xor ebp, ebp
mov eax, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + ebp*8], 0x625b6034
je 0x421c70
inc ebp
cmp ecx, ebp
jne 0x421c60
jmp 0x421c80
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edx
jne 0x421f98
nop
nop
nop
nop
mov ebp, dword [esp + 0x4c]
jmp dword [0x447058]
movzx eax, bl
jmp dword [eax*4 + 0x447080]
mov eax, dword [esp + 0x88]
mov ecx, eax
and ecx, 1
xor eax, 1
add eax, dword [esp + 0x80]
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 0x16
lea eax, [edx*2 + 0x2c]
test ecx, ecx
jns 0x421cc3
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x421d01
mov edx, dword [esp + 0x9c]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421cf0
mov word [eax], 0x5c
mov dword [esp + 0x10], 0xb679b40f
mov dword [esp + 0x14], 0xba1ab818
mov dword [esp + 0x18], 0xbe11bc1a
mov dword [esp + 0x1c], 0xa212a05f
mov dword [esp + 0x20], 0xa60aa437
mov dword [esp + 0x24], 0xaa08a835
mov dword [esp + 0x28], 0xae08ac0c
mov dword [esp + 0x2c], 0x923d9013
mov dword [esp + 0x30], 0x96039436
mov dword [esp + 0x34], 0x9a359832
mov dword [esp + 0x38], 0x9e3f9c3f
mov word [esp + 0x3c], 0x809f
lea ecx, [esp + 0x10]
mov byte [ecx + 0x32], 0
mov dword [ecx + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x32
ja 0x421dcc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
lea ebp, [ecx + 0xc3]
add ecx, edx
and ebp, edx
add ebp, ebp
sub ecx, ebp
add ecx, 0x82e230c3
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0x90
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x33
jb 0x421d90
movzx ecx, word [edi]
test cx, cx
je 0x421df1
lea edx, [edi + 2]
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 0x421de0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x421e21
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 0x421e10
mov word [eax], 0
add esi, 0x12
cmp dword [esp + 0x80], 0xfffffff7
jge 0x421e38
mov esi, 0xffffffff
push esi
call fcn.004095a0
add esp, 4
mov esi, eax
mov dword [esp + 0x10], 0x64cf620e
mov dword [esp + 0x14], 0x68d166c0
mov dword [esp + 0x18], 0x6cc76acc
mov dword [esp + 0x1c], 0x70cd6ec9
mov dword [esp + 0x20], 0x7271
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x421eae
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x3aa8441
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0xe0
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x421e80
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x421ed1
add edi, 2
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x421ec0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x421f01
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 0x421ef0
mov word [eax], 0
mov dword [esp + 0x10], 0x373639ee
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x421f5e
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]
add eax, 0xf0d015e6
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0x22
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x421f30
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x20]
push eax
push ebx
push esi
push dword [esp + 0x114]
call fcn.00419940
add esp, 0x20
mov ecx, dword [esp + 0x7c]
and cl, 1
or cl, al
mov dword [esp + 0x7c], ecx
jmp dword [0x447088]
jmp dword [0x447094]
push dword [esp + 0x50]
push 1
push dword [0x44ab5c]
push eax
call fcn.0043d150
add esp, 0x10
mov ebp, dword [esp + 0x4c]
jmp dword [0x447058]
mov dword [esp + 0xb0], eax
push eax
call fcn.00403340
add esp, 4
mov dword [esp + 0x10], 0xe1fed3f0
mov dword [esp + 0x14], 0xd2d5ddd1
mov dword [esp + 0x18], 0xe9e7eda9
mov dword [esp + 0x1c], 0xdaddd5d9
mov dword [esp + 0x20], 0x998e94ea
mov word [esp + 0x24], 0xad96
mov byte [esp + 0x26], 0x35
mov word [esp + 0x27], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x18
ja 0x422050
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x819d6aaf
xor ecx, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0x10
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x19
jb 0x422020
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00403480
add esp, 8
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x422070
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xc]
and edx, 0xfffffffc
mov ecx, dword [esp + 0xc]
and ecx, 3
mov ebx, dword [esp + 0xc]
or ebx, 3
imul ebx, ecx
xor ecx, 3
imul ecx, edx
mov edx, dword [esp + 0xc]
add ebx, ecx
shr ebx, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x4220b4
cmp ecx, 0x2e
jne 0x4220b5
dec ebx
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0xa0], eax
je 0x4220cb
cmp ecx, 0x2e
jne 0x4220d2
mov dword [esp + 0x4c], ebp
dec ebx
jmp 0x4220d6
mov dword [esp + 0x4c], ebp
mov dword [esp + 0xac], ebx
lea eax, [ebx + 1]
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x5c], eax
cmp dword [esp + 0xc], 0
je 0x42221f
xor ecx, ecx
mov ebp, 2
jmp 0x422124
lea eax, [ebp + 4]
add ebp, 2
mov ecx, dword [esp + 0x60]
cmp ebp, edx
mov ebp, eax
jae 0x42221f
mov dword [esp + 0x50], ecx
mov ebx, dword [esp + 0xa0]
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00415cb0
add esp, 4
mov byte [esp + 0x60], al
movzx eax, byte [ebx + ebp - 1]
push eax
call fcn.00415cb0
add esp, 4
mov byte [esp + 0xb], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 0x60]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov byte [ecx + edx], al
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x60], eax
cmp ebp, edx
jae 0x422110
movzx eax, byte [ebx + ebp]
push eax
call fcn.00415cb0
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x422110
movzx edx, byte [esp + 0xb]
shl dl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, dl
mov ebx, dword [esp + 0x50]
lea edx, [ebx + 2]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x5c]
mov byte [edx + ebx + 1], cl
mov edx, dword [esp + 0xc]
lea ecx, [ebp + 1]
cmp ecx, edx
jae 0x422110
mov ecx, dword [esp + 0xa0]
movzx ecx, byte [ecx + ebp + 1]
push ecx
mov byte [esp + 0xf], al
call fcn.00415cb0
mov edx, dword [esp + 0x10]
add esp, 4
movzx ecx, byte [esp + 0xb]
cmp al, 0x40
je 0x422110
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x5c]
mov ebx, edx
mov edx, dword [esp + 0x50]
mov byte [ecx + edx + 2], al
add edx, 3
mov dword [esp + 0x60], edx
mov edx, ebx
jmp 0x422110
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44ab60]
call fcn.0043e880
add esp, 8
mov ecx, esp
lea edx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447028]
xor ebx, ebx
mov ebp, dword [esp + 0x4c]
jmp dword [0x447038]
mov eax, esi
and eax, 0x10
mov ecx, dword [esp + 0x80]
xor ecx, 8
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
mov ebp, dword [esp + 0x4c]
jns 0x4222a9
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov ebx, eax
mov dword [esp + 0x10], 0x6a876cbc
mov dword [esp + 0x14], 0x16c568f9
mov dword [esp + 0x18], 0x128b1489
mov dword [esp + 0x1c], 0x1e1f108d
mov dword [esp + 0x20], 0
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x54]
cmp eax, 0x13
ja 0x422329
nop
nop
nop
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xbad9ce3a
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xa9
mov ecx, dword [esp + 0x54]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x54]
mov eax, dword [esp + 0x54]
cmp eax, 0x14
jb 0x4222f0
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x422351
lea edx, [edi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422340
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x422381
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 0x422370
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.00409d10
mov ecx, ebx
mov ebx, eax
jmp dword [0x447030]
push ecx
call fcn.004095b0
add esp, 4
push 0xe050b307
push dword [0x44ab48]
call fcn.0043e880
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x447038]
push dword [esp + 0x5c]
call fcn.004095b0
add esp, 4
push dword [esp + 0xb0]
call fcn.004035b0
add esp, 4
jmp dword [0x447040]
push esi
call fcn.004095b0
add esp, 4
push esi
call fcn.004095b0
add esp, 4
jmp dword [0x447098]
jmp dword [0x4470a0]
push ebx
call fcn.004095b0
add esp, 4
mov ecx, dword [esp + 0xa4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x446ff8]
jmp dword [0x447000]
push dword [esp + 0x58]
call fcn.004095b0
add esp, 4
mov eax, dword [esp + 0x7c]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x4471b0]
push ebx
call fcn.004095b0
add esp, 4
mov eax, dword [esp + 8]
and al, 1
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x6c]
push 0
push eax
push dword [esp + 0x24]
call fcn.0043f6a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x4470b0]
jmp dword [0x4470c4]
mov dword [esp + 0x78], ebx
mov esi, dword [esp + 0x6c]
lea eax, [esi + 1]
push eax
call fcn.004095a0
add esp, 4
push 0
push esi
mov dword [esp + 0x6c], eax
push eax
push dword [esp + 0x28]
call fcn.0043f780
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x4470c8]
mov ebx, dword [esp + 0x78]
jmp dword [0x447198]
push dword [esp + 0x64]
call fcn.004095b0
add esp, 4
jmp dword [0x4471a4]
jmp dword [0x4471a4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], 0x98999697
mov word [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x422790
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x422760
mov ecx, dword [0x44ab54]
test ecx, ecx
je case.0x4229b0.33
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422dce
inc esi
cmp ecx, esi
jne 0x4227b0
jmp case.0x4229b0.33
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov byte [ebp + eax], 0
mov dword [esp + 8], 0
nop
nop
nop
nop
mov dword [esp + 0x20], 0x87898585
mov dword [esp + 0x24], 0x8b8cb989
mov word [esp + 0x28], 0x4a52
mov byte [esp + 0x2a], 0x15
lea eax, [esp + 0x2b]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x42284e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
add eax, 0xf6716321
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xc2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x422820
movzx edx, byte [esp + 0x20]
test dl, dl
je 0x422892
mov eax, edi
mov ecx, ebp
jmp 0x422867
movzx edx, byte [eax]
test dl, dl
je 0x422892
mov dh, byte [ecx]
test dh, dh
je 0x422890
inc ecx
inc eax
lea esi, [ebp + 1]
cmp dh, dl
je 0x42287a
mov ebp, esi
mov ecx, esi
je 0x422860
lea eax, [esp + 0x20]
jmp 0x422860
xor ebp, ebp
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x4470d0]
movzx eax, byte [ebp + 0xa]
add ebp, 0xa
xor ebx, ebx
test al, al
je 0x4228c2
mov ecx, ebp
nop
cmp al, 0x22
je 0x4228c0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4228b0
jmp 0x4228c2
mov ebx, ecx
mov esi, ebx
sub esi, ebp
xor eax, eax
cmp esi, 5
setb al
jmp dword [eax*4 + 0x4470e8]
xor eax, eax
cmp byte [ebx - 1], 0x74
setne al
jmp dword [eax*4 + 0x447100]
xor eax, eax
cmp byte [ebx - 2], 0x78
setne al
jmp dword [eax*4 + 0x447108]
xor eax, eax
cmp byte [ebx - 3], 0x74
setne al
jmp dword [eax*4 + 0x447110]
xor eax, eax
cmp byte [ebx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x447118]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x422923
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov dword [esp + 0x20], 0
mov dword [esp + 0xc], esi
lea ecx, [eax + esi*2]
mov edi, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
jae 0x42298b
mov edi, dword [esp + 0x10]
cmp ebp, ebx
jae 0x42298b
mov edi, dword [esp + 0x10]
mov esi, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42298b
lea eax, [esp + 0x20]
push eax
push ebx
push esi
call fcn.0040d220
add esp, 0xc
movzx ecx, word [esp + 0x20]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x42298b
add esi, eax
cmp esi, ebx
jb 0x422960
mov word [edi], 0
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
mov ebx, dword [esp + 0x20]
push ebx
call fcn.0043f310
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447120]
lea eax, [esp + 0x68]
push 0
push eax
push dword [esp + 0x20]
call fcn.0043f6a0
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x68]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447128]
push esi
call fcn.004095a0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0043f780
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447130]
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0x74], edi
jmp dword [0x447138]
mov eax, ebx
nop
cmp word [eax], 0
lea eax, [eax + 2]
jne 0x422a20
mov edx, ebx
jmp case.0x4229b0.6
add edx, 2
test si, si
je 0x422a50
mov eax, ecx
movzx esi, word [edx]
mov ecx, edx
cmp si, 0x5c
je 0x422a30
mov ecx, eax
jmp 0x422a30
mov edx, ebx
xor ecx, ecx
jmp dword [0x447140]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447148]
xor ebx, ebx
xor eax, eax
mov edi, dword [esp + 0xc]
jmp 0x422a81
sub eax, ebx
sar eax, 1
lea ebx, [eax + 1]
not eax
mov edi, dword [esp + 0xc]
add eax, edi
add eax, 0x1b
push eax
call fcn.004095a0
add esp, 4
mov edx, ebx
xor edx, edi
lea esi, [ebx + ebp]
not ebx
and ebx, edi
add ebx, ebx
mov dword [esp + 0xc], ebx
mov ecx, ebx
mov dword [esp + 0x70], edx
sub ecx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], 0x7d7d7da0
mov dword [esp + 0x24], 0x82768685
mov dword [esp + 0x28], 0x7b5f3683
mov dword [esp + 0x2c], 0x498c7177
mov dword [esp + 0x30], 0x77898f6d
mov dword [esp + 0x34], 0x2d656593
mov dword [esp + 0x38], 0x5572a
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0x1b
ja 0x422b30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 0x20]
add edx, 0x9aabfa7c
xor edx, edi
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add dl, 0x6d
mov edi, dword [esp]
mov byte [esp + edi + 0x20], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x1c
jb 0x422b00
movzx edx, byte [esp + 0x20]
mov ebx, eax
test dl, dl
je 0x422b5b
lea edi, [esp + 0x21]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x422b50
mov byte [ebx], 0
mov edx, dword [esp + 0x14]
test edx, edx
je 0x422b8e
mov edi, edx
and edi, 3
je 0x422b92
xor edx, edx
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [ebx + edx], cl
inc edx
cmp edi, edx
jne 0x422b6f
add ebx, edx
mov ecx, dword [esp + 0x14]
sub ecx, edx
mov edx, ecx
mov edi, ebx
jmp 0x422b92
mov edi, ebx
jmp 0x422bd8
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0xc]
cmp ecx, 0xfffffffc
ja 0x422bd8
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [ebx], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [ebx + 1], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [ebx + 2], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
lea edi, [ebx + 4]
mov byte [ebx + 3], cl
mov ebx, edi
add edx, 0xfffffffc
jne 0x422b9f
mov byte [edi], 0
mov ecx, dword [esp + 0x94]
push dword [esp + 0x68]
mov edi, dword [esp + 0x78]
push edi
mov esi, eax
push eax
call fcn.00409ec0
mov ecx, dword [esp + 8]
and cl, 1
or cl, al
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x10]
jmp dword [0x447150]
push esi
call fcn.004095b0
add esp, 4
jmp dword [0x447158]
jmp dword [0x447158]
jmp dword [0x447164]
jmp dword [0x447174]
push ebx
call fcn.004095b0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.004095b0
add esp, 4
jmp dword [0x447190]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], 0x98999697
mov word [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x422cb0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x422c80
mov ecx, dword [0x44ab54]
test ecx, ecx
je case.0x4229b0.21
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422ce0
inc esi
cmp ecx, esi
jne 0x422cd0
jmp case.0x4229b0.21
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x4229b0.21
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], 0x98999697
mov word [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x422d50
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x422d20
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x422d88
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422d80
inc esi
cmp ecx, esi
jne 0x422d70
jmp 0x422d88
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x422d9e
jmp dword [0x44717c]
lea edi, [esp + 0x20]
jmp dword [0x447180]
jmp dword [0x44718c]
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
jmp dword [0x44717c]
push edi
call fcn.004095b0
add esp, 4
push edi
call fcn.004095b0
add esp, 4
jmp dword [0x44716c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x4229b0.33
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
jmp case.0x4229b0.33
jmp dword [0x4471a8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], 0x98999697
mov word [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x422e50
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0x10c2d756
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x422e20
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x422df0
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422e90
inc esi
cmp ecx, esi
jne 0x422e70
jmp 0x422df0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x422df0
push eax
push 1
push dword [0x44ab5c]
push ecx
call fcn.0043d150
add esp, 0x10
jmp dword [0x4471a8]
int3
cli
inc ecx
add bh, dl
inc dword [ecx]
xlatb
inc dword [ecx]
and al, 0xfa
inc ecx
add byte [eax], al
sti
inc ecx
add dh, cl
inc byte [ecx]
add bl, bh
inc ecx
add byte [eax], al
sti
inc ecx
add byte [eax], al
sti
inc ecx
add byte [ebx + edi*8], bl
inc ecx
add byte [eax - 5], ah
inc ecx
add byte [eax - 5], ah
inc ecx
add byte [eax - 5], ah
inc ecx
add byte [edx - 5], ah
inc ecx
add ch, bl
inc byte [ecx]
jo 0x446d89
inc ecx
add bl, ch
inc byte [ecx]
int1
inc byte [ecx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
in eax, dx
inc dword [ecx]
add dword [eax], eax
add byte [eax], al
mov eax, 0xd00041fb
sti
inc ecx
add byte [eax - 5], al
inc ecx
add cl, bl
sti
inc ecx
add byte [eax - 5], al
sti
sti
inc ecx
add byte [esi], dl
cld
inc ecx
add byte [esi], dl
cld
inc ecx
add byte [esi], dl
cld
inc ecx
add byte [eax - 4], cl
inc ecx
add byte [esi], dl
cld
inc ecx
add byte [eax - 5], al
inc ecx
add byte [esi - 4], dl
inc ecx
add al, dl
std
inc ecx
add cl, bl
std
inc ecx
add al, dh
std
inc ecx
add al, dh
std
inc ecx
add dl, dh
std
inc ecx
add al, dh
std
inc ecx
add byte [ebx + edi*8], ch
inc ecx
add byte [eax], al
inc byte [ecx]
ja 0x446df8
inc ecx
add byte [ebp - 2], bh
inc ecx
add byte [edi - 0x44ffbe01], ch
inc dword [ecx]
inc ecx
add byte [0x57004200], cl
add byte [edx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
jp 0x446e2f
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ebp + 0x4004201], cl
add dword [edx], eax
rol byte [ecx], 1
inc edx
add byte [ebp - 0x25ffbdff], cl
add dl, bl
add dword [edx], eax
add byte [ebx], 0x42
add byte [eax - 1879031293], dl
add eax, dword [edx]
nop
add eax, dword [edx]
xchg edx, eax
add eax, dword [edx]
loopne 0x446e4c
inc edx
add byte [ebx], cl
add al, byte [edx]
loopne 0x446e54
invalid
or eax, dword [edx]
inc edx
add al, ah
add al, byte [edx]
inc edx
add bl, cl
add al, byte [edx]
rol dword [edx], cl
inc edx
add al, ah
add al, byte [edx]
into
retf
add eax, dword [edx]
xor byte [edx + eax*2], al
add al, dh
add eax, dword [edx]
clc
add eax, dword [edx]
lock add eax, dword [edx]
lock add eax, dword [edx]
lock add eax, dword [edx]
clc
add eax, dword [edx]
inc edx
add byte [eax], dl
inc edx
add byte [eax], al
inc edx
add byte [0x50004200], cl
add byte [edx], al
sbb eax, dword [eax]
inc edx
add byte [ebx + 4], cl
inc edx
add byte [ebp + eax + 0x42], bl
add byte [ebp + 5], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebp + 5], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [esi + eax], ch
inc edx
add byte [ebp + 0x4f004205], al
push es
inc edx
add byte [edi + 6], bh
inc edx
add byte [eax + ecx], bh
inc edx
add byte [edx + 0x26004206], ah
or byte [edx], al
in eax, 6
inc edx
add ah, bh
pop es
inc edx
add byte [esi + 7], al
inc edx
add ah, bh
pop es
inc edx
add byte [edx], ch
adc al, byte [edx]
cld
pop es
inc edx
add byte [edx + 0x12], bh
inc edx
add byte [ecx], cl
or byte [edx], al
and byte [eax], cl
inc edx
add byte [eax], ah
or byte [edx], al
and byte [eax], cl
inc edx
add byte [eax], ah
or byte [edx], al
or byte es:[edx], al
xor ecx, dword [eax]
inc edx
add byte [eax + ecx], bh
inc edx
add byte [eax + 8], dl
inc edx
add byte [eax + 8], dl
inc edx
add byte [edx + 8], dl
inc edx
add byte [eax + 8], dl
inc edx
add byte [ecx + 6], bl
inc edx
add dh, bh
or byte [edx], al
or al, 9
inc edx
add byte [eax + 6], dh
inc edx
add byte [eax], bh
or eax, dword [edx]
outsb dx, byte [esi]
or al, 66
add byte [ebp + 0x14], ch
inc edx
add byte [eax - 0x59ffbdf4], ah
or al, 0x42
add al, dl
or al, 0x42
add bl, bh
or al, 0x42
add al, dl
or al, 0x42
add byte [esi + 0x15], cl
inc edx
add byte [esi], bl
or eax, 0x11f60042
inc edx
add byte [ebp - 0x9ffbdf3], cl
adc dword [edx], eax
pop eax
push cs
inc edx
add al, dh
adc dword [edx], eax
xchg ebp, eax
push cs
inc edx
add al, dh
adc dword [edx], eax
lock adc dword [edx], eax
lock adc dword [edx], eax
not byte [ecx]
inc edx
add byte [edx - 0x3dffbdf2], al
push cs
inc edx
add byte [edi + 0x2600420f], cl
cmovb eax, dword [eax]
adc byte [edi], cl
inc edx
add byte [ebp + 0xf], dl
inc edx
add byte [edx], ch
adc byte [edx], al
cmovb eax, dword [eax]
push ds
adc byte [edx], al
ror byte [edi], 1
inc edx
add byte [edx], ch
adc byte [edx], al
fisttp word [edi]
inc edx
add byte [eax + edx], bh
inc edx
add byte [eax + edx + 0x42], dl
add ch, al
adc byte [edx], al
fst qword [eax]
inc edx
add ch, al
adc dword [edx], eax
or byte [esi], 0x42
add byte [eax], al
adc al, byte [edx]
dec esi
adc eax, 358875202
inc edx
add byte [ebp + edx + 0x42], dl
add byte [esi + 0x15], cl
inc edx
add byte [ebp + edx + 0x42], dl
add byte [esi + 0x14], bl
inc edx
add byte [ebp + 0x14], ch
inc edx
add byte [eax + 0xb], cl
inc edx
add byte [esi], dl
adc eax, 0x15260042
inc edx
add byte [edi + 0xb], ah
inc edx
add byte [esp + ecx], bl
inc edx
add byte [eax], ch
or al, 0x42
add byte [eax], dh
and al, 0x42
add byte [ecx + 0x36004219], cl
and al, 0x42
add byte [edx + 0x24], al
inc edx
add byte [ebx + ebx], cl
inc edx
add byte [eax], dh
sbb eax, dword [edx]
loop 0x44702d
inc edx
add byte [edi + 0x1b], dl
inc edx
add byte [ebp - 0x6dffbde5], bh
sbb eax, dword [edx]
mov ebp, 0xb700421b
pop ds
inc edx
add byte [edx + 0x42], bh
add byte [eax - 0x5bffbdde], cl
and al, byte [edx]
movsb byte es:[edi], byte [esi]
and eax, dword [edx]
lodsd eax, dword [esi]
and eax, dword [edx]
int3
sub byte [edx], al
loopne 0x447115
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ch, dl
sub byte [edx], al
add dword [eax], eax
add byte [eax], al
in eax, 0x28
inc edx
add al, ah
daa
inc edx
add ch, dh
sub byte [edx], al
loopne 0x447135
inc edx
add byte [0xe0004229], al
daa
inc edx
add byte [0xe0004229], dl
daa
inc edx
add byte [esi - 0x48ffbdd3], cl
sub dword [edx], eax
and eax, 0xe800422c
sub dword [edx], eax
sbb dword [edx + eax*2], ebp
add byte [edi], cl
sub al, byte [edx]
cmp byte [edx], ch
inc edx
add byte [0x5a00422a], bl
sub al, byte [edx]
cmp byte [edx], ch
inc edx
add byte [eax + 0x2a], ch
inc edx
add byte [edx + 0x2a], dh
inc edx
add byte [edx], cl
sub al, 0x42
add byte [ecx], bl
sub al, 0x42
add byte [edi], bl
sub al, 0x42
add byte [0xb600422c], ah
sub eax, 0x2dbf0042
inc edx
add byte [esi + 0x2500422d], dh
sub al, 0x42
add byte [edi + 0x2c], cl
inc edx
add dl, bh
sub al, 0x42
add byte [edi + 0x2c], cl
inc edx
add byte [esi - 0x67ffbdd3], cl
sub eax, 0x27e00042
inc edx
add byte [ebx], ch
sub al, 0x42
add byte [eax + 0x2c], al
inc edx
add al, ah
daa
inc edx
add byte [eax + 0x2c], al
inc edx
add byte [edi], bl
inc edx
add byte [esi], ch
daa
inc edx
add byte [edi], dh
inc edx
add dh, dh
sub eax, 0x26850042
inc edx
add dh, dh
sub eax, 0x268b0042
inc edx
add byte [esi + 0x42], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov esi, 0x23004243
dec esp
inc edx
add byte [esi + 0x4c], ah
inc edx
add byte [edx], ch
inc edi
inc edx
add bh, bh
dec ebx
inc edx
add byte [edx], al
inc esp
inc edx
add byte [ebx + 0x68004247], ah
inc esp
inc edx
add dh, bh
inc ebp
inc edx
add byte [esi + 0x6c004249], cl
dec eax
inc edx
add cl, al
inc esi
inc edx
add byte [ebx + 0x48], cl
inc edx
add byte [edi + 0x46], bl
inc edx
add byte [edx + 0x41], ah
inc edx
add ch, ah
inc edi
inc edx
add byte [eax + 0x49], cl
inc edx
add byte [edi + 0x47], bh
inc edx
add byte [esp + eax*2 + 0x48900042], cl
inc edx
add byte [eax + 0x2a004246], ah
dec eax
inc edx
add ch, ah
inc esi
inc edx
add byte [ecx], cl
inc edi
inc edx
add byte [edi + 0x44], al
inc edx
add byte [ebx], ah
inc esp
inc edx
add byte [esi], al
dec eax
inc edx
add byte [edi], bl
inc esi
inc edx
add ah, al
inc edi
inc edx
add byte [eax + 0x6e004244], dh
inc edi
inc edx
add byte [edi + 0x4c], al
inc edx
add byte [ebx + 0x42], al
inc edx
add byte [edx + eax*2], bl
inc edx
add al, ah
dec ebx
inc edx
add dh, cl
dec eax
inc edx
add byte [eax + ecx*2 + 0x41860042], dh
inc edx
add byte [edi + 0x40004249], ch
inc esi
inc edx
add dl, dl
inc ebx
inc edx
add byte [eax + 0x4e004246], al
inc edi
inc edx
add cl, dl
inc esp
inc edx
add al, dh
inc eax
inc edx
add byte [ecx + 0x49], ch
inc edx
add ch, ah
inc eax
inc edx
add bl, dh
pop edx
inc edx
add byte [esi + 0x5b], dl
inc edx
add byte [ebp + 0x59], dh
inc edx
add bl, ch
push ebp
inc edx
add ch, bl
pop esp
inc edx
add byte [esi + 0x5c], cl
inc edx
add byte [edi], ah
push edi
inc edx
add bl, al
pop ecx
inc edx
add byte [edx + 0x53], ah
inc edx
add byte [edi], ch
pop ebx
inc edx
add byte [ebp + 0x5c], dh
inc edx
add byte [ebx + 0x12004254], ah
push esi
inc edx
add byte [edx + 0x55], al
inc edx
add byte [ecx + 0x5d], dh
inc edx
add byte [edx + 0x4253], ch
push edi
inc edx
add byte [ecx + 0x2b004252], cl
pop ebp
inc edx
add byte [ebp + 0x5b], bh
inc edx
add byte [edi], ch
push esp
inc edx
add ah, al
push ebp
inc edx
add byte [edx], ch
pop ecx
inc edx
add byte [ebp - 0x30ffbdae], ch
pop edx
inc edx
add byte [ebx + 0x57], cl
inc edx
add byte [esi + 0x54], dl
inc edx
add byte [ecx + 0x56], dl
inc edx
add dh, ch
pop ebx
inc edx
add byte [esi], bh
push ebx
inc edx
add ah, bl
push esi
inc edx
add byte [edi - 0x38ffbda9], cl
pop ebx
inc edx
add byte [eax - 0x63ffbda3], bl
pop esp
inc edx
add byte [eax - 0x38ffbdab], ah
push esp
inc edx
add byte [ecx + 0x55], bh
inc edx
add byte [esi + 0x5a], bh
inc edx
add byte [ecx + ebx*2 + 0x53860042], bl
inc edx
add cl, dl
push edx
inc edx
add byte [edx], ah
pop edx
inc edx
add byte [ebx*2 + 0x594e0042], al
inc edx
add byte [esi], bl
push ebp
inc edx
add dh, dl
pop ebp
inc edx
add byte [edx], bl
push ebx
inc edx
add byte [esi + 0x55], ah
inc edx
add bl, ch
push esp
inc edx
add byte [edx], cl
push esp
inc edx
add cl, dl
push ebx
inc edx
add byte [eax + 0x58], bl
inc edx
add byte [edi + 0x5d], cl
inc edx
add byte [ebx + 0xa004257], dh
pop ebx
inc edx
add byte [0xa100425c], dl
pop ebx
inc edx
add ah, dl
pop eax
inc edx
add byte [edx + 0xf004256], bh
pop eax
inc edx
add al, al
pop esp
inc edx
add byte [esi + 0x52], dl
inc edx
add byte [eax + 0x56], bh
inc edx
add ch, dh
push edx
inc edx
add byte [ebp - 0x18ffbda6], ah
pop ecx
inc edx
add byte [edx + 0x57], dh
inc edx
add byte [ebp + 0x54], bh
inc edx
add byte [esi + 0x36004256], ah
push esi
inc edx
add byte [edi + 0x4600425d], bh
pop edx
inc edx
add byte [0xab004259], bl
popal
inc edx
add byte [esi - 0x7cffbd9f], ah
arpl word [edx], ax
test dword [esi + 0x42], esp
add byte [eax - 0x6fffbd97], al
imul eax, dword [edx], 0x426a02
movsb byte es:[edi], byte [esi]
imul eax, dword [edx], 0x426a68
mov ch, byte [ecx + 0x42]
add byte [esi], ah
insb byte es:[edi], dx
inc edx
add byte [esp + ebp*2], ah
inc edx
add byte [esi + 0x63], bh
inc edx
add byte [ecx + 0x6e], bh
inc edx
add ah, ah
lea eax, [edx]
jg 0x447450
inc edx
add al, dh
insd dword es:[edi], dx
inc edx
add byte [edi + 0x6e], bh
inc edx
add byte [ecx + esi*2 + 0x42], ah
add byte [ebp - 0x6fffbd8e], al
jae 0x447439
add byte [eax - 0x5fffbd8d], dl
jae 0x447441
add byte [edx - 0x5dffbd8d], ah
jae 0x447449
add byte [edi + 0x71], bl
inc edx
add byte [eax], al
jp 0x447451
add byte [eax], al
jp 0x447455
add byte [esi], bh
jp 0x447459
add byte [eax], dl
jnp 0x44745d
add byte [eax + 0x7a], ah
inc edx
add byte [eax + 0x7a], ah
inc edx
add byte [esi + 0x7a], ah
inc edx
add byte [edx + 0x7b], bh
inc edx
add byte [ebp + 0x7a], dh
inc edx
add ch, dl
jnp 0x447475
add al, dh
jns 0x447479
add dh, bh
jnp 0x44747d
add byte [esp + edi*2], al
inc edx
add byte [0x1600427c], bl
jl 0x447485
add byte [esi], dl
jns 0x447489
add byte [0x7a00427c], bl
mov es, word [edx]
jl 0x44748d
add byte [edx - 0x72], bh
inc edx
add byte [eax - 0x80], ah
inc edx
add byte [eax - 0x7fffbd80], al
pushal
add byte [edx], 0x80
add byte [edx], 0x80
add byte [edx], 0x86
add byte [edx], 0x86
add byte [edx], 0xa0
add byte [edx], 0xb0
add byte [edx], 0x8c
add byte [edx], 0x62
add byte [edx], 0xb9
add byte [edx], 9
add dword [edx], 0xf
add dword [edx], 0x3a
add dword [edx], 0x52
add dword [edx], 0xffffff9d
add dword [edx], 0xffffffb8
add dword [edx], 0xffffffac
add dword [edx], 0xffffffd8
add dword [edx], 0x7f
add dword [edx], 0xffffffd8
add dword [edx], 0xffffffe8
add byte [edx], 0xd8
add dword [edx], 0x2c
mov byte [edx], al
and dword [eax - 0x7394ffbe], ecx
inc edx
add byte [esp + ecx*4 + 0x42], dh
add byte [ecx + 0x48004263], cl
lea eax, [edx]
push 0x71
inc edx
add byte [eax + 0x60004273], ah
jp 0x44750d
add byte [eax + 0x20004280], al
add dword [edx], 0xffffffea
enter 0x42, 0xffffffffffffffe5
ret 0x42
retf