Function at 0x4054c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x46c40c
mov eax, dword fs:[0]
push eax
sub esp, 0x1f4
mov eax, dword [0x4905d8]
xor eax, esp
mov dword [esp + 0x1f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4905d8]
xor eax, esp
push eax
lea eax, [esp + 0x208]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x14], ebx
push 0x68f
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_algorithm
sub esp, 0xc
mov esi, esp
lea eax, [esp + 0x238]
mov dword [esp + 0x2c], esp
push eax
mov ecx, esi
mov dword [esp + 0x228], 2
mov dword [esi], ebx
mov dword [esi + 4], ebx
call fcn.004037b0
mov edi, dword [esp + 0x240]
mov dword [esi + 8], edi
sub esp, 0xc
mov esi, esp
lea ecx, [esp + 0x238]
mov dword [esp + 0x58], esp
push ecx
mov ecx, esi
mov byte [esp + 0x234], 3
mov dword [esi], ebx
mov dword [esi + 4], ebx
call fcn.004037b0
mov ebp, dword [esp + 0x240]
mov dword [esi + 8], ebp
mov byte [esp + 0x230], 2
call fcn.004049b0
add esp, 0x20
push 0x690
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_algorithm
sub esp, 0xc
mov esi, esp
lea edx, [esp + 0x244]
mov dword [esp + 0x2c], esp
push edx
mov ecx, esi
mov dword [esi], ebx
mov dword [esi + 4], ebx
call fcn.004037b0
mov eax, dword [esp + 0x24c]
mov dword [esi + 8], eax
sub esp, 0xc
mov esi, esp
lea ecx, [esp + 0x244]
mov dword [esp + 0x58], esp
push ecx
mov ecx, esi
mov byte [esp + 0x234], 4
mov dword [esi], ebx
mov dword [esi + 4], ebx
call fcn.004037b0
mov dword [esi + 8], edi
mov byte [esp + 0x230], 2
call fcn.004049b0
add esp, 0x20
lea edx, [esp + 0x218]
push edx
lea ecx, [esp + 0x228]
call fcn.004024d0
sub edi, ebp
mov eax, 0x57d990d1
imul edi
sar edx, 7
mov edi, edx
shr edi, 0x1f
lea eax, [esp + 0x218]
add edi, edx
push eax
lea ecx, [esp + 0x234]
mov dword [esp + 0x40], edi
call fcn.004024d0
mov ecx, dword [esp + 0x238]
sub ecx, ebp
mov eax, 0x57d990d1
imul ecx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp edi, ebx
mov dword [esp + 0x1c], esi
mov ecx, edi
je 0x405659
mov eax, dword [esp + 0x1c]
cdq
idiv ecx
mov dword [esp + 0x1c], ecx
cmp edx, ebx
mov ecx, edx
jne 0x405648
lea ecx, [esp + 0x218]
push ecx
lea ecx, [esp + 0x234]
call fcn.004024d0
cmp dword [esp + 0x1c], esi
mov ebp, dword [0x4751e8]
jge 0x405c29
cmp dword [esp + 0x1c], ebx
jle 0x405c29
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x220]
call fcn.00404610
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x214], 5
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
call fcn.004037b0
mov edx, dword [esp + 0x48]
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x40]
mov byte [esp + 0x210], 6
call fcn.00402220
mov esi, eax
mov ecx, 0x5d
lea edi, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x3c]
push edi
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x34]
call fcn.00404610
mov esi, eax
lea ecx, [esp + 0x230]
push ecx
mov ecx, esi
mov byte [esp + 0x214], 7
call fcn.004024d0
mov edx, dword [esp + 0x238]
cmp dword [esi + 8], edx
jne 0x405729
lea esi, [esp + 0x218]
jmp 0x405747
push edi
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x34]
call fcn.00404610
mov esi, eax
or dword [esp + 0x14], 1
mov byte [esp + 0x210], 8
push esi
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.004037b0
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
test byte [esp + 0x14], 1
mov dword [esp + 0x210], 0xa
je 0x405780
and dword [esp + 0x14], 0xfffffffe
lea ecx, [esp + 0x74]
call fcn.00402a70
push 3
lea ecx, [esp + 0x5c]
mov byte [esp + 0x214], 0xb
call dword [0x4751fc]
lea ecx, [esp + 0x80]
mov byte [esp + 0x210], 0xc
call fcn.00401410
lea ecx, [esp + 0x58]
mov byte [esp + 0x210], 0xb
call dword [0x4751f8]
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x4057c8
cmp eax, dword [esp + 0x40]
je 0x40581c
push 0xee
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.vector_iterators_incompatible
call ebp
push str.__Standard_C_Libraries_Invalid_Argument___0_
push ebx
push 0xef
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 2
call dword [0x4752e8]
add esp, 0x20
cmp eax, 1
jne 0x4057fa
int3
push ebx
push 0xef
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.std::_Vector_const_iterator_struct__REMOTEDATA_class_std::allocator_struct__REMOTEDATA___::_Compat
push str._invalid_argument_
call dword [0x4752ec]
mov eax, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x48]
je 0x405b63
cmp eax, ebx
je 0x405838
cmp ecx, dword [eax + 8]
jb 0x405838
cmp dword [eax + 0xc], ecx
ja 0x40587f
push 0x63
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.vector_iterator_not_dereferencable
call ebp
push str.__Standard_C_Libraries_Out_of_Range___0_
push ebx
push 0x64
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 2
call dword [0x4752e8]
add esp, 0x20
cmp eax, 1
jne 0x405864
int3
push ebx
push 0x64
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 0x475c40
push str._out_of_range_
call dword [0x4752ec]
add esp, 0x14
mov eax, dword [esp + 0x2c]
cmp eax, ebx
mov esi, dword [esp + 0x28]
je 0x405899
mov edi, dword [esp + 0x34]
cmp edi, dword [eax + 8]
jb 0x405899
cmp dword [eax + 0xc], edi
ja 0x4058e4
push 0x63
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.vector_iterator_not_dereferencable
call ebp
push str.__Standard_C_Libraries_Out_of_Range___0_
push ebx
push 0x64
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 2
call dword [0x4752e8]
add esp, 0x20
cmp eax, 1
jne 0x4058c5
int3
push ebx
push 0x64
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 0x475c40
push str._out_of_range_
call dword [0x4752ec]
mov edi, dword [esp + 0x48]
add esp, 0x14
mov ecx, 0x5d
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x30]
movsb byte es:[edi], byte [esi]
call fcn.004037b0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x230]
cmp eax, ebx
je 0x405913
cmp eax, dword [esp + 0x20]
je 0x405963
push 0xee
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.vector_iterators_incompatible
call ebp
push str.__Standard_C_Libraries_Invalid_Argument___0_
push ebx
push 0xef
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 2
call dword [0x4752e8]
add esp, 0x20
cmp eax, 1
jne 0x405945
int3
push ebx
push 0xef
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.std::_Vector_const_iterator_struct__REMOTEDATA_class_std::allocator_struct__REMOTEDATA___::_Compat
push str._invalid_argument_
call dword [0x4752ec]
add esp, 0x14
mov edi, dword [esp + 0x238]
mov esi, dword [esp + 0x3c]
mov ecx, edi
sub ecx, dword [esp + 0x28]
mov eax, 0x57d990d1
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jge 0x4059ac
push esi
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x28]
call fcn.00404610
mov esi, eax
or dword [esp + 0x14], 2
mov byte [esp + 0x210], 0xd
jmp 0x405a4a
mov eax, dword [esp + 0x230]
cmp eax, ebx
je 0x4059bd
cmp eax, dword [esp + 0x20]
je 0x405a0d
push 0xee
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.vector_iterators_incompatible
call ebp
push str.__Standard_C_Libraries_Invalid_Argument___0_
push ebx
push 0xef
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push 2
call dword [0x4752e8]
add esp, 0x20
cmp eax, 1
jne 0x4059ef
int3
push ebx
push 0xef
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCinclude_vector
push str.std::_Vector_const_iterator_struct__REMOTEDATA_class_std::allocator_struct__REMOTEDATA___::_Compat
push str._invalid_argument_
call dword [0x4752ec]
add esp, 0x14
mov ecx, edi
sub ecx, dword [esp + 0x28]
mov eax, 0x57d990d1
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
push esi
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x220]
call fcn.00404610
mov esi, eax
or dword [esp + 0x14], 4
mov dword [esp + 0x210], 0xe
push esi
lea ecx, [esp + 0x24]
call fcn.004037b0
test byte [esp + 0x14], 4
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x210], 0xd
je 0x405ae6
and dword [esp + 0x14], 0xfffffffb
push 3
lea ecx, [esp + 0x50]
call dword [0x4751fc]
mov esi, dword [esp + 0x5c]
cmp esi, ebx
mov dword [esp + 0x210], 0xf
je 0x405ad4
cmp dword [esi], 0xfffffffd
je 0x405ad4
cmp dword [esi], ebx
je 0x405ab6
lea ebx, [ebx]
mov eax, dword [esi]
lea edx, [esp + 0x5c]
cmp eax, edx
je 0x405ab2
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x405aa0
cmp dword [esi], ebx
jne 0x405aca
push 0xb2
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCincludexutility
push str.ITERATOR_LIST_CORRUPTED_
call ebp
add esp, 0xc
mov eax, dword [esp + 0x60]
mov dword [esi], eax
mov dword [esp + 0x5c], ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x210], 0xd
call dword [0x4751f8]
test byte [esp + 0x14], 2
mov dword [esp + 0x210], 0xb
je 0x4057ba
and dword [esp + 0x14], 0xfffffffd
push 3
lea ecx, [esp + 0x54]
call dword [0x4751fc]
mov esi, dword [esp + 0x68]
cmp esi, ebx
mov byte [esp + 0x210], 0x10
je 0x405b5a
cmp dword [esi], 0xfffffffd
je 0x405b5a
cmp dword [esi], ebx
je 0x405b3c
mov eax, dword [esi]
lea ecx, [esp + 0x68]
cmp eax, ecx
je 0x405b38
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x405b26
cmp dword [esi], ebx
jne 0x405b50
push 0xb2
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCincludexutility
push str.ITERATOR_LIST_CORRUPTED_
call ebp
add esp, 0xc
mov edx, dword [esp + 0x6c]
mov dword [esi], edx
mov dword [esp + 0x68], ebx
lea ecx, [esp + 0x50]
jmp 0x4057ac
lea ecx, [esp + 0x2c]
call fcn.00402220
mov edi, eax
mov ecx, 0x5d
lea esi, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [0x4751fc]
push 3
lea ecx, [esp + 0x58]
mov byte [esp + 0x214], 6
call esi
lea ecx, [esp + 0x20]
mov byte [esp + 0x210], 0x11
call fcn.00401410
mov edi, dword [0x4751f8]
lea ecx, [esp + 0x54]
mov byte [esp + 0x210], 6
call edi
push 3
lea ecx, [esp + 0x3c]
mov byte [esp + 0x214], 5
call esi
lea ecx, [esp + 0x2c]
mov byte [esp + 0x210], 0x12
call fcn.00401410
lea ecx, [esp + 0x38]
mov byte [esp + 0x210], 5
call edi
push 3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x214], 2
call esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x210], 0x13
call fcn.00401410
lea ecx, [esp + 0x18]
mov byte [esp + 0x210], 2
call edi
mov eax, dword [esp + 0x1c]
sub eax, 1
cmp eax, ebx
mov dword [esp + 0x1c], eax
jg 0x405687
push 3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x214], 1
call dword [0x4751fc]
mov esi, dword [esp + 0x218]
cmp esi, ebx
mov byte [esp + 0x210], 0x14
je 0x405c96
cmp dword [esi], 0xfffffffd
je 0x405c96
cmp dword [esi], ebx
je 0x405c79
lea esp, [esp]
mov eax, dword [esi]
lea ecx, [esp + 0x218]
cmp eax, ecx
je 0x405c75
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x405c60
cmp dword [esi], ebx
jne 0x405c8d
push 0xb2
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCincludexutility
push str.ITERATOR_LIST_CORRUPTED_
call ebp
add esp, 0xc
mov edx, dword [esp + 0x21c]
mov dword [esi], edx
mov edi, dword [0x4751f8]
lea ecx, [esp + 0x18]
mov byte [esp + 0x210], 1
call edi
push 3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x214], bl
call dword [0x4751fc]
mov esi, dword [esp + 0x224]
cmp esi, ebx
mov byte [esp + 0x210], 0x15
je 0x405d16
cmp dword [esi], 0xfffffffd
je 0x405d16
cmp dword [esi], ebx
je 0x405cf9
lea esp, [esp]
mov eax, dword [esi]
lea ecx, [esp + 0x224]
cmp eax, ecx
je 0x405cf5
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x405ce0
cmp dword [esi], ebx
jne 0x405d0d
push 0xb2
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCincludexutility
push str.ITERATOR_LIST_CORRUPTED_
call ebp
add esp, 0xc
mov edx, dword [esp + 0x228]
mov dword [esi], edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x210], bl
call edi
or edi, 0xffffffff
push 3
lea ecx, [esp + 0x1c]
mov dword [esp + 0x214], edi
call dword [0x4751fc]
mov esi, dword [esp + 0x230]
cmp esi, ebx
mov dword [esp + 0x210], 0x16
je 0x405d96
cmp dword [esi], 0xfffffffd
je 0x405d96
cmp dword [esi], ebx
je 0x405d79
jmp 0x405d60
mov eax, dword [esi]
lea ecx, [esp + 0x230]
cmp eax, ecx
je 0x405d75
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x405d60
cmp dword [esi], ebx
jne 0x405d8d
push 0xb2
push str.C:Program_FilesMicrosoft_Visual_Studio_8VCincludexutility
push str.ITERATOR_LIST_CORRUPTED_
call ebp
add esp, 0xc
mov edx, dword [esp + 0x234]
mov dword [esi], edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x210], edi
call dword [0x4751f8]
mov ecx, dword [esp + 0x208]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1f0]
xor ecx, esp
call fcn.00464f80
add esp, 0x200
ret