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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x6e8
mov dword [esp + 0x50], ecx
mov esi, dword [ebp + 8]
imul ecx, dword [ebp + 0xc], 0x138
xor eax, eax
mov dword [esp + 0x4c], edx
mov dword [edx + 0xc], 2
mov edx, 2
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
add ecx, esi
mov edi, edx
mov eax, esi
cmp eax, ecx
je 0x42f7c0
test byte [eax + 1], 0x10
lea edx, [eax + 0x138]
mov eax, edx
jne 0x42e62d
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x40]
mov eax, dword [edx - 0x88]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
test edi, edi
mov dword [esp + 4], eax
je 0x42e6fb
mov eax, dword [esp + 0x44]
mov dword [esp], eax
movzx eax, word [edi + 0xb6]
xor ebx, ebx
mov dword [esp + 0xc], edi
dec ebx
lea ecx, [eax*4]
mov dword [esp + 8], eax
lea esi, [ecx + ecx*2]
mov ecx, 0xffffffdc
lea edx, [esi + ecx]
cmp edx, 0xffffffdc
je 0x42e6c0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 4]
xor edx, edx
cmp dword [edi + ebx*4 + 8], eax
mov edi, 0xff
setne dl
cmova edx, edi
inc ebx
add ecx, 0xfffffff4
cmp dl, 1
je 0x42e68d
movzx edx, dl
test edx, edx
jne 0x42e6c4
jmp 0x42e6e0
mov ebx, dword [esp + 8]
mov eax, dword [esp]
mov edi, dword [esp + 0xc]
sub eax, 1
jb 0x42e94f
mov edi, dword [edi + ebx*4 + 0xb8]
mov dword [esp], eax
jmp 0x42e66c
mov esi, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
sub esi, ecx
lea ecx, [esp + 0x70]
call fcn.00422067
jmp 0x42e744
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
xor esi, esi
call fcn.00426b93
mov ecx, dword [esp + 4]
movsd xmm0, qword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov dword [eax], esi
mov word [eax + 0xb6], 1
mov dword [esp + 0x40], eax
lea edx, [eax + 0x30]
mov dword [esp + 0x44], esi
mov dword [eax + 4], ecx
movsd qword [eax + 0x30], xmm0
mov dword [eax + 0x38], edi
xor eax, eax
inc eax
mov esi, edx
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebx - 0x100]
mov edx, dword [ebx - 0xf8]
lea edi, [ebx - 0x138]
add edx, ecx
call fcn.004ba18a
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
cmp eax, ecx
cmova ecx, eax
mov dword [edx + 0xc], ecx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x54]
mov edx, dword [ebx - 0x100]
push dword [ebx - 0xf8]
call fcn.0041bed0
add esp, 4
lea ecx, [esp + 0x470]
mov edx, edi
call fcn.0042855f
mov edi, dword [esi]
mov dword [esp + 0xc], esi
test edi, edi
je 0x42e8c4
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
movzx ecx, word [edi + 0xdf2]
xor esi, esi
lea eax, [edi + 0xd6c]
mov dword [esp + 0x18], edi
dec esi
mov dword [esp + 0x14], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
test edi, edi
je 0x42e838
lea ecx, [eax + 0xc]
mov ebx, edx
mov dword [esp + 4], esi
mov dword [esp], ecx
mov ecx, dword [eax + 8]
sub ebx, ecx
cmovb ecx, edx
push ecx
push dword [eax]
push dword [esp + 0x10]
mov esi, edx
call sub.msvcrt.dll_memcmp
mov edx, esi
add esp, 0xc
test eax, eax
mov esi, dword [esp + 4]
cmovne ebx, eax
xor ecx, ecx
mov eax, 0xff
test ebx, ebx
setne cl
cmovs ecx, eax
mov eax, dword [esp]
add edi, 0xfffffff4
inc esi
cmp cl, 1
je 0x42e7e0
movzx eax, cl
test eax, eax
jne 0x42e83c
jmp 0x42e864
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x118]
sub eax, 1
jb 0x42e9d7
mov edi, dword [edi + esi*4 + 0xdf8]
mov dword [esp + 0x10], eax
jmp 0x42e7be
cmp dword [esp + 0x58], 0
lea edi, [esp + 0x118]
je 0x42e883
push dword [esp + 8]
push 0
push dword [0x5c9128]
call sub.kernel32.dll_HeapFree
mov ebx, dword [esp + 0x18]
imul esi, esi, 0x138
add esi, ebx
mov ebx, 0x138
push ebx
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push ebx
lea eax, [esp + 0x474]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x140], 2
je 0x42e92e
mov ecx, edi
call fcn.004221cf
jmp 0x42e92e
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
test eax, eax
mov dword [esp + 8], eax
je 0x42e93f
mov edi, dword [esp + 0x5c]
call fcn.00425756
mov esi, eax
xor eax, eax
mov dword [esi + 0xd68], eax
mov eax, dword [esp + 8]
mov word [esi + 0xdf2], 1
mov dword [esi + 0xd6c], eax
mov dword [esi + 0xd70], ebx
mov dword [esi + 0xd74], edi
push 0x138
lea eax, [esp + 0x474]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov dword [eax], esi
mov dword [eax + 4], ecx
mov dword [eax + 8], 1
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
jmp 0x42e629
mov esi, dword [esp + 0xc]
lea edi, [esp + 0x118]
jmp 0x42e887
xor eax, eax
test edi, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
je 0x42e705
cmp word [edi + 0xb6], 0xb
jae 0x42ea79
mov eax, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x70]
lea ecx, [esp + 0x360]
mov dword [esp + 0x470], edi
mov dword [esp + 0x474], 0
mov dword [esp + 0x478], ebx
lea edx, [esp + 0x470]
mov dword [esp + 0x120], eax
lea eax, [esp + 0x118]
movsd qword [esp + 0x118], xmm0
push eax
push dword [esp + 8]
call fcn.00426dfa
add esp, 8
mov ecx, dword [esp + 0x360]
mov eax, dword [esp + 0x368]
jmp 0x42f003
mov ebx, dword [esp + 0x58]
cmp dword [esp + 8], 0
je 0x42ea6e
test edi, edi
je 0x42ea89
cmp word [edi + 0xdf2], 0xb
jae 0x42ea90
mov eax, dword [esp + 8]
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], 0
mov dword [esp + 0x258], esi
mov dword [esp + 0x5a8], eax
mov dword [esp + 0x5ac], ebx
mov dword [esp + 0x5b0], edx
push 0x138
lea eax, [esp + 0x474]
push eax
mov esi, ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x250]
push esi
lea eax, [esp + 0x5ac]
push eax
call fcn.00425939
add esp, 8
mov edi, dword [esp + 0x38]
jmp 0x42f230
mov esi, dword [esp + 0xc]
mov edi, ecx
jmp 0x42e887
cmp ebx, 5
jae 0x42eaad
mov al, 1
mov dword [esp], 4
jmp 0x42eaf5
mov edi, edx
jmp 0x42e8d8
cmp esi, 5
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebx
jae 0x42eac7
mov al, 1
mov dword [esp + 4], esi
mov esi, 4
jmp 0x42f019
je 0x42eaf0
cmp ebx, 6
jne 0x42eafb
xor ebx, ebx
mov dword [esp + 0x20], 0
mov dword [esp], 5
jmp 0x42eb0d
je 0x42f013
cmp esi, 6
jne 0x42f01f
mov esi, 5
mov dword [esp + 0x2c], 0
mov dword [esp + 4], 0
jmp 0x42f033
mov al, 1
mov dword [esp], ebx
mov dword [esp + 0x20], eax
jmp 0x42eb0d
add ebx, 0xfffffff9
mov dword [esp], 6
mov dword [esp + 0x20], 0
call fcn.00426b93
mov edx, dword [esp]
mov dword [eax], 0
mov word [eax + 0xb6], 0
mov esi, eax
movzx ecx, word [edi + 0xb6]
mov eax, edx
not eax
mov dword [esp + 0x14], ecx
add eax, ecx
mov word [esi + 0xb6], ax
cmp eax, 0xc
mov ecx, dword [edi + edx*4 + 4]
mov dword [esp + 8], ecx
lea ecx, [edx + edx*2]
mov edx, dword [edi + ecx*4 + 0x38]
mov dword [esp + 0x120], edx
mov edx, eax
movsd xmm0, qword [edi + ecx*4 + 0x30]
movsd qword [esp + 0x118], xmm0
jae 0x42fa86
mov ecx, dword [esp]
mov eax, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x10], ecx
sub eax, dword [esp + 0x10]
cmp eax, edx
jne 0x42fa45
lea eax, [edi + 4]
shl edx, 2
mov dword [esp + 0x28], eax
lea eax, [edi + 0x30]
mov dword [esp + 0x14], eax
lea eax, [esi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], edx
lea eax, [eax + ecx*4]
push edx
push eax
push dword [esp + 0x24]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
lea eax, [eax + eax*2]
lea edx, [edx + edx*2]
lea eax, [ecx + eax*4]
lea ecx, [esi + 0x30]
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
cmp byte [esp + 0x20], 0
lea ecx, [esp + 0x360]
lea edx, [esp + 0x470]
mov word [edi + 0xb6], ax
mov eax, dword [esp + 0x120]
movsd xmm0, qword [esp + 0x118]
mov dword [esp + 0x5b0], eax
mov eax, esi
movsd qword [esp + 0x5a8], xmm0
movsd xmm0, qword [esp + 0x70]
cmovne eax, edi
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x474], 0
mov dword [esp + 0x478], ebx
movsd qword [esp + 0x118], xmm0
mov dword [esp + 0x120], eax
lea eax, [esp + 0x118]
push eax
push dword [esp + 8]
call fcn.00426dfa
add esp, 8
mov eax, dword [esp + 0x360]
movsd xmm0, qword [esp + 0x5a8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x368]
movsd qword [esp + 0x250], xmm0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5b0]
mov dword [esp + 0x258], eax
mov eax, dword [edi]
test eax, eax
je 0x42ef27
mov edx, dword [esp + 8]
mov ebx, esi
lea edi, [esp + 0x118]
mov dword [esp + 0x24], 0
mov ecx, eax
xor eax, eax
test al, al
jne 0x42fa62
mov eax, dword [esp + 0xc]
mov esi, edx
movzx edx, word [eax + 0xb4]
movzx eax, word [ecx + 0xb6]
cmp eax, 0xb
mov dword [esp + 0xc], eax
jb 0x42efd0
mov edi, 4
cmp dx, 5
mov dword [esp + 4], ecx
mov dword [esp + 0x14], ebx
jae 0x42ed00
mov al, 1
mov dword [esp + 0x20], edx
jmp 0x42ed2a
cmp dx, 5
je 0x42ed22
cmp edx, 6
jne 0x42ed30
mov edi, 5
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jmp 0x42ed44
mov al, 1
mov dword [esp + 0x20], edx
mov edi, edx
mov dword [esp + 0x1c], eax
jmp 0x42ed44
add edx, 0xfffffff9
mov edi, 6
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], esi
call fcn.0042748f
mov ebx, dword [esp + 4]
mov dword [eax], 0
mov word [eax + 0xb6], 0
mov esi, eax
mov edx, edi
not edi
mov dword [esp], edx
movzx eax, word [ebx + 0xb6]
add edi, eax
mov word [esi + 0xb6], di
cmp edi, 0xc
mov ecx, dword [ebx + edx*4 + 4]
mov dword [esp + 8], ecx
lea ecx, [edx + edx*2]
mov edx, dword [ebx + ecx*4 + 0x38]
mov dword [esp + 0x120], edx
movsd xmm0, qword [ebx + ecx*4 + 0x30]
movsd qword [esp + 0x118], xmm0
jae 0x42fa73
mov edx, dword [esp]
mov ecx, ebx
lea ebx, [edx + 1]
sub eax, ebx
cmp eax, edi
jne 0x42fa45
lea eax, [ecx + 4]
lea edx, [ecx + 0x30]
lea ecx, [esi + 4]
shl edi, 2
mov dword [esp + 0x28], edx
lea eax, [eax + ebx*4]
push edi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x28]
lea eax, [ebx + ebx*2]
lea edx, [edi + edi*2]
lea eax, [ecx + eax*4]
lea ecx, [esi + 0x30]
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov word [ecx + 0xb6], ax
movzx edi, word [esi + 0xb6]
movsd xmm0, qword [esp + 0x118]
mov eax, dword [esp + 0x120]
lea ecx, [edi + 1]
cmp edi, 0xc
movsd qword [esp + 0x470], xmm0
mov dword [esp + 0x478], eax
jae 0x42fa56
mov edx, dword [esp + 0xc]
sub edx, dword [esp]
cmp edx, ecx
jne 0x42fa45
mov eax, dword [esp + 4]
inc dword [esp + 0x24]
mov ecx, 0xb8
shl edx, 2
lea eax, [eax + ebx*4]
add eax, ecx
add ecx, esi
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor eax, eax
mov ecx, eax
cmp eax, edi
mov edx, dword [esi + ecx*4 + 0xb8]
adc eax, 0
cmp ecx, edi
mov dword [edx], esi
mov word [edx + 0xb4], cx
jae 0x42ee85
cmp eax, edi
jbe 0x42ee66
movsd xmm0, qword [esp + 0x470]
mov edx, dword [esp + 0x258]
cmp byte [esp + 0x1c], 0
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0x478]
mov ecx, esi
movsd qword [esp + 0x360], xmm0
mov dword [esp + 0x120], edx
movsd xmm0, qword [esp + 0x250]
mov edx, dword [esp + 0x20]
cmovne ecx, ebx
mov dword [esp + 0x368], eax
movsd qword [esp + 0x118], xmm0
push dword [esp + 0x14]
lea edi, [esp + 0x11c]
push edi
push dword [esp + 0x18]
call fcn.00426cdb
add esp, 0xc
movsd xmm0, qword [esp + 0x360]
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ebx
movsd qword [esp + 0x250], xmm0
mov dword [esp + 0x258], eax
mov edx, ecx
mov eax, dword [ebx]
mov ebx, esi
test eax, eax
jne 0x42ecb8
jmp 0x42ef33
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x40]
mov dword [esp + 8], ecx
test edi, edi
je 0x42fa8a
mov ebx, dword [esp + 0x44]
call fcn.0042748f
xor ecx, ecx
cmp ebx, dword [esp + 0x24]
mov dword [eax], 0
mov word [eax + 0xb6], cx
mov dword [eax + 0xb8], edi
mov dword [edi], eax
mov word [edi + 0xb4], cx
lea ecx, [ebx + 1]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
jne 0x42fa9b
movzx ecx, word [eax + 0xb6]
cmp ecx, 0xa
ja 0x42faaf
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x258]
movsd xmm0, qword [esp + 0x250]
lea edx, [ecx + 1]
mov dword [esi], eax
mov word [eax + 0xb6], dx
mov word [esi + 0xb4], dx
mov dword [eax + ecx*4 + 4], edi
lea edi, [ecx + ecx*2]
mov dword [eax + edi*4 + 0x38], ebx
movsd qword [eax + edi*4 + 0x30], xmm0
mov dword [eax + ecx*4 + 0xbc], esi
jmp 0x42effb
mov eax, dword [esp + 0x258]
movsd xmm0, qword [esp + 0x250]
mov dword [esp + 0x120], eax
movsd qword [esp + 0x118], xmm0
push ebx
push edi
push esi
call fcn.00426cdb
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*4 + 0x30]
mov eax, dword [esp + 0x48]
jmp 0x42e73d
mov al, 1
mov dword [esp + 4], esi
mov dword [esp + 0x2c], eax
jmp 0x42f033
add esi, 0xfffffff9
mov dword [esp + 0x2c], 0
mov dword [esp + 4], esi
mov esi, 6
mov dword [esp + 0x14], esi
call fcn.00425756
mov dword [eax + 0xd68], 0
mov word [eax + 0xdf2], 0
mov ebx, esi
mov dword [esp], eax
movzx ecx, word [edi + 0xdf2]
not ebx
add ebx, ecx
mov dword [esp + 0x1c], ecx
mov word [eax + 0xdf2], bx
lea eax, [esi + esi*2]
mov ecx, dword [edi + eax*4 + 0xd74]
mov dword [esp + 0xe8], ecx
mov ecx, 0xa
movsd xmm0, qword [edi + eax*4 + 0xd6c]
imul eax, esi, 0x138
lea esi, [edi + eax]
lea edi, [esp + 0x250]
movsd qword [esp + 0xe0], xmm0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
lea eax, [edi + eax + 0x2c]
mov ecx, dword [eax - 4]
mov dword [esp + 0x10], ecx
push 0x10c
push eax
lea eax, [esp + 0x120]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, ebx
add esp, 0xc
cmp ebx, 0xc
jae 0x42fa75
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
sub edx, esi
cmp edx, ecx
jne 0x42fa45
mov ebx, ecx
mov ecx, dword [esp]
lea eax, [edi + 0xd6c]
lea edx, [esi + esi*2]
lea eax, [eax + edx*4]
lea edx, [ebx*4]
lea edx, [edx + edx*2]
add ecx, 0xd6c
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
imul eax, esi, 0x138
imul ecx, ebx, 0x138
add eax, edi
push ecx
push eax
push dword [esp + 8]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, 0xa
lea esi, [esp + 0x250]
mov word [edi + 0xdf2], ax
lea edi, [esp + 0x5b8]
movsd xmm0, qword [esp + 0xe0]
mov eax, dword [esp + 0xe8]
movsd qword [esp + 0x5a8], xmm0
mov dword [esp + 0x5b0], eax
rep movsd dword es:[edi], dword [esi]
push 0x10c
lea esi, [esp + 0x11c]
push esi
lea eax, [esp + 0x368]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x2c], 0
mov eax, dword [esp]
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x258], eax
mov eax, 0x138
push eax
lea eax, [esp + 0x474]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ebx, [esp + 0xa8]
lea edx, [esp + 0xe0]
mov ecx, ebx
push esi
lea eax, [esp + 0x254]
push eax
call fcn.00425939
add esp, 8
lea eax, [esp + 0x70]
mov ecx, 0xe
lea esi, [esp + 0x5a8]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x10], 2
jne 0x42f245
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
jmp 0x42f7b4
mov ecx, 0xe
mov edi, ebx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
push 0x10c
lea eax, [esp + 0x364]
push eax
lea eax, [esp + 0x258]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xd68]
test eax, eax
je 0x42f5f7
mov edx, dword [esp + 0x10]
mov ebx, ecx
mov dword [esp + 0x38], 0
mov dword [esp + 0x14], edx
mov edx, dword [esp]
movzx ecx, word [ebx + 0xdf0]
mov ebx, eax
movzx eax, word [eax + 0xdf2]
cmp eax, 0xb
mov dword [esp + 0x28], eax
jb 0x42f71e
mov esi, 4
cmp cx, 5
mov dword [esp + 0x2c], edx
jae 0x42f2c8
mov al, 1
mov dword [esp + 0x1c], ecx
jmp 0x42f2f6
cmp cx, 5
je 0x42f2ee
cmp ecx, 6
jne 0x42f5de
mov esi, 5
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
jmp 0x42f2fa
mov al, 1
mov dword [esp + 0x1c], ecx
mov esi, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 8], esi
call fcn.00425784
mov dword [eax + 0xd68], 0
mov word [eax + 0xdf2], 0
mov edx, ebx
mov dword [esp + 4], eax
lea edi, [esp + 0x6b8]
movzx ecx, word [ebx + 0xdf2]
mov ebx, esi
not ebx
add ebx, ecx
mov dword [esp + 0x24], ecx
mov word [eax + 0xdf2], bx
lea eax, [esi + esi*2]
mov ecx, dword [edx + eax*4 + 0xd74]
mov dword [esp + 0x68], ecx
mov ecx, 0xa
movsd xmm0, qword [edx + eax*4 + 0xd6c]
imul eax, esi, 0x138
lea esi, [edx + eax]
lea eax, [edx + eax + 0x2c]
movsd qword [esp + 0x60], xmm0
rep movsd dword es:[edi], dword [esi]
mov dword [esp], edx
mov esi, dword [eax - 4]
push 0x10c
push eax
lea eax, [esp + 0x120]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, ebx
cmp ebx, 0xc
jae 0x42fa75
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], esi
lea edi, [eax + 1]
sub edx, edi
cmp edx, ecx
jne 0x42fa45
mov esi, dword [esp]
mov ebx, ecx
mov ecx, dword [esp + 4]
lea edx, [edi + edi*2]
lea eax, [esi + 0xd6c]
add ecx, 0xd6c
lea eax, [eax + edx*4]
lea edx, [ebx*4]
lea edx, [edx + edx*2]
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
imul eax, edi, 0x138
imul ecx, ebx, 0x138
mov dword [esp + 0x24], edi
add eax, esi
push ecx
push eax
push dword [esp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, dword [esp + 8]
mov ecx, 0xa
lea edi, [esp + 0x80]
mov word [esi + 0xdf2], bx
lea esi, [esp + 0x6b8]
movsd xmm0, qword [esp + 0x60]
mov eax, dword [esp + 0x68]
movsd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], eax
rep movsd dword es:[edi], dword [esi]
push 0x10c
lea eax, [esp + 0x11c]
push eax
lea eax, [esp + 0x368]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
movzx esi, word [eax + 0xdf2]
lea ecx, [esi + 1]
cmp esi, 0xc
jae 0x42fa56
mov edx, dword [esp + 0x28]
lea edi, [esp + 0xe0]
sub edx, ebx
cmp edx, ecx
jne 0x42fa45
mov eax, dword [esp + 0x24]
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
inc dword [esp + 0x38]
shl edx, 2
lea eax, [ecx + eax*4]
mov ecx, 0xdf8
add eax, ecx
add ecx, ebx
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor eax, eax
mov ecx, eax
cmp eax, esi
mov edx, dword [ebx + ecx*4 + 0xdf8]
adc eax, 0
cmp ecx, esi
mov dword [edx + 0xd68], ebx
mov word [edx + 0xdf0], cx
jae 0x42f4c7
cmp eax, esi
jbe 0x42f4a4
mov ecx, 0xe
lea esi, [esp + 0x70]
mov eax, 0x10c
rep movsd dword es:[edi], dword [esi]
push eax
lea eax, [esp + 0x364]
push eax
lea ebx, [esp + 0x5b0]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
mov ecx, 0xa
lea esi, [esp + 0xb8]
cmp byte [esp + 0x34], 0
mov dword [esp + 0x368], eax
lea eax, [esp + 0x118]
movsd qword [esp + 0x360], xmm0
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 4]
mov ebx, dword [esp]
mov dword [esp + 0x140], eax
mov eax, 0x10c
cmovne esi, ebx
push eax
lea eax, [esp + 0x254]
push eax
lea eax, [esp + 0x14c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov ecx, esi
push dword [esp + 0x2c]
push edi
lea eax, [esp + 0x368]
push eax
call fcn.004257b2
add esp, 0xc
cmp dword [esp + 0x10], 2
je 0x42f7a0
mov ecx, 0xe
lea edi, [esp + 0xa8]
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x118]
mov esi, dword [esp + 0x10]
push 0x10c
lea eax, [esp + 0x5ac]
push eax
lea eax, [esp + 0x258]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xd68]
mov ecx, dword [esp + 4]
mov dword [esp + 0x14], esi
test eax, eax
mov edx, ecx
jne 0x42f294
jmp 0x42f60d
add ecx, 0xfffffff9
mov esi, 6
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], ecx
jmp 0x42f2fa
mov ecx, dword [esp]
mov esi, dword [esp + 0x10]
lea edi, [esp + 0x118]
mov dword [esp + 0x38], 0
mov dword [esp + 4], ecx
mov dword [esp + 0x10], esi
mov ecx, 0xe
lea esi, [esp + 0xa8]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
test esi, esi
je 0x42fa8a
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 4]
call fcn.00425784
xor ecx, ecx
mov dword [eax + 0xd68], 0
cmp edi, dword [esp + 0x38]
lea edx, [edi + 1]
mov word [eax + 0xdf2], cx
mov dword [eax + 0xdf8], esi
mov dword [esi + 0xd68], eax
mov word [esi + 0xdf0], cx
mov esi, dword [esp + 0xc]
mov dword [esi], eax
mov dword [esi + 4], edx
jne 0x42fa9b
mov ebx, eax
movzx eax, word [eax + 0xdf2]
lea edx, [esp + 0x250]
cmp eax, 0xa
ja 0x42faaf
lea ecx, [eax + 1]
movsd xmm0, qword [esp + 0xa8]
mov esi, eax
mov dword [esp + 8], eax
lea eax, [eax + eax*2]
mov word [ebx + 0xdf2], cx
mov dword [esp], ecx
mov ecx, dword [esp + 0xb0]
movsd qword [ebx + eax*4 + 0xd6c], xmm0
mov dword [ebx + eax*4 + 0xd74], ecx
imul eax, esi, 0x138
mov ecx, 0xa
lea esi, [esp + 0x128]
lea edi, [ebx + eax]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
mov dword [ebx + eax + 0x28], ecx
lea eax, [ebx + eax + 0x2c]
push 0x10c
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [ebx + ecx*4 + 0xdfc], eax
mov ecx, dword [esp]
mov dword [eax + 0xd68], ebx
mov word [eax + 0xdf0], cx
jmp 0x42f7a0
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
mov dword [esp + 0x1c], ecx
mov ecx, 0xa
lea edi, [esp + 0x118]
lea esi, [esp + 0xb8]
mov dword [esp + 0x368], eax
movsd qword [esp + 0x360], xmm0
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x140], eax
push 0x10c
lea eax, [esp + 0x254]
push eax
lea eax, [esp + 0x14c]
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov ecx, ebx
push esi
lea eax, [esp + 0x11c]
push eax
lea eax, [esp + 0x368]
push eax
call fcn.004257b2
add esp, 0xc
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
inc dword [eax + 8]
mov dword [esp + 0x38], edi
jmp 0x42e629
mov edi, dword [esp + 0x40]
xor ebx, ebx
test edi, edi
mov esi, edi
setne al
je 0x42f7d3
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov bl, al
mov al, 1
xor edx, edx
mov dword [esp + 8], eax
sub esi, 1
jb 0x42fa12
test ebx, ebx
je 0x42f809
test edx, edx
jne 0x42f809
test ecx, ecx
je 0x42f812
mov eax, edi
mov eax, dword [eax + 0xb8]
dec ecx
jne 0x42f7f8
xor ecx, ecx
xor edi, edi
mov edx, eax
jmp 0x42f818
test ebx, ebx
jne 0x42f81b
jmp 0x42fa34
mov edx, edi
xor ecx, ecx
xor edi, edi
xor ebx, ebx
inc ebx
movzx eax, word [edx + 0xb6]
cmp ecx, eax
mov eax, ecx
mov ecx, edx
jb 0x42f845
mov edx, dword [ecx]
test edx, edx
je 0x42fa1b
movzx eax, word [ecx + 0xb4]
inc edi
cmp ax, word [edx + 0xb6]
jmp 0x42f826
test edi, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], ebx
je 0x42f87a
mov edx, dword [ecx + eax*4 + 0xbc]
dec edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
je 0x42f885
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0xb8]
dec edi
jne 0x42f86b
mov dword [esp + 0x18], edx
jmp 0x42f885
lea edx, [eax + 1]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
lea edx, [eax + eax*2]
mov eax, dword [ecx + edx*4 + 0x30]
test eax, eax
mov dword [esp + 4], eax
setne bl
je 0x42f89f
mov esi, dword [ecx + edx*4 + 0x38]
mov dword [esp + 4], esi
mov ecx, dword [ecx + edx*4 + 0x34]
xor edx, edx
mov dl, bl
xor edi, edi
xor ebx, ebx
mov dword [esp], ecx
cmp dword [esp + 4], 0
je 0x42f9dc
test edx, edx
je 0x42f8dc
test ebx, ebx
jne 0x42f8dc
mov ecx, dword [esp]
mov ebx, eax
test ecx, ecx
je 0x42f8d3
mov ebx, dword [ebx + 0xdf8]
dec ecx
jne 0x42f8ca
xor edi, edi
xor eax, eax
xor edx, edx
inc edx
jmp 0x42f8e7
mov edi, dword [esp]
test edx, edx
je 0x42fa34
movzx ecx, word [ebx + 0xdf2]
mov esi, ebx
cmp edi, ecx
jb 0x42f915
mov ecx, dword [esi + 0xd68]
test ecx, ecx
je 0x42fa1b
movzx edi, word [esi + 0xdf0]
inc eax
mov esi, ecx
cmp di, word [ecx + 0xdf2]
jae 0x42f8f4
test eax, eax
je 0x42f932
mov ebx, dword [esi + edi*4 + 0xdfc]
mov dword [esp], 0
dec eax
je 0x42f93a
mov ebx, dword [ebx + 0xdf8]
jmp 0x42f927
lea eax, [edi + 1]
mov ebx, esi
mov dword [esp], eax
test byte [esp + 8], 1
mov dword [esp + 0xc], edx
jne 0x42f97b
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 4]
push 1
push 0x5991fe
push dword [ecx]
lea ecx, [esp + 0x124]
push ecx
call dword [eax + 0x1c]
add esp, 0x10
cmp byte [esp + 0x118], 4
je 0x42f983
mov ecx, dword [esp + 0x118]
cmp cl, 4
je 0x42f983
jmp 0x42f9f1
mov dword [esp + 8], 0
dec dword [esp + 4]
mov edx, dword [esp + 0x4c]
imul eax, edi, 0x138
lea ecx, [esp + 0x118]
add esi, eax
push 0x5489f0
push esi
call fcn.0042c09a
add esp, 8
cmp byte [esp + 0x118], 4
jne 0x42f9bf
mov edx, dword [esp + 0xc]
xor eax, eax
xor edi, edi
jmp 0x42f8ae
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0xc]
xor eax, eax
mov edi, 0
cmp cl, 4
je 0x42f8ae
jmp 0x42f9f1
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x42f7e1
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x11c]
mov dword [edx], ecx
mov dword [edx + 4], eax
lea ecx, [esp + 0x40]
call fcn.0042961c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x50]
mov byte [eax], 4
jmp 0x42fa01
mov ecx, str.called__Option::unwrap____on_a__None__value_home_vi_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_1.7.2_src_lib.rsURL_has_no_host
mov edx, 0x2b
push 0x56a508
call fcn.00445340
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_home_vi_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_1.7.2_src_lib.rsURL_has_no_host
mov edx, 0x2b
push 0x569c38
jmp 0x42fa2a
mov ecx, str.assertion_failed:_src.len____dst.len__8
mov edx, 0x28
push 0x56a298
jmp 0x42fa2a
mov edx, 0xc
push 0x56a2b8
jmp 0x42fa7f
mov ecx, str.assertion_failed:_edge.height__self.node.height___1
mov edx, 0x35
push 0x56a300
jmp 0x42fa2a
mov ecx, edi
mov edx, 0xb
push 0x56a2a8
call fcn.00445020
jmp 0x42fa2f
mov ecx, edx
jmp 0x42fa75
mov ecx, str.called__Option::unwrap____on_a__None__value_home_vi_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_1.7.2_src_lib.rsURL_has_no_host
mov edx, 0x2b
push 0x56a108
jmp 0x42fa2a
mov ecx, str.assertion_failed:_edge.height__self.height___18
mov edx, 0x30
push 0x56a1d4
jmp 0x42fa2a
mov ecx, str.assertion_failed:_idx___CAPACITY_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_srccollections_btree_node.rs
mov edx, 0x20
push 0x56a194
jmp 0x42fa2a