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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x10098688]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x74]
and dword [esp + 0x20], 0
or ecx, 0xffffffff
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
mov eax, ecx
push edi
mov ebp, ecx
mov edi, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov ebx, ecx
mov cl, byte [esi]
xor edx, edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], edx
test cl, cl
je 0x1003ea1c
mov dword [esp + 0x50], 0x64
cmp edx, 6
jge 0x1003ea09
and dword [esp + 0x10], 0
jmp 0x1003e69a
movzx eax, cl
push eax
call fcn.1005accf
pop ecx
test eax, eax
jne 0x1003e69e
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x1003e689
movzx eax, byte [esi]
push eax
call fcn.1005acfc
pop ecx
test eax, eax
je 0x1003e7fa
push 7
pop ecx
xor eax, eax
mov byte [esp + 0x58], 0
lea edi, [esp + 0x59]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x58]
push eax
push str._31_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
push esi
call fcn.1005fd76
add esp, 0xc
test eax, eax
je 0x1003e6ec
lea edi, [esp + 0x58]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1003e6e1
sub edi, ecx
jmp 0x1003e6ee
xor edi, edi
cmp dword [esp + 0x28], 0xffffffff
jne 0x1003e759
and dword [esp + 0x28], 0
cmp edi, 3
mov ebp, 0x10084344
mov eax, 0x100842f8
cmovbe ebp, eax
and dword [esp + 0x10], 0
push dword [ebp]
lea eax, [esp + 0x5c]
push eax
call fcn.1003e3c0
pop ecx
test eax, eax
mov eax, dword [esp + 0x14]
pop ecx
jne 0x1003e735
add ebp, 4
inc eax
mov dword [esp + 0x10], eax
cmp eax, 7
jl 0x1003e70f
jmp 0x1003e73d
mov dword [esp + 0x28], 1
mov ebp, dword [esp + 0x14]
or ecx, 0xffffffff
cmp dword [esp + 0x28], 0
cmovne ecx, eax
mov dword [esp + 0x28], ecx
cmp ecx, 0xffffffff
jne 0x1003e7f3
cmp ebp, 0xffffffff
jne 0x1003e7b1
and dword [esp + 0x14], 0
mov eax, 0x10084314
mov dword [esp + 0x10], eax
xor ebp, ebp
push dword [eax]
lea eax, [esp + 0x5c]
push eax
call fcn.1003e3c0
pop ecx
pop ecx
test eax, eax
jne 0x1003e793
mov eax, dword [esp + 0x10]
add eax, 4
inc ebp
mov dword [esp + 0x10], eax
cmp ebp, 0xc
jl 0x1003e76e
jmp 0x1003e79b
mov dword [esp + 0x14], 1
or eax, 0xffffffff
cmp dword [esp + 0x14], 0
cmovne eax, ebp
mov ebp, eax
mov dword [esp + 0x14], eax
cmp ebp, 0xffffffff
jne 0x1003e7f3
cmp ebx, 0xffffffff
jne 0x1003eaf2
mov ebx, 0x10084360
xor ebp, ebp
lea eax, [esp + 0x58]
push ebx
push eax
call fcn.1003e3c0
pop ecx
pop ecx
test eax, eax
jne 0x1003e7e0
add ebx, 0xc
inc ebp
cmp ebp, 0x44
jb 0x1003e7c1
or ebx, 0xffffffff
jmp 0x1003e7e6
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x3c
cmp ebx, 0xffffffff
je 0x1003eaf2
mov ebp, dword [esp + 0x14]
add esi, edi
jmp 0x1003e9f2
movzx eax, byte [esi]
push eax
call fcn.1005ad29
pop ecx
test eax, eax
je 0x1003e9f2
and dword [esp + 0x2c], 0
cmp dword [esp + 0x18], 0xffffffff
jne 0x1003e880
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
push str._02d:_02d:_02d_n
push esi
call fcn.1005fd76
add esp, 0x18
cmp eax, 3
jne 0x1003e848
add esi, dword [esp + 0x2c]
jmp 0x1003e9f2
cmp dword [esp + 0x18], 0xffffffff
jne 0x1003e880
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x3c]
push eax
push str._02d:_02d_n
push esi
call fcn.1005fd76
add esp, 0x14
cmp eax, 2
jne 0x1003e880
add esi, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x1003e9f6
call fcn.100608c9
mov edi, dword [eax]
call fcn.100608c9
and dword [eax], 0
push 0xa
lea eax, [esp + 0x40]
push eax
push esi
call fcn.10061434
add esp, 0xc
mov dword [esp + 0x54], eax
call fcn.100608c9
mov eax, dword [eax]
mov dword [esp + 0x48], eax
call fcn.100608c9
cmp dword [eax], edi
je 0x1003e8be
call fcn.100608c9
mov dword [eax], edi
cmp dword [esp + 0x48], 0
jne 0x1003eaf2
push dword [esp + 0x54]
call fcn.1003de16
pop ecx
mov ecx, eax
cmp ebx, 0xffffffff
jne 0x1003e925
mov eax, dword [esp + 0x3c]
sub eax, esi
cmp eax, 4
jne 0x1003e925
cmp ecx, 0x578
jg 0x1003e925
cmp dword [esp + 0x4c], esi
jae 0x1003e925
mov al, byte [esi - 1]
mov byte [esp + 0x27], al
cmp al, 0x2b
je 0x1003e902
cmp al, 0x2d
jne 0x1003e925
mov eax, ecx
cdq
push 0x64
pop ebx
idiv ebx
xor edi, edi
inc edi
mov ebx, eax
imul ebx, ebx, 0x3c
add ebx, edx
imul ebx, ebx, 0x3c
mov eax, ebx
neg eax
cmp byte [esp + 0x27], 0x2b
cmove ebx, eax
jmp 0x1003e929
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
sub eax, esi
mov esi, dword [esp + 0x1c]
cmp eax, 8
jne 0x1003e976
cmp esi, 0xffffffff
jne 0x1003e976
cmp ebp, esi
jne 0x1003e976
cmp edx, esi
jne 0x1003e976
mov eax, ecx
cdq
mov esi, 0x2710
idiv esi
push 0x64
pop ebp
xor edi, edi
inc edi
mov esi, eax
mov eax, edx
cdq
idiv ebp
mov dword [esp + 0x1c], esi
lea ebp, [eax - 1]
mov eax, ecx
cdq
idiv dword [esp + 0x50]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], edx
test edi, edi
jne 0x1003e9ee
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x1003e9a5
cmp edx, 0xffffffff
jne 0x1003eaf2
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x1003e99a
mov edx, ecx
mov dword [esp + 0x20], edx
inc edi
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
test edi, edi
jne 0x1003e9ee
cmp eax, 1
jne 0x1003eaf2
cmp esi, 0xffffffff
jne 0x1003eaf2
mov dword [esp + 0x1c], ecx
cmp ecx, 0x76c
jge 0x1003e9e2
cmp ecx, 0x46
jle 0x1003e9d8
lea eax, [ecx + 0x76c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
jmp 0x1003e9e2
add ecx, 0x7d0
mov dword [esp + 0x1c], ecx
xor ecx, ecx
cmp edx, 0xffffffff
cmove eax, ecx
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x44]
mov cl, byte [esi]
inc edx
mov dword [esp + 0x44], edx
test cl, cl
jne 0x1003e679
mov edi, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x1003ea1c
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
jmp 0x1003ea22
xor ecx, ecx
xor edx, edx
xor eax, eax
mov esi, dword [esp + 0x20]
cmp esi, 0xffffffff
je 0x1003eaf2
cmp ebp, 0xffffffff
je 0x1003eaf2
cmp edi, 0xffffffff
je 0x1003eaf2
cmp edi, 0x7b2
jge 0x1003ea5c
mov eax, dword [esp + 0x38]
push 2
and dword [eax], 0
and dword [eax + 4], 0
pop eax
jmp 0x1003eaf5
cmp esi, 0x1f
jg 0x1003eaf2
cmp ebp, 0xb
jg 0x1003eaf2
cmp ecx, 0x17
jg 0x1003eaf2
cmp edx, 0x3b
jg 0x1003eaf2
cmp eax, 0x3c
jg 0x1003eaf2
mov dword [esp + 0x58], eax
lea eax, [edi - 0x76c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebp
call fcn.1003e512
mov esi, eax
pop ecx
mov edi, edx
cmp esi, 0xffffffff
je 0x1003eae5
xor ecx, ecx
cmp ebx, 0xffffffff
cmovne ecx, ebx
test ecx, ecx
jle 0x1003eade
mov ebx, accept
mov eax, ebx
sub eax, ecx
cdq
cmp edi, edx
jl 0x1003eade
jg 0x1003eacf
cmp esi, eax
jbe 0x1003eade
mov eax, dword [esp + 0x38]
and dword [eax + 4], 0
mov dword [eax], ebx
xor eax, eax
inc eax
jmp 0x1003eaf5
mov eax, ecx
cdq
add esi, eax
adc edi, edx
mov eax, dword [esp + 0x38]
mov dword [eax], esi
mov dword [eax + 4], edi
xor eax, eax
jmp 0x1003eaf5
or eax, 0xffffffff
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005c9a6
add esp, 0x6c
ret