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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov dword [esp + 4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [0x10123014]
xor ecx, ebp
mov dword [esp + 0x108], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
movzx ecx, byte [eax + 0xb]
test cl, cl
jns 0x1005df2d
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea esi, [esp + 0xd8]
push 1
push 1
push 1
push 0x10113187
push ecx
push eax
push esi
call fcn.10085940
add esp, 0x1c
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x10], eax
cmp edi, eax
jne 0x1005e09d
test edi, edi
je 0x1005df78
mov dword [esp + 0xdc], edi
push edi
call fcn.100de098
add esp, 4
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
push 1
push 0x10113187
push eax
push ecx
push esi
call fcn.10082f50
add esp, 0x14
cmp byte [esp + 0x43], 0
jns 0x1005dfb6
push dword [esp + 0x38]
call fcn.100de098
add esp, 4
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x40], eax
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp + 0x38], xmm0
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
push 1
push 0x10113183
push eax
push ecx
push esi
call fcn.10082f50
add esp, 0x14
cmp byte [esp + 0x33], 0
jns 0x1005e00e
push dword [esp + 0x28]
call fcn.100de098
add esp, 4
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
push 1
push 0x10113187
push eax
push ecx
push esi
call fcn.10082f50
add esp, 0x14
cmp byte [esp + 0x23], 0
jns 0x1005e066
push dword [esp + 0x18]
call fcn.100de098
add esp, 4
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x20], eax
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp + 0x18], xmm0
jmp 0x1005e9ea
add edi, 8
cmp edi, dword [esp + 0x10]
je 0x1005eb8f
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0xd4]
push eax
push dword [edi + 4]
push dword [edi]
call fcn.1005eff0
add esp, 0x18
movzx ecx, byte [esp + 0xa3]
test al, al
je 0x1005e99d
test cl, cl
jns 0x1005e169
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], edi
test ecx, ecx
je 0x1005e5b6
movzx edx, byte [esp + 0xc3]
mov edi, edx
test dl, dl
jns 0x1005e18a
mov edi, dword [esp + 0xbc]
lea ebx, [edi + 1]
cmp ebx, 0x7ffffff0
jae 0x1005ec47
cmp ebx, 0xa
ja 0x1005e1d0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x83], bl
lea eax, [esp + 0x78]
jmp 0x1005e1fc
mov esi, ebx
or esi, 0xf
inc esi
push esi
mov dword [esp + 4], edx
call fcn.100de068
mov edx, dword [esp + 4]
add esp, 4
or esi, 0x80000000
mov dword [esp + 0x80], esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
lea ecx, [esp + 0xb8]
test dl, dl
jns 0x1005e20e
mov ecx, dword [esp + 0xb8]
lea esi, [eax + edi]
cmp ecx, eax
jb 0x1005e21d
cmp esi, ecx
ja 0x1005ec0e
test edi, edi
je 0x1005e22c
push edi
push ecx
push eax
call fcn.100e1250
add esp, 0xc
cmp esi, 0x10113183
ja 0x1005e242
lea eax, [esi + 1]
cmp eax, 0x10113183
ja 0x1005ec0e
movzx eax, byte [esp + 0xb3]
test al, al
cmovs eax, dword [esp + 0xac]
mov word [esi], 0x2f
mov edx, dword [esp + 0xa8]
lea ecx, [esp + 0xa8]
cmovns edx, ecx
lea ecx, [esp + 0x78]
push eax
push edx
call fcn.100571a0
mov ecx, dword [eax + 8]
mov dword [esp + 0x90], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x88], xmm0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax], 0
mov eax, dword [esp + 0xf4]
cmp eax, dword [esp + 0xf8]
jae 0x1005e310
test eax, eax
je 0x1005ec2c
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x88]
movsd qword [eax], xmm0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
add eax, 0xc
mov dword [esp + 0xf4], eax
cmp byte [esp + 0x83], 0
jns 0x1005e348
jmp 0x1005e33c
lea ecx, [esp + 0xf0]
lea eax, [esp + 0x88]
push eax
call fcn.1003ac62
cmp byte [esp + 0x93], 0
js 0x1005e8bb
cmp byte [esp + 0x83], 0
jns 0x1005e348
push dword [esp + 0x78]
call fcn.100de098
add esp, 4
movzx edx, byte [esp + 0xc3]
mov edi, edx
test dl, dl
jns 0x1005e35d
mov edi, dword [esp + 0xbc]
lea ebx, [edi + 1]
cmp ebx, 0x7ffffff0
jae 0x1005ec47
cmp ebx, 0xa
ja 0x1005e3a0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov byte [esp + 0x63], bl
lea eax, [esp + 0x58]
jmp 0x1005e3c9
mov esi, ebx
or esi, 0xf
inc esi
push esi
mov dword [esp + 4], edx
call fcn.100de068
mov edx, dword [esp + 4]
add esp, 4
or esi, 0x80000000
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
lea ecx, [esp + 0xb8]
test dl, dl
jns 0x1005e3db
mov ecx, dword [esp + 0xb8]
lea esi, [eax + edi]
cmp ecx, eax
jb 0x1005e3ea
cmp esi, ecx
ja 0x1005ec0e
test edi, edi
je 0x1005e3f9
push edi
push ecx
push eax
call fcn.100e1250
add esp, 0xc
cmp esi, 0x101131a4
ja 0x1005e40f
lea eax, [esi + 1]
cmp eax, 0x101131a4
ja 0x1005ec0e
movzx eax, byte [esp + 0xb3]
test al, al
cmovs eax, dword [esp + 0xac]
mov word [esi], 0x2e
mov edx, dword [esp + 0xa8]
lea ecx, [esp + 0xa8]
cmovns edx, ecx
lea ecx, [esp + 0x58]
push eax
push edx
call fcn.100571a0
mov ecx, dword [eax + 8]
mov dword [esp + 0x70], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x68], xmm0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
lea ecx, [esp + 0x68]
push 1
push 0x10113133
call fcn.100571a0
mov ecx, dword [eax + 8]
mov dword [esp + 0x80], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x78], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
movzx eax, byte [esp + 0xa3]
test al, al
cmovs eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x98]
cmovns edx, ecx
lea ecx, [esp + 0x78]
push eax
push edx
call fcn.100571a0
mov ecx, dword [eax + 8]
mov dword [esp + 0x90], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x88], xmm0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax], 0
mov eax, dword [esp + 0xe8]
cmp eax, dword [esp + 0xec]
jae 0x1005e570
test eax, eax
je 0x1005ec2c
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x88]
movsd qword [eax], xmm0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
add eax, 0xc
mov dword [esp + 0xe8], eax
cmp byte [esp + 0x83], 0
jns 0x1005e5a0
jmp 0x1005e900
lea ecx, [esp + 0xe4]
lea eax, [esp + 0x88]
push eax
call fcn.1003ac62
cmp byte [esp + 0x93], 0
js 0x1005e8dd
cmp byte [esp + 0x83], 0
js 0x1005e900
cmp byte [esp + 0x73], 0
js 0x1005e917
cmp byte [esp + 0x63], 0
js 0x1005e92e
movzx eax, byte [esp + 0xc3]
mov edi, eax
test al, al
jns 0x1005e5cb
mov edi, dword [esp + 0xbc]
test edi, edi
je 0x1005e620
movzx edx, byte [esp + 0xd3]
mov esi, edx
test dl, dl
jns 0x1005e5e4
mov esi, dword [esp + 0xcc]
lea ebx, [esi + 1]
cmp ebx, 0x7ffffff0
jae 0x1005ec47
cmp ebx, 0xa
mov dword [esp], eax
ja 0x1005e660
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x53], bl
lea eax, [esp + 0x48]
jmp 0x1005e693
cmp byte [esp + 0xd3], 0
js 0x1005e889
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x90], eax
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp + 0x88], xmm0
jmp 0x1005e728
mov dword [esp + 8], ebx
or ebx, 0xf
inc ebx
push ebx
mov dword [esp + 0x10], edi
mov edi, edx
call fcn.100de068
mov edx, edi
mov edi, dword [esp + 0x10]
add esp, 4
or ebx, 0x80000000
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0xc8]
test dl, dl
jns 0x1005e6a5
mov ecx, dword [esp + 0xc8]
lea ebx, [eax + esi]
cmp ecx, eax
jb 0x1005e6b4
cmp ebx, ecx
ja 0x1005ec0e
test esi, esi
je 0x1005e6c3
push esi
push ecx
push eax
call fcn.100e1250
add esp, 0xc
cmp ebx, 0x10113185
ja 0x1005e6d9
lea eax, [ebx + 1]
cmp eax, 0x10113185
ja 0x1005ec0e
mov word [ebx], 0x3c
lea eax, [esp + 0xb8]
cmp byte [esp], 0
jns 0x1005e6f2
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x48]
push edi
push eax
call fcn.100571a0
mov ecx, dword [eax + 8]
mov dword [esp + 0x90], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x88], xmm0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [esp + 0x100]
cmp eax, dword [esp + 0x104]
jae 0x1005e790
test eax, eax
je 0x1005ec2c
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x88]
movsd qword [eax], xmm0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
add eax, 0xc
mov dword [esp + 0x100], eax
jmp 0x1005e7c0
lea ecx, [esp + 0xfc]
lea eax, [esp + 0x88]
push eax
call fcn.1003ac62
cmp byte [esp + 0x93], 0
jns 0x1005e7c0
push dword [esp + 0x88]
call fcn.100de098
add esp, 4
nop dword [eax]
test edi, edi
lea esi, [esp + 0xd8]
mov edi, dword [esp + 0x14]
je 0x1005e7d6
cmp byte [esp + 0x53], 0
js 0x1005e810
cmp byte [esp + 0xa3], 0
js 0x1005e826
cmp byte [esp + 0xb3], 0
js 0x1005e83f
cmp byte [esp + 0xc3], 0
js 0x1005e858
cmp byte [esp + 0xd3], 0
jns 0x1005e090
jmp 0x1005e875
push dword [esp + 0x48]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xa3], 0
jns 0x1005e7e0
push dword [esp + 0x98]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xb3], 0
jns 0x1005e7ea
push dword [esp + 0xa8]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xc3], 0
jns 0x1005e7f4
push dword [esp + 0xb8]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xd3], 0
jns 0x1005e090
push dword [esp + 0xc8]
call fcn.100de098
add esp, 4
jmp 0x1005e090
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
cmp edx, 0xa
ja 0x1005e93f
mov byte [esp + 0x93], dl
lea eax, [esp + 0x88]
cmp eax, esi
jbe 0x1005e980
jmp 0x1005e98c
push dword [esp + 0x88]
call fcn.100de098
add esp, 4
cmp byte [esp + 0x83], 0
jns 0x1005e348
jmp 0x1005e33c
push dword [esp + 0x88]
call fcn.100de098
add esp, 4
cmp byte [esp + 0x83], 0
jns 0x1005e5a0
nop word [eax + eax]
push dword [esp + 0x78]
call fcn.100de098
add esp, 4
cmp byte [esp + 0x73], 0
jns 0x1005e5ab
push dword [esp + 0x68]
call fcn.100de098
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x1005e5b6
push dword [esp + 0x58]
call fcn.100de098
add esp, 4
jmp 0x1005e5b6
cmp edx, 0x7ffffff0
jae 0x1005ec47
mov dword [esp], edx
mov ebx, dword [esp]
or ebx, 0xf
inc ebx
push ebx
call fcn.100de068
add esp, 4
mov dword [esp + 0x88], eax
or ebx, 0x80000000
mov dword [esp + 0x90], ebx
mov edx, dword [esp]
mov dword [esp + 0x8c], edx
cmp eax, esi
ja 0x1005e98c
lea ecx, [eax + edx]
inc ecx
cmp ecx, esi
ja 0x1005ec0e
inc edx
push edx
push esi
push eax
call fcn.100e1250
add esp, 0xc
jmp 0x1005e728
test cl, cl
js 0x1005eba3
cmp byte [esp + 0xb3], 0
js 0x1005ebc0
cmp byte [esp + 0xc3], 0
js 0x1005ebdd
cmp byte [esp + 0xd3], 0
js 0x1005ebfa
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x1005e9ea
mov dword [esp + 0xdc], eax
push eax
call fcn.100de098
add esp, 4
mov esi, dword [esp + 0xe4]
test esi, esi
je 0x1005ea43
mov eax, dword [esp + 0xe8]
mov ecx, esi
cmp eax, esi
jne 0x1005ea16
jmp 0x1005ea33
mov eax, edi
cmp edi, esi
je 0x1005ea2c
lea edi, [eax - 0xc]
cmp byte [eax - 1], 0
jns 0x1005ea10
push dword [eax - 0xc]
call fcn.100de098
add esp, 4
jmp 0x1005ea10
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xe8], esi
push ecx
call fcn.100de098
add esp, 4
mov esi, dword [esp + 0xf0]
test esi, esi
je 0x1005ea93
mov eax, dword [esp + 0xf4]
mov ecx, esi
cmp eax, esi
jne 0x1005ea66
jmp 0x1005ea83
mov eax, edi
cmp edi, esi
je 0x1005ea7c
lea edi, [eax - 0xc]
cmp byte [eax - 1], 0
jns 0x1005ea60
push dword [eax - 0xc]
call fcn.100de098
add esp, 4
jmp 0x1005ea60
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xf4], esi
push ecx
call fcn.100de098
add esp, 4
mov esi, dword [esp + 0xfc]
test esi, esi
je 0x1005eae3
mov eax, dword [esp + 0x100]
mov ecx, esi
cmp eax, esi
jne 0x1005eab6
jmp 0x1005ead3
mov eax, edi
cmp edi, esi
je 0x1005eacc
lea edi, [eax - 0xc]
cmp byte [eax - 1], 0
jns 0x1005eab0
push dword [eax - 0xc]
call fcn.100de098
add esp, 4
jmp 0x1005eab0
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x100], esi
push ecx
call fcn.100de098
add esp, 4
mov esi, dword [ebp + 0xc]
call fcn.10067000
test eax, eax
je 0x1005eb0e
lea eax, [esp + 0x18]
push 0x100849a0
push eax
call fcn.100849d0
add esp, 8
lea eax, [esp + 0x28]
push eax
call fcn.100669a0
add esp, 4
mov edi, dword [esp + 4]
mov ecx, edi
push 1
push esi
call fcn.1005ec50
lea eax, [esp + 0x38]
mov ecx, edi
push 2
push eax
call fcn.1005ec50
mov byte [edi + 0x25], 1
cmp byte [esp + 0x23], 0
js 0x1005eb5b
cmp byte [esp + 0x33], 0
js 0x1005eb6e
cmp byte [esp + 0x43], 0
js 0x1005eb81
mov ecx, dword [esp + 0x108]
xor ecx, ebp
call fcn.100dea63
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
push dword [esp + 0x18]
call fcn.100de098
add esp, 4
cmp byte [esp + 0x33], 0
jns 0x1005eb3c
push dword [esp + 0x28]
call fcn.100de098
add esp, 4
cmp byte [esp + 0x43], 0
jns 0x1005eb43
push dword [esp + 0x38]
call fcn.100de098
add esp, 4
jmp 0x1005eb43
mov edi, dword [esp + 0xd8]
test edi, edi
jne 0x1005df68
jmp 0x1005df78
push dword [esp + 0x98]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xb3], 0
jns 0x1005e9b3
push dword [esp + 0xa8]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xc3], 0
jns 0x1005e9c1
push dword [esp + 0xb8]
call fcn.100de098
add esp, 4
cmp byte [esp + 0xd3], 0
jns 0x1005e9cf
push dword [esp + 0xc8]
call fcn.100de098
add esp, 4
jmp 0x1005e9cf
push str.char_traits::copy_overlapped_range
push str.__s2_____s1____s2_____s1__n
push 0xec
push str....._buildtools_third_partylibc_trunkinclude__stringchar_traits.h
push str._s:_d:_assertion__s_failed:__s
call fcn.1003963c
push str.null_pointer_given_to_construct_at
push str.__location___nullptr
push 0x23
push str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
push str._s:_d:_assertion__s_failed:__s
call fcn.1003963c
call fcn.100f18b0
int3