Function at 0x4b92a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x6b1f27
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov edi, ecx
mov dword [esp + 0x54], ebp
mov al, byte [esp + 0x53]
mov dword [esp + 0x134], 1
mov byte [esp + 0x1c], al
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov cl, 0x28
mov bl, 0x25
mov byte [esp + 0x39], cl
mov byte [esp + 0x43], cl
mov cl, 0x2a
mov dl, 0x16
mov al, 0x29
mov byte [esp + 0x45], cl
mov byte [esp + 0x4b], cl
push 6
push 0x704698
lea ecx, [esp + 0x18]
mov byte [esp + 0x13c], 2
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], 0x14
mov byte [esp + 0x36], 0x15
mov byte [esp + 0x37], dl
mov byte [esp + 0x38], 0x26
mov byte [esp + 0x39], 0x27
mov byte [esp + 0x3a], 0x10
mov byte [esp + 0x3b], 0x10
mov byte [esp + 0x3c], 0xf
mov byte [esp + 0x3d], 0xf
mov byte [esp + 0x3e], 0x2b
mov byte [esp + 0x3f], 0x13
mov byte [esp + 0x40], 0x24
mov byte [esp + 0x42], 0x2e
mov byte [esp + 0x43], al
mov byte [esp + 0x44], dl
mov byte [esp + 0x45], 0x11
mov byte [esp + 0x46], 0x31
mov byte [esp + 0x47], 0x1b
mov byte [esp + 0x48], 0x1d
mov byte [esp + 0x49], 0x1e
mov byte [esp + 0x4a], 0x23
mov byte [esp + 0x4c], 0x21
mov byte [esp + 0x4e], 0x22
mov byte [esp + 0x4f], 0xe
mov byte [esp + 0x50], 0x30
mov byte [esp + 0x51], 0x30
mov byte [esp + 0x52], al
mov byte [esp + 0x54], al
mov byte [esp + 0x55], 0x2f
mov byte [esp + 0x56], 0x31
mov byte [esp + 0x57], 0x31
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], al
call fcn.0060ff10
push 5
lea ecx, [esp + 0x144]
mov byte [esp + 0x138], 3
call fcn.00610190
mov byte [esp + 0x14], al
add edi, 8
mov esi, dword [esp + 0x14]
and esi, 0xff
movzx cx, byte [esp + esi + 0x2c]
push ecx
mov ecx, edi
call fcn.00610190
mov bl, al
mov ecx, edi
mov byte [esp + 0x14], bl
call fcn.00610330
cmp ax, 0x31
jge 0x4b94f1
push 0x70386c
lea edx, [esp + 0x5c]
push 0x703868
push edx
call fcn.00698355
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x20]
push ebx
call fcn.00414210
test al, al
je 0x4b9461
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x58]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ebx
mov byte [ecx + ebx], 0
mov esi, dword [esp + 0x13c]
mov dl, byte [esp + 0x1c]
xor edi, edi
lea ecx, [esp + 0x1c]
mov byte [esi], dl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov eax, dword [0x6ce1fc]
push eax
push edi
push ecx
mov ecx, esi
call fcn.004136a0
mov dword [esp + 0x54], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x4b94ca
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4b94c1
cmp al, 0xff
je 0x4b94c1
dec al
mov byte [ecx], al
jmp 0x4b94ca
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x140]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov byte [esp + 0x134], 0
call fcn.0060ffb0
mov eax, esi
jmp 0x4ba12c
dec esi
cmp esi, 0x24
ja case.default.0x4b94fb
jmp dword [esi*4 + 0x4ba148]
mov ebp, dword [esp + 0x14]
and ebp, 0xff
lea ebp, [ebp + ebp*4]
shl ebp, 3
jmp case.default.0x4b94fb
mov ebp, dword [esp + 0x14]
and ebp, 0xff
lea ebp, [ebp + ebp*4]
shl ebp, 1
jmp case.default.0x4b94fb
mov edx, dword [esp + 0x14]
and edx, 0xff
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x6ceff8]
fadd qword [0x6ce4c8]
fsub qword [0x6ceff0]
call fcn.00698624
mov ebp, eax
jmp case.default.0x4b94fb
cmp bl, 0x10
ja 0x4b95f3
mov ecx, dword [esp + 0x14]
mov ebp, 0xd6
and ecx, 0xff
lea eax, [ecx + ecx*8]
shl eax, 3
sub eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub ebp, eax
push ebp
lea edx, [esp + 0x5c]
push 0x70350c
push edx
call fcn.00698355
add esp, 0xc
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4b9fb5
lea edi, [esp + 0x58]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4b95b8
call fcn.0069788b
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4b9f5e
mov al, byte [edi - 1]
test al, al
je 0x4b9f5e
cmp al, 0xff
je 0x4b9f5e
test ebx, ebx
jne 0x4b9f87
dec al
push ebx
lea ecx, [esp + 0x20]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x4b9fb5
cmp bl, 0x20
ja 0x4b960d
mov eax, dword [esp + 0x14]
mov ebp, 0xaf
and eax, 0xff
shl eax, 1
jmp 0x4b957d
cmp bl, 0x21
jne 0x4b961c
mov ebp, 0x6c
jmp case.default.0x4b94fb
cmp bl, 0x30
ja 0x4b9652
mov ecx, dword [esp + 0x14]
mov eax, 0x20
and ecx, 0xff
sub eax, ecx
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax + 0x6c]
jmp case.default.0x4b94fb
cmp bl, 0x50
ja 0x4b9683
mov edx, dword [esp + 0x14]
mov ecx, 0x30
and edx, 0xff
sub ecx, edx
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
cdq
and edx, 0x1f
add eax, edx
mov ebp, eax
sar ebp, 5
add ebp, 0x5c
jmp case.default.0x4b94fb
cmp bl, 0xd0
ja 0x4b96b2
mov eax, dword [esp + 0x14]
mov ecx, 0x50
and eax, 0xff
sub ecx, eax
mov eax, ecx
shl eax, 6
sub eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov ebp, eax
sar ebp, 7
add ebp, 0x45
jmp case.default.0x4b94fb
cmp bl, 0xe0
ja 0x4b96e1
mov ecx, dword [esp + 0x14]
mov eax, 0xd0
and ecx, 0xff
sub eax, ecx
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
mov ebp, eax
sar ebp, 4
add ebp, 6
jmp case.default.0x4b94fb
mov edx, dword [esp + 0x14]
mov eax, pe_nt_image_headers32
and edx, 0xff
sub eax, edx
mov ecx, eax
shl ecx, 5
add ecx, eax
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax - 6]
jmp case.default.0x4b94fb
mov ecx, dword [esp + 0x14]
and ecx, 0xff
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x6cefe8]
fstp qword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x60]
push str._.2f
push ecx
call fcn.00698355
add esp, 0x10
jmp 0x4b9592
mov edx, dword [esp + 0x14]
and edx, 0xff
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x6cefe0]
jmp 0x4b972b
mov ecx, dword [esp + 0x14]
and ecx, 0xff
mov eax, ecx
shl eax, 5
add eax, ecx
lea ecx, [eax + eax*2]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax + 9]
jmp case.default.0x4b94fb
mov eax, dword [esp + 0x14]
and eax, 0xff
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*4]
lea ecx, [eax + eax*2]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp case.default.0x4b94fb
mov ecx, dword [esp + 0x14]
and ecx, 0xff
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x6cefd8]
jmp 0x4b972b
mov eax, dword [esp + 0x14]
and eax, 0xff
mov ecx, eax
shl ecx, 5
sub ecx, eax
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*2]
shl ecx, 2
jmp 0x4b97aa
mov ecx, dword [esp + 0x14]
and ecx, 0xff
mov eax, ecx
shl eax, 5
add eax, ecx
lea ecx, [eax + eax*2]
jmp 0x4b9853
mov eax, dword [esp + 0x14]
mov ebp, 0x6c
and eax, 0xff
lea ecx, [eax + eax*2]
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ebp, edx
jmp case.default.0x4b94fb
mov eax, dword [esp + 0x14]
and eax, 0xff
lea ecx, [eax + eax*2]
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebp, edx
jmp case.default.0x4b94fb
mov edx, dword [esp + 0x14]
and edx, 0xff
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x6cefd0]
jmp 0x4b972b
mov eax, dword [esp + 0x14]
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
shl ecx, 2
sub ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*8]
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax - 0x67]
jmp case.default.0x4b94fb
mov ebp, dword [esp + 0x14]
and ebp, 0xff
jmp case.default.0x4b94fb
test bl, 2
je 0x4b98d5
push 1
jmp 0x4b98d7
push 2
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x110]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 4
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0x110]
mov byte [esp + 0x134], 3
test eax, eax
je case.default.0x4b94fb
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4b9f50
cmp al, 0xff
je 0x4b9f50
dec al
mov byte [ecx], al
jmp case.default.0x4b94fb
test bl, 0x20
je 0x4b995d
push 1
jmp 0x4b995f
push 2
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x100]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 5
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0x100]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 0x10
je 0x4b99c3
push 1
jmp 0x4b99c5
push 2
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x120]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0x120]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 1
je 0x4b9a29
push 4
jmp 0x4b9a2b
push 0x67
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x90]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 7
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0x90]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 8
je 0x4b9a8f
push 5
jmp 0x4b9a91
push 6
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x70]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 8
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0x70]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 1
je 0x4b9aef
push 7
jmp 0x4b9af1
push 8
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xb0]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 9
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 1
je 0x4b9b55
push 3
jmp 0x4b9b57
push 4
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xf0]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 0xa
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0xf0]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 0x80
je 0x4b9bbb
push 3
jmp 0x4b9bbd
push 4
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xd0]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 0xb
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0xd0]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 8
je 0x4b9c21
push 3
jmp 0x4b9c23
push 4
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x80]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 0xc
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0x80]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 0x20
je 0x4b9c87
push 3
jmp 0x4b9c89
push 4
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xa0]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x134], 0xd
push ecx
push 0
push eax
lea ecx, [esp + 0x28]
call fcn.004136a0
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test bl, 0x40
je 0x4b9ced
push 3
jmp 0x4b9cef
push 4
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xc0]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x134], 0xe
cmp eax, ebx
jae 0x4b9d35
mov ebx, eax
lea edx, [esp + 0x1c]
cmp edx, esi
jne 0x4b9d69
push eax
push ebx
lea ecx, [esp + 0x24]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x24]
call fcn.004140d0
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x134], 3
jmp 0x4b992d
test ebx, ebx
jbe 0x4b9dc8
cmp ebx, ecx
jne 0x4b9dc8
mov eax, dword [esi + 4]
test eax, eax
jne 0x4b9d7d
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4b9dc8
push 1
lea ecx, [esp + 0x20]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4b9d9a
mov eax, 0x6ce1f8
mov dword [esp + 0x20], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x24], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x134], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0xc0]
jmp 0x4b992d
push 1
push ebx
lea ecx, [esp + 0x24]
call fcn.00414210
test al, al
je 0x4b9e02
mov esi, dword [esi + 4]
test esi, esi
jne 0x4b9de4
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
call fcn.004141f0
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x134], 3
jmp 0x4b992d
push 1
push 4
lea ecx, [esp + 0x18]
call fcn.006102b0
test bl, 0x40
je 0x4b9e2c
push 0
jmp 0x4b9e2e
push 1
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xe0]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x134], 0xf
cmp eax, ebx
jae 0x4b9e74
mov ebx, eax
lea edx, [esp + 0x1c]
cmp edx, esi
jne 0x4b9e99
push eax
push ebx
lea ecx, [esp + 0x24]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x24]
call fcn.004140d0
jmp 0x4b9f22
test ebx, ebx
jbe 0x4b9ee6
cmp ebx, ecx
jne 0x4b9ee6
mov eax, dword [esi + 4]
test eax, eax
jne 0x4b9ead
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4b9ee6
push 1
lea ecx, [esp + 0x20]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4b9eca
mov eax, 0x6ce1f8
mov dword [esp + 0x20], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x24], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4b9f22
push 1
push ebx
lea ecx, [esp + 0x24]
call fcn.00414210
test al, al
je 0x4b9f22
mov esi, dword [esi + 4]
test esi, esi
jne 0x4b9f02
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x134], 3
test eax, eax
je case.default.0x4b94fb
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4b9f50
cmp al, 0xff
je 0x4b9f50
dec al
mov byte [ecx], al
jmp case.default.0x4b94fb
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x4b94fb
test ebx, ebx
jne 0x4b9f6f
push 1
lea ecx, [esp + 0x20]
call fcn.004138a0
jmp 0x4b9fb5
mov eax, dword [esp + 0x28]
cmp eax, 0x1f
ja 0x4b9f7c
cmp eax, ebx
jae 0x4b9f95
push 1
lea ecx, [esp + 0x20]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x20]
call fcn.00414870
mov edi, dword [esp + 0x20]
mov ecx, ebx
lea esi, [esp + 0x58]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ebx
mov byte [ecx + ebx], 0
mov ebp, dword [esp + 0x13c]
mov dl, byte [esp + 0x1c]
mov eax, dword [esp + 0x24]
xor edi, edi
mov byte [ebp], dl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x6ce1fc]
mov ebx, eax
cmp esi, ebx
jae 0x4b9fe0
mov ebx, esi
lea ecx, [esp + 0x1c]
cmp ebp, ecx
jne 0x4ba048
cmp ebx, edi
jbe 0x4b9ff1
call fcn.00697ab7
mov ecx, ebp
call fcn.00414980
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x4ba003
mov esi, eax
cmp esi, edi
jbe 0x4ba03a
mov edx, dword [ebp + 4]
sub eax, esi
push eax
lea ecx, [ebx + edx]
lea edx, [esi + ecx]
push edx
push ecx
call fcn.00698020
mov edi, dword [ebp + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebp
push 0
push edi
call fcn.00414210
test al, al
je 0x4ba038
push edi
mov ecx, ebp
call fcn.004141f0
xor edi, edi
push edi
push edi
mov ecx, ebp
call fcn.004140d0
jmp 0x4ba0cc
cmp ebx, edi
jbe 0x4ba094
cmp ebx, eax
jne 0x4ba094
mov eax, dword [esp + 0x20]
cmp eax, edi
jne 0x4ba05d
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4ba094
push 1
mov ecx, ebp
call fcn.004138a0
mov eax, dword [esp + 0x20]
cmp eax, edi
jne 0x4ba079
mov eax, 0x6ce1f8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [ebp + 4], eax
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4ba0cc
push 1
push ebx
mov ecx, ebp
call fcn.00414210
test al, al
je 0x4ba0cc
mov esi, dword [esp + 0x20]
cmp esi, edi
jne 0x4ba0af
mov esi, 0x6ce1f8
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.004141f0
xor edi, edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], 1
mov byte [esp + 0x134], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x4ba10a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ba101
cmp al, 0xff
je 0x4ba101
dec al
mov byte [ecx], al
jmp 0x4ba10a
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x140]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov byte [esp + 0x134], 0
call fcn.0060ffb0
mov eax, ebp
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x128
ret 8