Function at 0x41cfe0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41de09
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
mov eax, dword [0x428064]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 8], 2
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x48], 0
jge 0x41d035
call fcn.004044a0
push eax
call fcn.00404750
add esp, 4
mov eax, 1
jmp 0x41d74c
mov edx, dword [edx + 4]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x4c], 0xbfbbef
mov byte [ebp - 0x59], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d060
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.00404950
mov dword [ebp - 4], 0
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x50], edx
cmp eax, 4
jb 0x41d767
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
lea ecx, [edx + 4]
mov dword [ebp - 0x18], 0
cmovae eax, dword [ebp - 0x40]
lea edi, [ebp - 0x28]
mov esi, 0xf
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
mov dword [ebp - 0x48], ecx
movups xmmword [ebp - 0x28], xmm0
cmp ecx, esi
jbe 0x41d141
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x41d101
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
push ecx
call fcn.00405d29
add esp, 4
test eax, eax
je 0x41d771
mov ecx, dword [ebp - 0x48]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x50]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x41d13b
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x41d122
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x41d76c
jmp 0x41d0df
test eax, eax
je 0x41d139
push eax
call fcn.00405d29
mov ecx, dword [ebp - 0x48]
add esp, 4
mov edx, dword [ebp - 0x50]
mov edi, eax
jmp 0x41d13b
xor edi, edi
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x28], edi
push edx
push eax
push edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
call fcn.00406f70
mov eax, dword [ebp - 0x50]
mov dword [edi + eax], 0x706d745f
mov byte [edi + eax + 4], 0
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], 0x10
push ecx
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.0040aba0
add esp, 0x14
mov dword [ebp - 0x114], 0x424f34
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x104]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x48], 3
push eax
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0xa8], 0x58
movlpd qword [ebp - 0x10c], xmm0
call fcn.004041f0
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x118], eax
lea ecx, [ebp - 0x104]
call fcn.00403b20
mov byte [ebp - 4], 5
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
cmp dword [ebp - 0xb8], 0
jne 0x41d2c5
push 0x40
push 0x23
push eax
call fcn.00405589
add esp, 0xc
test eax, eax
je 0x41d2c5
push 1
push eax
lea ecx, [ebp - 0x104]
call fcn.00403960
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x54], esi
mov eax, dword [esi]
call dword [eax + 4]
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 6
push eax
call fcn.00404800
add esp, 4
lea ecx, [ebp - 0x104]
push eax
call fcn.00403800
mov byte [ebp - 4], 5
test esi, esi
je 0x41d2a7
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x41d2a7
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x114]
xor edx, edx
add ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x41d2e6
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x114]
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.00401bf0
sub esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x114]
push eax
call fcn.00402e90
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x5c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41d326
test dl, dl
je 0x41d322
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41d326
add eax, 2
add ecx, 2
test dl, dl
jne 0x41d306
xor eax, eax
jmp 0x41d32b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41d60a
sub esp, 0x18
lea ecx, [ebp - 0x114]
mov eax, esp
xorps xmm0, xmm0
mov dword [eax], 3
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
movq qword [eax + 0x10], xmm0
call fcn.00402d10
mov dword [ebp - 0x1c4], 0x424f2c
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1c0]
push 0
push eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x48], 0xb
mov dword [ebp - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x160], 0x60
call fcn.004041f0
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1c8], eax
lea ecx, [ebp - 0x1c0]
call fcn.00403b20
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
cmovae eax, dword [ebp - 0x40]
cmp dword [ebp - 0x174], 0
jne 0x41d4ab
push 0x40
push 0x22
push eax
call fcn.00405589
add esp, 0xc
test eax, eax
je 0x41d4ab
push 1
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00403960
mov eax, dword [ebp - 0x18c]
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x54], esi
mov eax, dword [esi]
call dword [eax + 4]
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xb
push eax
call fcn.00404800
add esp, 4
lea ecx, [ebp - 0x1c0]
push eax
call fcn.00403800
mov byte [ebp - 4], 0xa
test esi, esi
je 0x41d48d
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x41d48d
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c4]
xor edx, edx
add ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x41d4cc
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c4]
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.00401bf0
lea ecx, [ebp - 0x114]
call fcn.00403c60
cmp eax, 0xffffffff
je 0x41d4e7
mov byte [ebp - 0x41], al
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x108], 6
jne 0x41d50e
sub esp, 8
lea eax, [ebp - 0x41]
lea ecx, [ebp - 0x1c4]
push eax
call fcn.00402fd0
jmp 0x41d4d4
lea ecx, [ebp - 0x104]
call fcn.00403a40
test eax, eax
jne 0x41d546
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x114]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401bf0
lea ecx, [ebp - 0x1c0]
call fcn.00403a40
test eax, eax
jne 0x41d57e
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c4]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401bf0
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040a9f2
mov eax, dword [ebp - 0x1c4]
add esp, 4
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1c8], eax
lea ecx, [ebp - 0x1c0]
call fcn.004029a0
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x1c8], eax
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xc
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00405451
add esp, 4
jmp 0x41d662
lea ecx, [ebp - 0x104]
call fcn.00403a40
test eax, eax
jne 0x41d642
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x114]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401bf0
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 0x10
push ecx
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0040aba0
add esp, 8
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x118], eax
lea ecx, [ebp - 0x104]
call fcn.004029a0
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x118], eax
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - 0xa4], vtable.std::ios_base.0
call fcn.00405451
mov ecx, dword [ebp - 0x14]
add esp, 4
cmp ecx, 0x10
jb 0x41d708
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d6fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41d771
push ecx
push edx
call fcn.00405d59
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x41d74a
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d740
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41d771
push ecx
push edx
call fcn.00405d59
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00405b19
mov esp, ebp
pop ebp
ret
call fcn.00401240
call fcn.004011c0
call fcn.0040bbfc
int3