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

Disassembly:
jmp 0x10074470
mov eax, 0x44
call fcn.101aa6d0
mov eax, dword [0x102745f0]
xor eax, esp
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
push esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
push edi
lea edi, [ecx + 7]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
shr edi, 3
mov dword [esp + 0x34], eax
cmp ecx, 0x40
jg 0x10074be7
push ebx
movzx ebx, byte [eax]
push ebp
lea ebp, [eax + 1]
mov edx, ebp
mov dword [esp + 0x30], ebp
movzx eax, byte [edx]
movzx ecx, byte [edx + 3]
shl eax, 8
or ebx, eax
movzx eax, byte [edx + 1]
shl eax, 0x10
or ebx, eax
movzx eax, byte [edx + 2]
shl eax, 0x18
or ebx, eax
movzx eax, byte [edx + 4]
shl eax, 8
or ecx, eax
movzx eax, byte [edx + 5]
mov dword [esp + 0x14], ecx
movzx ecx, byte [edx + 6]
mov edx, dword [esp + 0x14]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x64]
shl ecx, 0x10
or edx, ecx
cmp dword [esp + 0x78], 0
mov dword [esp + 0x14], edx
je 0x1007485a
cmp eax, edi
jb 0x10074bb0
mov ebp, dword [esp + 0x58]
lea esp, [esp]
push dword [esp + 0x2c]
sub eax, edi
push dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
push dword [esp + 0x3c]
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
call sym.libcrypto_1_1.dll_DES_encrypt3
lea eax, [edi - 1]
add esp, 0x10
add ebp, edi
xor ecx, ecx
xor edx, edx
cmp eax, 7
ja case.default.0x10074565
jmp dword [eax*4 + 0x10074bf8]
movzx ecx, byte [ebp - 1]
dec ebp
shl ecx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
or ecx, eax
movzx edx, byte [ebp - 1]
dec ebp
shl edx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
or edx, eax
lea eax, [edi - 1]
xor edx, dword [esp + 0x20]
xor ecx, dword [esp + 0x24]
add ebp, edi
add esi, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
cmp eax, 7
ja case.default.0x100745ce
jmp dword [eax*4 + 0x10074c18]
dec esi
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 0x10
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 8
mov byte [esi], al
dec esi
mov byte [esi], cl
dec esi
mov eax, edx
shr eax, 0x18
mov byte [esi], al
dec esi
mov eax, edx
shr eax, 0x10
mov byte [esi], al
dec esi
mov eax, edx
shr eax, 8
mov byte [esi], al
dec esi
mov byte [esi], dl
mov eax, dword [esp + 0x60]
add esi, edi
cmp eax, 0x20
jne 0x10074623
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
jmp 0x10074845
cmp eax, 0x40
jne 0x10074631
mov ebx, edx
mov edx, ecx
jmp 0x10074845
mov ecx, dword [esp + 0x14]
mov eax, ebx
shr eax, 8
mov byte [esp + 0x41], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x42], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x45], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x46], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x49], al
mov byte [esp + 0x44], cl
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x47], cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x4a], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x4d], al
mov eax, ecx
mov byte [esp + 0x4c], cl
shr ecx, 0x18
mov byte [esp + 0x40], bl
shr ebx, 0x18
mov byte [esp + 0x4f], cl
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x43], bl
mov byte [esp + 0x48], dl
shr edx, 0x18
shr eax, 0x10
mov ebx, ecx
mov byte [esp + 0x4b], dl
mov byte [esp + 0x4e], al
and ebx, reloc.WS2_32.dll_getsockopt
jns 0x100746c0
dec ebx
or ebx, 0xfffffff8
inc ebx
mov eax, 0
setne al
add eax, 8
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [esp + eax + 0x44]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.101abee0
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4f]
add esp, 0xc
test ebx, ebx
je 0x100747e5
mov ch, byte [esp + 0x40]
mov cl, bl
shl ch, cl
mov dl, 8
sub dl, bl
mov al, ah
mov cl, dl
shr al, cl
mov cl, bl
shl ah, cl
mov cl, dl
or ch, al
mov byte [esp + 0x1b], ch
mov byte [esp + 0x40], ch
mov ch, byte [esp + 0x42]
mov al, ch
shr al, cl
mov cl, bl
shl ch, cl
mov cl, dl
or ah, al
mov al, dh
shr al, cl
mov cl, bl
shl dh, cl
mov cl, dl
or ch, al
mov al, byte [esp + 0x44]
mov byte [esp + 0x11], al
shr al, cl
mov cl, bl
mov byte [esp + 0x41], ah
mov byte [esp + 0x42], ch
or dh, al
mov al, byte [esp + 0x11]
shl al, cl
mov cl, dl
mov byte [esp + 0x43], dh
mov byte [esp + 0x11], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
shr al, cl
mov cl, byte [esp + 0x11]
or cl, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x11], cl
mov byte [esp + 0x44], cl
mov cl, bl
shl al, cl
mov cl, dl
mov byte [esp + 0x12], al
mov al, byte [esp + 0x46]
mov byte [esp + 0x10], al
shr al, cl
mov cl, byte [esp + 0x12]
or cl, al
mov al, byte [esp + 0x10]
mov byte [esp + 0x12], cl
mov byte [esp + 0x45], cl
mov cl, bl
shl al, cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x13], cl
mov byte [esp + 0x10], al
mov al, cl
mov cl, dl
shr al, cl
mov cl, byte [esp + 0x10]
or cl, al
mov al, byte [esp + 0x48]
mov byte [esp + 0x10], cl
mov byte [esp + 0x46], cl
mov cl, bl
mov bl, byte [esp + 0x13]
shl bl, cl
mov cl, dl
shr al, cl
or bl, al
mov byte [esp + 0x13], bl
mov byte [esp + 0x47], bl
mov cl, bl
mov al, byte [esp + 0x1b]
jmp 0x10074809
mov al, byte [esp + 0x46]
mov cl, byte [esp + 0x47]
mov ch, byte [esp + 0x42]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
mov al, byte [esp + 0x44]
mov byte [esp + 0x11], al
mov al, byte [esp + 0x40]
movzx ebx, al
movzx eax, ah
shl eax, 8
or ebx, eax
movzx eax, ch
shl eax, 0x10
or ebx, eax
movzx eax, dh
movzx edx, byte [esp + 0x11]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esp + 0x12]
shl eax, 8
movzx ecx, cl
or edx, eax
movzx eax, byte [esp + 0x10]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or edx, ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], edx
cmp eax, edi
jae 0x10074530
jmp 0x10074bac
cmp eax, edi
jb 0x10074bb0
mov ebp, dword [esp + 0x58]
push dword [esp + 0x2c]
sub eax, edi
push dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
push dword [esp + 0x3c]
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
call sym.libcrypto_1_1.dll_DES_encrypt3
xor ecx, ecx
xor edx, edx
lea eax, [edi - 1]
add esp, 0x10
add ebp, edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edx
cmp eax, 7
ja case.default.0x100748a3
jmp dword [eax*4 + 0x10074c38]
movzx ecx, byte [ebp - 1]
dec ebp
shl ecx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 1]
dec ebp
or ecx, eax
mov dword [esp + 0x1c], ecx
movzx edx, byte [ebp - 1]
dec ebp
shl edx, 0x18
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 0x10
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
shl eax, 8
or edx, eax
movzx eax, byte [ebp - 1]
dec ebp
or edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x60]
add ebp, edi
cmp eax, 0x20
jne 0x1007490c
mov ebx, dword [esp + 0x14]
jmp 0x10074b32
cmp eax, 0x40
jne 0x1007491a
mov ebx, edx
mov edx, ecx
jmp 0x10074b32
mov ecx, dword [esp + 0x14]
mov eax, ebx
shr eax, 8
mov byte [esp + 0x41], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x42], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x45], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x46], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x49], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x4a], al
mov byte [esp + 0x44], cl
shr ecx, 0x18
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x4b], al
mov byte [esp + 0x47], cl
mov ecx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 8
mov byte [esp + 0x4d], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x40], bl
shr ebx, 0x18
mov byte [esp + 0x4e], al
mov eax, ecx
mov byte [esp + 0x4c], cl
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x43], bl
shr eax, 0x18
mov ebx, ecx
mov byte [esp + 0x48], dl
mov byte [esp + 0x4f], al
and ebx, reloc.WS2_32.dll_getsockopt
jns 0x100749ad
dec ebx
or ebx, 0xfffffff8
inc ebx
mov eax, 0
setne al
add eax, 8
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [esp + eax + 0x44]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.101abee0
mov ah, byte [esp + 0x4d]
mov dh, byte [esp + 0x4f]
add esp, 0xc
test ebx, ebx
je 0x10074ad2
mov ch, byte [esp + 0x40]
mov cl, bl
shl ch, cl
mov dl, 8
sub dl, bl
mov al, ah
mov cl, dl
shr al, cl
mov cl, bl
shl ah, cl
mov cl, dl
or ch, al
mov byte [esp + 0x1b], ch
mov byte [esp + 0x40], ch
mov ch, byte [esp + 0x42]
mov al, ch
shr al, cl
mov cl, bl
shl ch, cl
mov cl, dl
or ah, al
mov al, dh
shr al, cl
mov cl, bl
shl dh, cl
mov cl, dl
or ch, al
mov al, byte [esp + 0x44]
mov byte [esp + 0x10], al
shr al, cl
mov cl, bl
mov byte [esp + 0x41], ah
mov byte [esp + 0x42], ch
or dh, al
mov al, byte [esp + 0x10]
shl al, cl
mov cl, dl
mov byte [esp + 0x43], dh
mov byte [esp + 0x10], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
shr al, cl
mov cl, byte [esp + 0x10]
or cl, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x10], cl
mov byte [esp + 0x44], cl
mov cl, bl
shl al, cl
mov cl, dl
mov byte [esp + 0x12], al
mov al, byte [esp + 0x46]
mov byte [esp + 0x11], al
shr al, cl
mov cl, byte [esp + 0x12]
or cl, al
mov al, byte [esp + 0x11]
mov byte [esp + 0x12], cl
mov byte [esp + 0x45], cl
mov cl, bl
shl al, cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x13], cl
mov byte [esp + 0x11], al
mov al, cl
mov cl, dl
shr al, cl
mov cl, byte [esp + 0x11]
or cl, al
mov al, byte [esp + 0x48]
mov byte [esp + 0x11], cl
mov byte [esp + 0x46], cl
mov cl, bl
mov bl, byte [esp + 0x13]
shl bl, cl
mov cl, dl
shr al, cl
or bl, al
mov byte [esp + 0x13], bl
mov byte [esp + 0x47], bl
mov cl, bl
mov al, byte [esp + 0x1b]
jmp 0x10074af6
mov al, byte [esp + 0x46]
mov cl, byte [esp + 0x47]
mov ch, byte [esp + 0x42]
mov byte [esp + 0x11], al
mov al, byte [esp + 0x45]
mov byte [esp + 0x12], al
mov al, byte [esp + 0x44]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x40]
movzx ebx, al
movzx eax, ah
shl eax, 8
or ebx, eax
movzx eax, ch
shl eax, 0x10
or ebx, eax
movzx eax, dh
movzx edx, byte [esp + 0x10]
shl eax, 0x18
or ebx, eax
movzx eax, byte [esp + 0x12]
shl eax, 8
movzx ecx, cl
or edx, eax
movzx eax, byte [esp + 0x11]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or edx, ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
xor ecx, dword [esp + 0x20]
mov dword [esp + 0x14], edx
lea edx, [edi - 1]
add esi, edi
mov dword [esp + 0x1c], eax
cmp edx, 7
ja case.default.0x10074b57
lea edx, [edi - 1]
jmp dword [edx*4 + 0x10074c58]
dec esi
shr eax, 0x18
mov byte [esi], al
mov eax, dword [esp + 0x1c]
dec esi
shr eax, 0x10
mov byte [esi], al
mov eax, dword [esp + 0x1c]
dec esi
shr eax, 8
mov byte [esi], al
mov eax, dword [esp + 0x1c]
dec esi
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 0x10
mov byte [esi], al
dec esi
mov eax, ecx
shr eax, 8
mov byte [esi], al
dec esi
mov byte [esi], cl
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
add esi, edi
cmp eax, edi
jae 0x10074866
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov byte [eax], bl
mov eax, ebx
shr eax, 8
mov byte [ebp], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp + 1], al
shr ebx, 0x18
mov byte [ebp + 2], bl
mov byte [ebp + 3], dl
mov eax, edx
shr eax, 8
mov byte [ebp + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ebp + 5], al
shr edx, 0x18
mov byte [ebp + 6], dl
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
pop edi
pop esi
xor ecx, esp
call fcn.101aa6fb
add esp, 0x44
ret