Function at 0x408780
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
mov eax, dword [0x64916c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebp - reloc.MSVCRT.dll_strncpy], esi
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
test eax, eax
je 0x4087c4
mov ecx, dword [ebp + 0x1c]
push ecx
push eax
call fcn.005352a0
add esp, 8
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
jmp 0x4087ce
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
mov eax, dword [esi]
mov edx, dword [0x64ad70]
mov edi, dword [ebp + 0x10]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
test eax, eax
je 0x409bbd
cmp byte [ebx], 0
je 0x408809
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4087f5
mov ax, word [0x5c05a8]
mov word [edi], ax
mov edi, dword [ebp + 0x10]
lea eax, [ebx - 1]
cmp edi, 1
je 0x408830
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x408811
mov cx, word [0x5c05f0]
mov word [eax], cx
mov dl, byte [0x5c05f2]
jmp 0x408848
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x408830
mov cx, word [0x5c05ec]
mov word [eax], cx
mov dl, byte [0x5c05ee]
mov byte [eax + 2], dl
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408850
sub eax, edx
add ebx, eax
test edi, edi
jne 0x408871
test byte [ebp - 0x214], 0x3f
je 0x409bbd
jmp 0x409954
cmp edi, 1
jne 0x4089aa
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
test eax, 0x800
je 0x4088ac
push 0x5eae
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408896
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4088a2
jmp 0x4088da
test eax, 0x400
je 0x4089aa
push 0x5eaf
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4088c6
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4088d2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 1]
jmp 0x4088f0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4088f0
mov ax, word [0x5c05a8]
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov word [edi], ax
movzx edx, word [ecx + 0xf0e]
test dx, dx
je 0x40896d
mov eax, 0xffff
cmp dx, ax
je 0x40896d
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408922
sub eax, esi
push edx
mov esi, eax
call fcn.00536c30
push eax
call fcn.00531d80
add esp, 8
push eax
push 0x5eb0
call fcn.00531d80
add esp, 4
push eax
push 0x5c05e4
add ebx, esi
push ebx
call dword [fcn.005c02cc]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059ea5e
mov esp, ebp
pop ebp
ret
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408972
sub eax, edx
push 0x5eb0
mov esi, eax
call fcn.00531d80
push eax
push 0x5c05dc
add ebx, esi
push ebx
call dword [fcn.005c02cc]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059ea5e
mov esp, ebp
pop ebp
ret
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x40000000
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x408b4c
test dword [esi + 4], reloc.MSVCRT.dll_strncpy
je 0x408a5b
push 0x5e1a
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4089e0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4089f0
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test dword [edx + 4], 0x8000
je 0x408a5b
cmp dword [ebp + 0x14], 0
jne 0x408a22
mov dword [ebp + 0x14], 1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408a27
sub eax, edx
mov esi, eax
mov eax, dword [ebp + 0x14]
push eax
push 0x5dec
call fcn.00531d80
add esp, 4
push eax
lea ecx, [ebx + esi]
push 0x5c05d0
push ecx
call dword [fcn.005c02cc]
add esp, 0x10
jmp 0x408b15
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408a60
sub eax, edx
push 0x5df0
mov esi, eax
call fcn.00531d80
push eax
lea edx, [ebx + esi]
push 0x5c05cc
push edx
call dword [fcn.005c02cc]
mov esi, dword [ebp - reloc.MSVCRT.dll_strncpy]
add esp, 0x10
test byte [esi + 4], 1
je 0x408aa6
push ebx
push 0x5df1
push 0
call fcn.00408220
add esp, 0xc
jmp 0x408aac
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
test byte [esi + 4], 2
je 0x408ac1
push ebx
push 0x5df2
push eax
call fcn.00408220
add esp, 0xc
test byte [esi + 4], 4
je 0x408ad6
push ebx
push 0x5df3
push eax
call fcn.00408220
add esp, 0xc
test byte [esi + 4], 8
je 0x408aeb
push ebx
push 0x5df4
push eax
call fcn.00408220
add esp, 0xc
test byte [esi + 4], 0x10
je 0x408b00
push ebx
push 0x5df5
push eax
call fcn.00408220
add esp, 0xc
test byte [esi + 4], 0x20
je 0x408b15
push ebx
push 0x5df6
push eax
call fcn.00408220
add esp, 0xc
push 0x5df7
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408b24
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408b30
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - reloc.MSVCRT.dll_strncpy]
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x20000000
mov edi, dword [ebp + 0x14]
je 0x408be7
cmp dword [ebp + 0x10], 1
jne 0x408b86
mov eax, dword [esi + 0xc]
push 0
push 1
push ebx
push 0x5dd9
push eax
call fcn.00408760
add esp, 4
push eax
call fcn.004083c0
add esp, 0x14
jmp 0x408be7
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov al, byte [ecx + 0x3d1]
cmp al, 3
je 0x408bad
cmp al, 2
je 0x408bad
mov edx, dword [esi + 0xc]
push edx
call fcn.00408760
lea ecx, [edi + eax]
mov edx, ecx
imul edx, edx, 0x64
jmp 0x408bc1
mov ecx, dword [esi + 0xc]
push ecx
call fcn.00408760
lea ecx, [edi + eax]
mov edx, ecx
imul edx, edx, 0xc8
mov eax, 0x51eb851f
imul edx
sar edx, 5
push 0
mov eax, edx
push 1
shr eax, 0x1f
push ebx
add eax, edx
add eax, ecx
push 0x5dd9
push eax
call fcn.004083c0
add esp, 0x18
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x10000000
je 0x408c25
cmp dword [ebp + 0x10], 1
push 0
push 1
push ebx
push 0x5dda
jne 0x408c0e
mov ecx, dword [esi + 0x10]
push ecx
call fcn.00408760
jmp 0x408c19
mov edx, dword [esi + 0x10]
push edx
call fcn.00408760
add eax, edi
add esp, 4
push eax
call fcn.004083c0
add esp, 0x14
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x800000
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x408d14
mov esi, dword [esi + 0x28]
mov eax, esi
sar eax, 0x10
movzx eax, ax
movzx ecx, si
test eax, eax
jne 0x408c59
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x408c63
add eax, ecx
sar eax, 1
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
cmp byte [ebx], 0
je 0x408c82
lea edi, [ebx - 1]
jmp 0x408c70
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408c70
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5ddb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408c91
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408ca0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x408cc0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408cc0
sub eax, esi
push 0
lea edx, [ebx + eax]
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
add eax, dword [ebp + 0x14]
push 0x80000009
push 0xa
push edx
push eax
call fcn.00567e2f
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [edx + 0x24]
add esp, 0x14
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408d00
mov cx, word [0x5c0584]
mov word [edi], cx
mov esi, edx
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x400000
je 0x408df1
mov esi, dword [esi + 0x30]
mov edx, esi
sar edx, 0x10
movzx eax, dx
movzx ecx, si
test eax, eax
jne 0x408d3e
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x408d48
add eax, ecx
sar eax, 1
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
cmp byte [ebx], 0
je 0x408d61
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408d50
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5ddd
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408d70
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408d80
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x408da0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408da0
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
lea ecx, [ebx + eax]
push ecx
push edx
call fcn.00567e2f
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov edx, dword [ecx + 0x2c]
add esp, 0x14
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408de0
mov ax, word [0x5c0584]
mov word [edi], ax
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x200000
je 0x409139
cmp byte [ebx], 0
je 0x408e22
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408e10
mov cx, word [0x5c05a8]
mov word [edi], cx
mov esi, 0x5de2
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
mov dword [ebp - reloc.MSVCRT.dll_strncpy], esi
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 8
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
movzx ecx, byte [edx + esi - 0x5dad]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
test ecx, ecx
je 0x408fc1
cmp dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x408e83
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408e70
mov ax, word [0x5c0580]
mov word [edi], ax
jmp 0x408e8d
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 1
cmp dword [ebp + 0x10], 2
movzx edi, cx
jne 0x408f2c
mov edx, ecx
sar edx, 0x10
movzx eax, dx
test eax, eax
je 0x408eaa
add edi, eax
sar edi, 1
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edi
test esi, esi
je 0x408ef2
push esi
call fcn.00531d80
add esp, 4
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408ec0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408ed0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov esi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408ef7
push 0
push 9
sub eax, edx
push 0xa
add eax, ebx
push eax
push edi
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408f15
mov cx, word [0x5c0584]
mov word [edi], cx
jmp 0x408fc1
movzx eax, word [ebp - 0x21e]
test eax, eax
je 0x408f3b
add edi, eax
sar edi, 1
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edi
test esi, esi
je 0x408f82
push esi
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408f50
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x408f60
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov esi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408f87
push 0
push 0x80000009
sub eax, edx
push 0xa
lea edx, [ebx + eax]
push edx
push edi
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408fb0
mov ax, word [0x5c0584]
mov word [edi], ax
inc esi
dec dword [ebp - reloc.MSVCRT.dll_strncpy]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], esi
jne 0x408e41
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
movzx ecx, byte [ecx + 0x3d]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
test ecx, ecx
je 0x409139
cmp dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x40900a
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x408ff8
mov dx, word [0x5c0580]
mov word [edi], dx
cmp dword [ebp + 0x10], 2
jne 0x4090a2
mov eax, ecx
sar eax, 0x10
movzx eax, ax
movzx ecx, cx
test eax, eax
jne 0x40902b
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x409035
add eax, ecx
sar eax, 1
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
push 0x5e17
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409044
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409050
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x409070
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409070
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
push 9
sub eax, esi
push 0xa
lea ecx, [ebx + eax]
push ecx
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409095
jmp 0x409130
movzx eax, word [ebp - 0x21e]
movzx ecx, cx
test eax, eax
jne 0x4090b8
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x4090c2
add eax, ecx
sar eax, 1
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
push 0x5e17
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4090d1
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4090e0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x409100
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409100
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
push 0x80000009
sub eax, esi
push 0xa
lea ecx, [ebx + eax]
push ecx
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409128
mov ax, word [0x5c0584]
mov word [edi], ax
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x100000
je 0x409211
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [ecx + 0x42]
mov edx, eax
sar edx, 0x10
movzx ecx, dx
movzx eax, ax
test ecx, ecx
je 0x409165
add eax, ecx
sar eax, 1
cmp byte [ebx], 0
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
je 0x409184
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409173
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5e8d
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409193
sub eax, esi
lea edi, [ebx - 1]
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4091a0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x4091c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4091c0
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
lea ecx, [ebx + eax]
push ecx
push edx
call fcn.00567e2f
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov edx, dword [ecx + 0x3e]
add esp, 0x14
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409200
mov ax, word [0x5c0584]
mov word [edi], ax
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x80000
je 0x4092e8
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [ecx + 0x4a]
mov edx, eax
sar edx, 0x10
movzx ecx, dx
movzx eax, ax
test ecx, ecx
je 0x40923d
add eax, ecx
sar eax, 1
add eax, dword [ebp + 0x14]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
je 0x4092d9
cmp byte [ebx], 0
je 0x409266
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409254
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5dd8
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409275
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409281
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4092a0
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4092c7
mov dx, word [0x5c0584]
mov word [edi], dx
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov ecx, dword [eax + 0x46]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x40000
je 0x4093c2
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [edx + 0x52]
mov ecx, eax
sar ecx, 0x10
movzx ecx, cx
movzx eax, ax
test ecx, ecx
je 0x409314
add eax, ecx
sar eax, 1
cmp byte [ebx], 0
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
je 0x409334
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409322
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5dde
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409343
sub eax, esi
lea edi, [ebx - 1]
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409350
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x409370
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409370
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov ecx, dword [eax + 0x4e]
add esp, 0x14
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4093b0
mov dx, word [0x5c0584]
mov word [edi], dx
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x20000
je 0x4094a2
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [eax + 0x5a]
mov ecx, eax
sar ecx, 0x10
movzx ecx, cx
movzx eax, ax
test ecx, ecx
je 0x4093ee
add eax, ecx
sar eax, 1
cmp byte [ebx], 0
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
je 0x409412
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409400
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5ddf
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409421
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409430
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x409450
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409450
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov ecx, dword [eax + 0x56]
add esp, 0x14
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409490
mov dx, word [0x5c0584]
mov word [edi], dx
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x10000
je 0x409582
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [eax + 0x62]
mov ecx, eax
sar ecx, 0x10
movzx ecx, cx
movzx eax, ax
test ecx, ecx
je 0x4094ce
add eax, ecx
sar eax, 1
cmp byte [ebx], 0
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
je 0x4094f2
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4094e0
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5de0
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409501
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409510
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x409530
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409530
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov ecx, dword [eax + 0x5e]
add esp, 0x14
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409570
mov dx, word [0x5c0584]
mov word [edi], dx
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x4000
je 0x4095f5
cmp byte [ebx], 0
je 0x4095b1
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4095a0
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5dfa
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4095c0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4095d0
mov ecx, eax
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 [ebp - reloc.MSVCRT.dll_strncpy]
mov edx, dword [ecx + 0x66]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x2000
je 0x409665
cmp byte [ebx], 0
je 0x409621
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409610
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5eee
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409630
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409640
mov ecx, eax
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 [ebp - reloc.MSVCRT.dll_strncpy]
mov edx, dword [ecx + 0x20]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
test byte [ebp - 0x214], 0x80
je 0x409756
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [eax + 0x72]
mov ecx, eax
sar ecx, 0x10
movzx ecx, cx
movzx eax, ax
test ecx, ecx
je 0x40968e
add eax, ecx
sar eax, 1
push 0x5f1e
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4096a3
sub eax, esi
lea edi, [ebx - 1]
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4096b0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x4096d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4096d0
sub eax, esi
push 0
lea edx, [ebx + eax]
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
add eax, dword [ebp + 0x14]
push 9
push 0xa
push edx
push eax
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4096f8
mov dx, word [0x5c0584]
mov word [edi], dx
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409710
mov ax, word [0x5c05a8]
push 0x5f34
mov word [edi], ax
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409730
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409740
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test byte [ebp - 0x214], 0x40
je 0x4098a6
cmp byte [ebx], 0
je 0x409782
lea edi, [ebx - 1]
jmp 0x409770
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409770
mov cx, word [0x5c05a8]
mov word [edi], cx
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [edx + 0x76]
add eax, dword [ebp + 0x14]
push 0x5dd9
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4097a3
sub eax, esi
lea edi, [ebx - 1]
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4097b0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x4097d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4097d0
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4097f7
mov dx, word [0x5c0584]
mov word [edi], dx
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409810
mov ax, word [0x5c05a8]
push 0x5f25
mov word [edi], ax
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409830
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409840
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409860
mov cx, word [0x5c05a8]
push 0x5f34
mov word [edi], cx
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409881
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409890
mov ecx, eax
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 [ebp - reloc.MSVCRT.dll_strncpy]
test ecx, ecx
je 0x40992d
cmp byte [ebx], 0
je 0x4098d2
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4098c0
mov dx, word [0x5c05a8]
mov word [edi], dx
add ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
lea eax, reloc.MSVCRT.dll_strncpy
push eax
push 1
push 0x3e8
push ecx
call fcn.004a34b0
fstp qword [esp + 4]
add esp, 4
call fcn.004a3510
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409902
sub eax, edx
lea esi, [ebx + eax]
lea eax, reloc.MSVCRT.dll_strncpy
push eax
push 0x5e8b
call fcn.00531d80
add esp, 4
push eax
push esi
call dword [fcn.005c02cc]
add esp, 0xc
test byte [ebp - 0x214], 0x3f
je 0x409bbd
cmp byte [ebx], 0
je 0x409954
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409942
mov cx, word [0x5c05a8]
mov word [edi], cx
xor esi, esi
mov eax, ebx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], esi
mov dword [ebp - reloc.MSVCRT.dll_strncpy], esi
lea edx, [eax + 1]
cmp dword [ebp + 0x10], esi
jne 0x4099a2
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409970
sub eax, edx
push 0x5df7
mov edi, eax
call fcn.00531d80
add esp, 4
push eax
push 0x5f54
call fcn.00531d80
add esp, 4
push eax
push 0x5c05c4
lea edx, [ebx + edi]
push edx
jmp 0x4099c1
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4099a2
sub eax, edx
push 0x5df7
mov edi, eax
call fcn.00531d80
push eax
push 0x5c05cc
lea eax, [ebx + edi]
push eax
call dword [fcn.005c02cc]
add esp, 0x10
test byte [ebp - 0x214], 1
je 0x409a0b
push ebx
push 0x5df1
push 0
call fcn.00408220
mov edi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov ecx, dword [edi + 0xa6]
mov esi, eax
movzx eax, word [edi + 0xaa]
lea eax, [eax + eax*4]
add esp, 0xc
add eax, eax
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
jmp 0x409a11
mov edi, dword [ebp - reloc.MSVCRT.dll_strncpy]
test byte [ebp - 0x214], 2
je 0x409a37
push ebx
push 0x5df2
push esi
call fcn.00408220
mov edx, dword [edi + 0x82]
add esp, 0xc
mov esi, eax
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
test byte [ebp - 0x214], 4
je 0x409a5d
push ebx
push 0x5df3
push esi
call fcn.00408220
mov esi, eax
mov eax, dword [edi + 0x9a]
add esp, 0xc
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
test byte [ebp - 0x214], 8
je 0x409a83
push ebx
push 0x5df4
push esi
call fcn.00408220
mov ecx, dword [edi + 0xb2]
add esp, 0xc
mov esi, eax
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
test byte [ebp - 0x214], 0x10
je 0x409aa9
push ebx
push 0x5df5
push esi
call fcn.00408220
mov edx, dword [edi + 0x8a]
add esp, 0xc
mov esi, eax
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
test byte [ebp - 0x214], 0x20
je 0x409acd
push ebx
push 0x5df6
push esi
call fcn.00408220
mov eax, dword [edi + 0x92]
add esp, 0xc
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
cmp dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x409b2f
cmp byte [ebx], 0
je 0x409af4
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409ae2
mov cx, word [0x5c05a8]
mov word [edi], cx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409b00
sub eax, edx
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push edx
push 5
push 0x5e91
mov esi, eax
call fcn.00531d80
add esp, 4
push eax
lea eax, [ebx + esi]
push eax
call dword [fcn.005c02cc]
add esp, 0x10
cmp dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x409bbd
cmp byte [ebx], 0
je 0x409b56
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409b44
mov cx, word [0x5c05a8]
mov word [edi], cx
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push 1
push 0x3e8
push ecx
call fcn.004a34b0
fstp qword [esp + 4]
add esp, 4
call fcn.004a3510
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409b90
sub eax, edx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push 0x5e8b
mov esi, eax
call fcn.00531d80
add esp, 4
push eax
lea eax, [ebx + esi]
push eax
call dword [fcn.005c02cc]
add esp, 0xc
mov esi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + 8]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
test eax, eax
je 0x40a3b2
cmp byte [ebx], 0
je 0x409bf2
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409be0
mov cx, word [0x5c05a8]
mov word [edi], cx
cmp dword [ebp + 0x10], 1
lea eax, [ebx - 1]
je 0x409c20
jmp 0x409c00
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x409c00
mov dx, word [0x5c05f0]
mov word [eax], dx
mov cl, byte [0x5c05f2]
jmp 0x409c38
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x409c20
mov dx, word [0x5c05ec]
mov word [eax], dx
mov cl, byte [0x5c05ee]
mov byte [eax + 2], cl
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409c40
sub eax, edx
add ebx, eax
lea edx, reloc.MSVCRT.dll_strncpy
push edx
mov edx, dword [ebp + 0x1c]
lea eax, reloc.MSVCRT.dll_strncpy
push eax
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push edx
push eax
call fcn.005352c0
add esp, 0x14
cmp dword [ebp + 0x10], 0
jne 0x409c8e
test dword [ebp - reloc.MSVCRT.dll_strncpy], 0x7fff
je 0x40a3b2
jmp 0x409d91
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
xor eax, eax
xor edi, edi
test ecx, ecx
jns 0x409cd4
mov edi, dword [ebp - reloc.MSVCRT.dll_strncpy]
add edi, dword [esi + 0xc2]
mov ecx, dword [esi + 0xbe]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov eax, ebx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409cc5
push edi
push 0x5295
jmp 0x409d1d
test ecx, 0x20000000
je 0x409d44
mov edi, dword [ebp - reloc.MSVCRT.dll_strncpy]
mov edx, dword [esi + 0xc6]
add edi, dword [esi + 0xca]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov eax, ebx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409d10
push edi
push 0x5296
sub eax, edx
lea esi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
push esi
call dword [fcn.005c02cc]
add esp, 0xc
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
jmp 0x40a249
test ecx, 0x10000000
je 0x409d66
push ebx
push 0x5297
push 0
call fcn.00408220
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add esp, 0xc
mov edi, eax
xor eax, eax
test ecx, 0x7fff
je 0x40a0fe
cmp byte [ebx], 0
je 0x409d91
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x409d80
mov ax, word [0x5c05a8]
mov word [edi], ax
cmp dword [ebp + 0x10], 0
mov eax, ebx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
lea edx, [eax + 1]
jne 0x409dd5
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409da6
sub eax, edx
push 0x5df7
lea edi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
push 0x5f54
call fcn.00531d80
add esp, 4
push eax
push 0x5c05c4
jmp 0x409df1
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409dd5
sub eax, edx
push 0x5df7
lea edi, [ebx + eax]
call fcn.00531d80
push eax
push 0x5c05cc
push edi
call dword [fcn.005c02cc]
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
add esp, 0x10
test al, 1
je 0x409e31
mov ecx, dword [esi + 0xe2]
mov edx, dword [esi + 0xde]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
mov edi, 0x5277
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
jmp 0x40a1be
test al, 2
je 0x409e61
mov eax, dword [esi + 0xea]
mov ecx, dword [esi + 0xe6]
add dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov edi, 0x5279
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
jmp 0x40a1be
test al, 4
je 0x409e91
mov edx, dword [esi + 0xf2]
mov eax, dword [esi + 0xee]
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x527b
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
jmp 0x40a1be
test al, 8
je 0x409ec3
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x527d
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test al, 0x10
je 0x409ef5
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x527f
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test al, 0x20
je 0x409f27
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x5281
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test al, 0x40
je 0x409f59
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x5283
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test al, al
jns 0x409f8b
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x5285
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test eax, 0x100
je 0x409fc0
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x5287
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test eax, 0x200
je 0x409ff5
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x5289
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test eax, 0x400
je 0x40a02a
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x528b
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test eax, 0x800
je 0x40a05f
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x528d
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test eax, 0x1000
je 0x40a094
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
add dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov edi, 0x528f
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
jmp 0x40a1be
test eax, 0x2000
je 0x40a0c7
mov ecx, dword [esi + 0xfa]
mov edx, dword [esi + 0xf6]
add dword [ebp - reloc.MSVCRT.dll_strncpy], edx
mov edi, 0x5291
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
jmp 0x40a1be
test eax, 0x4000
je 0x40a249
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + 0xfe]
add dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov edi, 0x5293
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
jmp 0x40a1be
test ecx, 0x2000000
je 0x40a150
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add ecx, dword [esi + 0xd2]
mov edx, dword [esi + 0xce]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov eax, ebx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40a130
push ecx
sub eax, esi
push 0x4c4d33
mov esi, eax
call fcn.00531d80
add esp, 4
push eax
lea eax, [ebx + esi]
push eax
jmp 0x40a1a3
test ecx, 0x1000000
je 0x40a3b2
mov ecx, dword [esi + 0xd6]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
add ecx, dword [esi + 0xda]
mov dword [ebp - reloc.MSVCRT.dll_strncpy], eax
mov eax, ebx
mov dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40a185
push ecx
sub eax, esi
push 0x4c4d32
mov esi, eax
call fcn.00531d80
add esp, 4
push eax
lea edx, [ebx + esi]
push edx
call dword [fcn.005c02cc]
add esp, 0xc
mov dword [ebp - reloc.MSVCRT.dll_strncpy], 0
test edi, edi
je 0x40a249
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a1c3
sub eax, edx
lea esi, [ebx + eax]
lea eax, [edi + 1]
push eax
call fcn.00531d80
add esp, 4
push eax
push edi
call fcn.00531d80
add esp, 4
push eax
push 0x5c05bc
push esi
call dword [fcn.005c02cc]
mov esi, dword [ebp - reloc.MSVCRT.dll_strncpy]
add esp, 0x10
test esi, esi
je 0x40a235
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a204
push 0
push 9
sub eax, edx
push 0xa
lea ecx, [ebx + eax]
push ecx
push esi
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a223
mov dx, word [0x5c0584]
mov word [edi], dx
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a238
mov ax, word [0x5c05b8]
mov word [edi], ax
cmp dword [ebp - reloc.MSVCRT.dll_strncpy], 0
je 0x40a326
cmp byte [ebx], 0
je 0x40a272
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a260
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5df7
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a281
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a290
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0x5ddf
mov dword [ebp - reloc.MSVCRT.dll_strncpy], edx
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2c1
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a2d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x40a2f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2f0
mov ecx, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
push 9
sub eax, esi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a314
mov dx, word [0x5c0584]
mov word [edi], dx
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
test eax, eax
je 0x40a3b2
cmp byte [ebx], 0
je 0x40a357
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a340
mov ax, word [0x5c05a8]
mov word [edi], ax
mov eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
add eax, dword [ebp - reloc.MSVCRT.dll_strncpy]
push 0
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push 1
push 0x3e8
push eax
call fcn.004a34b0
fstp qword [esp + 4]
add esp, 4
call fcn.004a3510
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a387
sub eax, edx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push 0x5e8b
lea esi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
push esi
call dword [fcn.005c02cc]
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0059ea5e
mov esp, ebp
pop ebp
ret