Function at 0x404770
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45054e
mov eax, dword fs:[0]
push eax
sub esp, 0x578
mov eax, dword [0x46d190]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x578], edx
mov dword [ebp - 0x55c], ecx
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x550], 0
movups xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0xf
mov byte [ebp - 0x1ac], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x17c]
push 0x10
push str.0123456789ABCDEF
movups xmmword [ebp - 0x17c], xmm0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0
call fcn.00409f10
push 0x104
lea eax, [ebp - 0x11b]
mov byte [ebp - 4], 1
push 0
push eax
mov byte [ebp - 0x11c], 0
call fcn.00429ae0
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x564], 0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x560], 0
movups xmmword [ebp - 0x574], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404873
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x574]
call fcn.00409f10
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x560]
mov eax, edx
mov ecx, dword [ebp - 0x564]
sub eax, ecx
push 0xb
push str.LICENSE.txt
cmp eax, 0xb
jb 0x4048df
cmp edx, 0x10
lea esi, [ebp - 0x574]
lea eax, [ecx + 0xb]
cmovae esi, dword [ebp - 0x574]
add esi, ecx
mov dword [ebp - 0x564], eax
push esi
call fcn.00429560
add esp, 0xc
mov byte [esi + 0xb], 0
lea eax, [ebp - 0x574]
jmp 0x4048f9
mov byte [ebp - 0x550], 0
lea ecx, [ebp - 0x574]
push dword [ebp - 0x550]
push 0xb
call fcn.0040a260
mov dword [ebp - 0x154], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x164], xmm0
mov dword [ebp - 0x150], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x164], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x154], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x560]
cmp ecx, 0x10
jb 0x40497d
mov edx, dword [ebp - 0x574]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404973
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b22
push ecx
push edx
call fcn.00427deb
add esp, 8
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x564], 0
push str.C:WindowsTemp_
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x560], 0xf
mov byte [ebp - 0x574], 0
movups xmmword [ebp - 0x194], xmm0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
call fcn.00409f10
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x180]
mov eax, edx
mov ecx, dword [ebp - 0x184]
sub eax, ecx
push 0xb
push str.LICENSE.txt
cmp eax, 0xb
jb 0x404a18
cmp edx, 0x10
lea esi, [ebp - 0x194]
lea eax, [ecx + 0xb]
cmovae esi, dword [ebp - 0x194]
add esi, ecx
mov dword [ebp - 0x184], eax
push esi
call fcn.00429560
add esp, 0xc
mov byte [esi + 0xb], 0
lea eax, [ebp - 0x194]
jmp 0x404a32
mov byte [ebp - 0x550], 0
lea ecx, [ebp - 0x194]
push dword [ebp - 0x550]
push 0xb
call fcn.0040a260
mov dword [ebp - 0x13c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x138], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x14c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x13c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x180]
cmp ecx, 0x10
jb 0x404ab6
mov edx, dword [ebp - 0x194]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404aac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b27
push ecx
push edx
call fcn.00427deb
add esp, 8
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x184], 0
push str.LICENSE.txt
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x180], 0xf
mov byte [ebp - 0x194], 0
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
call fcn.00409f10
push 0xb8
lea eax, [ebp - 0x2a8]
push 0
push eax
call fcn.00429ae0
add esp, 0xc
mov dword [ebp - 0x2a8], 0x465450
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x298]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x550], 7
push eax
lea ecx, [ebp - 0x238]
mov dword [ebp - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x23c], 0x58
movlpd qword [ebp - 0x2a0], xmm0
call fcn.004094f0
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x2a8]
push 8
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x2ac], eax
mov dword [ebp - method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.00427ca6
mov esi, eax
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov byte [ebp - 4], 0xc
call fcn.00427067
add esp, 8
mov dword [esi + 4], eax
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x264], esi
call fcn.00409490
lea eax, [ebp - 0x294]
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x290]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x284]
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x280]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x274]
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x270]
mov byte [ebp - 0x250], 0
mov byte [ebp - 0x25b], 0
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x24c], 0
mov eax, dword [0x471a40]
mov ecx, dword [0x471a44]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], ecx
mov dword [ebp - 0x260], 0
mov byte [ebp - 4], 0xd
lea esi, [ebp - 0x164]
nop word [eax + eax]
push esi
lea ecx, [ebp - 0x194]
call fcn.004080c0
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x194]
cmp dword [ebp - 0x180], 0x10
lea ecx, [ebp - 0x298]
push 0x40
cmovae eax, dword [ebp - 0x194]
push 1
push eax
call fcn.004092c0
test eax, eax
lea ecx, [ebp - 0x2a8]
mov eax, dword [ebp - 0x2a8]
je 0x404d2c
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
mov byte [ebp - 0x550], dl
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x404d48
add ecx, dword [eax + 4]
xor eax, eax
mov byte [ebp - 0x550], 0
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push dword [ebp - 0x550]
push eax
call fcn.00404050
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x24c], 0
mov ecx, dword [ebp - 0x180]
jne 0x404dae
cmp ecx, 0x10
jb 0x404d9b
mov edx, dword [ebp - 0x194]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404d91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b2c
push ecx
push edx
call fcn.00427deb
add esp, 8
add esi, 0x18
lea eax, [ebp - 0x11c]
cmp esi, eax
jne 0x404cd0
jmp 0x404de2
cmp ecx, 0x10
jb 0x404de2
mov edx, dword [ebp - 0x194]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404dd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b2c
push ecx
push edx
call fcn.00427deb
add esp, 8
cmp dword [ebp - 0x24c], 0
jne 0x404f16
mov eax, dword [ebp - 0x2a8]
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x2ac], eax
lea ecx, [ebp - 0x298]
call fcn.00407110
mov eax, dword [ebp - 0x2a8]
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x2ac], eax
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x238]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.004272fe
add esp, 4
mov byte [ebp - 4], 1
lea eax, [ebp - 0x164]
push fcn.00408030
push 3
push 0x18
push eax
call fcn.00427cd6
mov ecx, dword [ebp - 0x168]
cmp ecx, 0x10
jb 0x404eb8
mov edx, dword [ebp - 0x17c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404eae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b31
push ecx
push edx
call fcn.00427deb
add esp, 8
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0xf
mov byte [ebp - 0x17c], 0
cmp ecx, 0x10
jb 0x405b04
mov edx, dword [ebp - 0x1ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404f07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b31
push ecx
push edx
call fcn.00427deb
add esp, 8
jmp 0x405b04
push 0x60
lea eax, [ebp - 0x374]
mov byte [ebp - 4], 0x10
push 0
push eax
call fcn.00429ae0
push 0x40
call fcn.00427ca6
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x558], edi
push 0x40
push 0
push edi
mov byte [ebp - 4], 0x11
call fcn.00429ae0
push 0x14
call fcn.00427ca6
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x550], esi
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movups xmmword [esi], xmm0
push 0
mov ecx, esi
mov dword [esi + 0x10], 0
call fcn.0040b1d0
lea eax, [ebp - 0x1ac]
mov dword [esi], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov dword [esi + 4], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.0
mov dword [esi + 0x10], eax
mov byte [ebp - 4], 0x11
call fcn.00411330
push esi
push 4
push eax
mov ecx, edi
call fcn.00403870
push edi
push ecx
lea eax, [ebp - 0x2a8]
mov dword [edi], vtable.CryptoPP::HexDecoder.0
push eax
lea ecx, [ebp - 0x374]
mov dword [edi + 4], vtable.CryptoPP::HexDecoder.1.0
mov byte [ebp - 4], 0x10
call fcn.00404250
mov ecx, dword [ebp - 0x328]
mov dword [ebp - method.CryptoPP::SourceTemplate_class_CryptoPP::FileStore_.virtual_0], vtable.CryptoPP::SourceTemplate_class_CryptoPP::FileStore_.0
mov dword [ebp - method.CryptoPP::FileSource.virtual_0], vtable.CryptoPP::SourceTemplate_class_CryptoPP::FileStore_.1.0
test ecx, ecx
je 0x404fee
mov eax, dword [ecx]
push 1
add ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp - method.CryptoPP::FilterPutSpaceHelper.virtual_0], vtable.CryptoPP::FilterPutSpaceHelper.0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x338]
cmp eax, ecx
mov edx, dword [ebp - 0x330]
cmovb ecx, eax
test edx, edx
je 0x405026
mov edi, edx
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00412ef0
add esp, 4
mov ecx, dword [ebp - 0x364]
test ecx, ecx
je 0x405036
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x298]
mov dword [ebp - 4], 0xd
call fcn.00408f40
test eax, eax
jne 0x405075
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x2a8]
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.00404050
mov eax, dword [ebp - 0x19c]
cmp eax, 0x10
je 0x4050ec
cmp eax, 0x18
je 0x4050ec
cmp eax, 0x20
je 0x4050ec
mov eax, dword [ebp - 0x2a8]
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x2ac], eax
lea ecx, [ebp - 0x298]
call fcn.00407110
mov eax, dword [ebp - 0x2a8]
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x2ac], eax
mov byte [ebp - 4], 0x15
jmp 0x404e4c
push dword [ebp - 0x578]
xorps xmm0, xmm0
mov dword [ebp - 0x1cc], 0
push dword [ebp - 0x55c]
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 0x1c8], 0
movups xmmword [ebp - 0x1dc], xmm0
call fcn.00409f10
push 0x40
lea eax, [ebp - 0x3b4]
mov byte [ebp - 4], 0x16
push 0
push eax
call fcn.00429ae0
add esp, 4
lea eax, [ebp - 0x1dc]
lea ecx, [ebp - 0x3b4]
push eax
call fcn.00403300
xorps xmm0, xmm0
mov dword [ebp - 0x1b4], 0
movups xmmword [ebp - 0x1c4], xmm0
mov dword [ebp - 0x1b0], 0xf
mov byte [ebp - 0x1c4], 0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1f0]
push 0
movups xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x1e0], 0
call fcn.0040b1d0
lea eax, [ebp - 0x1c4]
mov dword [ebp - method.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.virtual_0], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov dword [ebp - method.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.virtual_0], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.0
mov dword [ebp - 0x1e0], eax
push 0x6c
lea eax, [ebp - 0x314]
mov byte [ebp - 4], 0x1a
push 0
push eax
call fcn.00429ae0
add esp, 0xc
lea eax, [ebp - 0x2d8]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x558], eax
push 1
call fcn.0040b1d0
mov dword [ebp - 0x2c4], 0x3fffffff
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b4], 0xffffffff
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - method.CryptoPP::BlockCipherFinal_1__class_CryptoPP::Rijndael::Dec_.virtual_0], vtable.CryptoPP::BlockCipherFinal_1__class_CryptoPP::Rijndael::Dec_.0
mov dword [ebp - method.CryptoPP::BlockCipherFinal_1__class_CryptoPP::Rijndael::Dec_.1.virtual_0], vtable.CryptoPP::BlockCipherFinal_1__class_CryptoPP::Rijndael::Dec_.1.0
push 1
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x1d
call fcn.0040b1d0
mov dword [ebp - 0x304], 0xffffffff
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f4], 0xffffffff
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x2e4], 0xffffffff
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x314], 0x4651f8
mov dword [ebp - 0x310], 0x465240
mov dword [ebp - 0x30c], eax
lea ecx, [ebp - 0x314]
call fcn.0040f0e0
mov byte [ebp - 4], 0x21
lea esi, [ebp - 0x17c]
cmp dword [ebp - 0x168], 0x10
lea edi, [ebp - 0x1ac]
mov eax, dword [ebp - 0x19c]
cmovae esi, dword [ebp - 0x17c]
cmp dword [ebp - 0x198], 0x10
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x314]
cmovae edi, dword [ebp - 0x1ac]
mov eax, dword [eax + 0x20]
cmp eax, 0x403590
jne 0x40531b
mov eax, dword [ebp - 0x300]
jmp 0x405323
lea ecx, [ebp - 0x314]
call eax
push eax
push esi
push dword [ebp - 0x55c]
lea ecx, [ebp - 0x314]
push edi
call fcn.0040c7b0
push 0x7c
lea eax, [ebp - 0x430]
push 0
push eax
call fcn.00429ae0
add esp, 0xc
lea eax, [ebp - 0x310]
lea ecx, [ebp - 0x430]
push 5
push 0
push eax
call fcn.0040d510
push 0x11c
lea eax, [ebp - 0x54c]
mov byte [ebp - 4], 0x22
push 0
push eax
call fcn.00429ae0
add esp, 0xc
lea ecx, [ebp - 0x54c]
push 0xffffffffffffffff
push 0
push 0
call fcn.00420420
push 0x40
lea eax, [ebp - 0x354]
mov byte [ebp - 4], 0x23
push 0
push eax
call fcn.00429ae0
add esp, 0xc
call fcn.00420110
push 0
push 5
push eax
lea ecx, [ebp - 0x354]
call fcn.00403870
mov dword [ebp - method.CryptoPP::BaseN_Decoder.virtual_0], 0x46538c
mov dword [ebp - method.CryptoPP::BaseN_Decoder.1.virtual_0], 0x4651b0
push 0x18
mov byte [ebp - 4], 0x24
call fcn.00427ca6
mov esi, eax
add esp, 4
mov dword [ebp - 0x558], esi
xorps xmm0, xmm0
mov byte [ebp - 4], 0x25
movups xmmword [esi], xmm0
push 0
mov ecx, esi
movq qword [esi + 0x10], xmm0
call fcn.0040b1d0
lea eax, [ebp - 0x354]
mov dword [esi], vtable.CryptoPP::Redirector.0
push esi
lea ecx, [ebp - 0x3b4]
mov dword [esi + 4], vtable.CryptoPP::Redirector.1.0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 3
mov byte [ebp - 4], 0x24
call fcn.0040bc70
push 0x18
call fcn.00427ca6
mov esi, eax
add esp, 4
mov dword [ebp - 0x558], esi
xorps xmm0, xmm0
mov byte [ebp - 4], 0x26
movups xmmword [esi], xmm0
movq qword [esi + 0x10], xmm0
push 0
mov ecx, esi
call fcn.0040b1d0
lea eax, [ebp - 0x430]
mov dword [esi], vtable.CryptoPP::Redirector.0
push esi
lea ecx, [ebp - 0x354]
mov dword [esi + 4], vtable.CryptoPP::Redirector.1.0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 3
mov byte [ebp - 4], 0x24
call fcn.0040bc70
push 0x18
call fcn.00427ca6
mov esi, eax
add esp, 4
mov dword [ebp - 0x558], esi
xorps xmm0, xmm0
mov byte [ebp - 4], 0x27
movups xmmword [esi], xmm0
push 0
mov ecx, esi
movq qword [esi + 0x10], xmm0
call fcn.0040b1d0
lea eax, [ebp - 0x54c]
mov dword [esi], vtable.CryptoPP::Redirector.0
push esi
lea ecx, [ebp - 0x430]
mov dword [esi + 4], vtable.CryptoPP::Redirector.1.0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 3
mov byte [ebp - 4], 0x24
call fcn.0040bc70
push 0x18
call fcn.00427ca6
mov esi, eax
add esp, 4
mov dword [ebp - 0x558], esi
xorps xmm0, xmm0
mov byte [ebp - 4], 0x28
movups xmmword [esi], xmm0
push 0
mov ecx, esi
movq qword [esi + 0x10], xmm0
call fcn.0040b1d0
lea eax, [ebp - 0x1f0]
mov dword [esi], vtable.CryptoPP::Redirector.0
push esi
lea ecx, [ebp - 0x54c]
mov dword [esi + 4], vtable.CryptoPP::Redirector.1.0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 3
mov byte [ebp - 4], 0x24
call fcn.0040bc70
mov eax, dword [ebp - 0x3b4]
lea ecx, [ebp - 0x3b4]
push 1
call dword [eax + 0xc8]
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x320]
cmp eax, ecx
mov edx, dword [ebp - 0x318]
cmovb ecx, eax
test edx, edx
je 0x40556d
mov edi, edx
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00412ef0
add esp, 4
mov ecx, dword [ebp - 0x344]
test ecx, ecx
je 0x40557d
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x54c]
call fcn.00405c70
lea ecx, [ebp - 0x430]
call fcn.00402eb0
lea ecx, [ebp - 0x314]
call fcn.00403700
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b4]
cmp eax, ecx
mov edx, dword [ebp - 0x2ac]
cmovb ecx, eax
test edx, edx
je 0x4055cc
mov edi, edx
xor al, al
rep stosb byte es:[edi], al
push edx
call fcn.00412ef0
add esp, 4
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x2c0]
cmp dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x2bc]
cmovb ecx, dword [ebp - 0x2c4]
test edx, edx
je 0x4055fc
mov edi, edx
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00412e70
add esp, 4
mov dword [ebp - 4], 0x19
mov edi, dword [ebp - 0x1b4]
push edi
call fcn.00438e04
mov ecx, eax
add esp, 4
mov dword [ebp - 0x55c], ecx
test ecx, ecx
jne 0x40582d
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - method.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.virtual_0], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov dword [ebp - method.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.virtual_0], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.0
cmp ecx, 0x10
jb 0x405674
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40566a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b31
push ecx
push edx
call fcn.00427deb
add esp, 8
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0xf
mov byte [ebp - 0x1c4], 0
mov dword [ebp - method.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.virtual_0], vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.0
mov dword [ebp - method.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.1.virtual_0], vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.1.0
test ecx, ecx
je 0x4056b3
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x1c8]
cmp ecx, 0x10
jb 0x4056f1
mov edx, dword [ebp - 0x1dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4056e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b31
push ecx
push edx
call fcn.00427deb
add esp, 8
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0xf
mov byte [ebp - 0x1dc], 0
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x2ac], eax
lea ecx, [ebp - 0x298]
call fcn.00407110
mov eax, dword [ebp - 0x2a8]
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x2ac], eax
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x2d
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004272fe
add esp, 4
mov byte [ebp - 4], 1
lea eax, [ebp - 0x164]
push fcn.00408030
push 3
push 0x18
push eax
call fcn.00427cd6
mov ecx, dword [ebp - 0x168]
cmp ecx, 0x10
jb 0x4057d5
mov edx, dword [ebp - 0x17c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4057cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b31
push ecx
push edx
call fcn.00427deb
add esp, 8
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0xf
mov byte [ebp - 0x17c], 0
cmp ecx, 0x10
jb 0x405b04
mov edx, dword [ebp - 0x1ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404f07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b31
jmp 0x404f07
cmp dword [ebp - 0x1b0], 0x10
lea eax, [ebp - 0x1c4]
mov esi, dword [ebp - 0x1c4]
cmovae eax, esi
setae byte [ebp - 0x551]
push edi
push eax
push ecx
call fcn.00429560
mov eax, dword [ebp - 0x57c]
add esp, 0xc
cmp byte [ebp - 0x551], 0
mov dword [ebp - method.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.virtual_0], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov dword [ebp - method.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.virtual_0], vtable.CryptoPP::StringSinkTemplate_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.1.0
mov dword [eax], edi
mov byte [ebp - 4], 0x17
je 0x4058ad
mov ecx, dword [ebp - 0x1b0]
mov eax, esi
inc ecx
cmp ecx, 0x1000
jb 0x4058a3
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b36
push ecx
push esi
call fcn.00427deb
add esp, 8
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0xf
mov byte [ebp - 0x1c4], 0
mov dword [ebp - method.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.virtual_0], vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.0
mov dword [ebp - method.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.1.virtual_0], vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.1.0
test ecx, ecx
je 0x4058ec
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x1c8]
cmp ecx, 0x10
jb 0x40592a
mov edx, dword [ebp - 0x1dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405920
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b36
push ecx
push edx
call fcn.00427deb
add esp, 8
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0xf
mov byte [ebp - 0x1dc], 0
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x2ac], eax
lea ecx, [ebp - 0x298]
call fcn.00407110
mov eax, dword [ebp - 0x2a8]
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 - 0x2a8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x2ac], eax
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x2e
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004272fe
add esp, 4
mov byte [ebp - 4], 1
lea eax, [ebp - 0x164]
push fcn.00408030
push 3
push 0x18
push eax
call fcn.00427cd6
mov ecx, dword [ebp - 0x168]
cmp ecx, 0x10
jb 0x405a0e
mov edx, dword [ebp - 0x17c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405a04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b36
push ecx
push edx
call fcn.00427deb
add esp, 8
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0xf
mov byte [ebp - 0x17c], 0
cmp ecx, 0x10
jb 0x405a63
mov edx, dword [ebp - 0x1ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405a59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405b36
push ecx
push edx
call fcn.00427deb
add esp, 8
mov eax, dword [ebp - 0x55c]
jmp 0x405b06
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00427c87
mov esp, ebp
pop ebp
ret
call fcn.00437f7d
call fcn.00437f7d
call fcn.00437f7d
call fcn.00437f7d
call fcn.00437f7d
int3