Function at 0x42f480
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
call fcn.00485710
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [ebp - 0x10], esi
mov dword [esi + 0xc], eax
lea edi, [ebp + 8]
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov ebx, ecx
sub ebx, esi
mov eax, ecx
sub eax, esi
je 0x42f5b7
mov dword [ebp - 0x14], ecx
js 0x42f667
sar ebx, 4
push eax
call fcn.004e82a5
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], edi
mov dword [eax + 8], edi
shl ebx, 4
add ebx, edi
mov dword [eax + 0xc], ebx
xor ebx, ebx
mov ecx, edi
add ecx, ebx
je 0x42f636
lea eax, [esi + ebx]
push eax
call fcn.004377d0
lea eax, [esi + ebx]
add eax, 0x10
add ebx, 0x10
cmp eax, dword [ebp - 0x14]
jne 0x42f4de
add edi, ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 8], edi
lea edi, [ebp + 8]
mov ecx, dword [edi]
mov eax, dword [edi + 4]
sub eax, ecx
cmp eax, 0x10
setne byte [ebx + 0x10]
mov eax, dword [edi + 4]
sub eax, dword [edi]
sar eax, 4
dec eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], 0
mov byte [ebx + 0x1c], 0
lea ecx, [ebx + 0x20]
call fcn.00485710
lea eax, [ebx + 0x24]
mov ecx, dword [edi + 0xc]
cmp byte [ecx + 0xb], 0
js 0x42f5c1
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov byte [ebx + 0x30], 1
mov al, byte [edi + 0x10]
mov byte [ebx + 0x31], al
mov al, byte [edi + 0x14]
mov byte [ebx + 0x32], al
xor eax, eax
push eax
push eax
push ebx
push 0x42f7d0
push eax
push eax
call fcn.004f7e1e
add esp, 0x18
mov esi, dword [edi]
test esi, esi
je 0x42f5ab
mov ecx, edi
mov edi, dword [edi + 4]
mov eax, esi
cmp edi, esi
je 0x42f59f
add edi, 0xfffffff0
je 0x42f628
mov ecx, edi
call fcn.00437790
cmp edi, esi
jne 0x42f586
lea ecx, [ebp + 8]
mov eax, dword [ecx]
mov dword [ecx + 4], esi
push eax
call fcn.004e82d5
add esp, 4
mov eax, ebx
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
mov eax, ecx
mov ebx, dword [ebp - 0x10]
jmp 0x42f50f
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
cmp ebx, 4
ja 0x42f5f8
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x2f], bl
cmp eax, edi
ja 0x42f5df
lea ecx, [eax + ebx*2]
add ecx, 2
cmp ecx, edi
ja 0x42f651
inc ebx
add ebx, ebx
push ebx
push edi
push eax
call fcn.004ebca0
add esp, 0xc
mov ebx, dword [ebp - 0x10]
lea edi, [ebp + 8]
jmp 0x42f551
cmp ebx, 0x7ffffff8
jae 0x42f677
mov esi, ebx
or esi, 3
inc esi
js 0x42f672
lea eax, [esi + esi]
push eax
call fcn.004e82a5
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x24], eax
or esi, 0x80000000
mov dword [ecx + 0x2c], esi
mov dword [ecx + 0x28], ebx
jmp 0x42f5d1
push str.null_pointer_given_to_destroy_at
push str.__loc___nullptr
push 0x44
jmp 0x42f642
push str.null_pointer_given_to_construct_at
push str.__location___nullptr
push 0x28
push str....._third_partylibc_srcinclude__memoryconstruct_at.h
push str._s:_d:_assertion__s_failed:__s_n
call fcn.00457520
push str.char_traits::copy_overlapped_range
push str.__s2_____s1____s2_____s1____n
push 0x13b
push str....._third_partylibc_srcinclude__stringchar_traits.h
jmp 0x42f647
mov ecx, dword [ebp - 0x10]
add ecx, 4
call fcn.004171a0
call fcn.00516400
mov ecx, eax
call fcn.004148d0
int3