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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x58d224]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x74]
or ecx, 0xffffffff
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7c]
or ebp, ecx
mov dword [esp + 0x40], eax
xor edx, edx
mov dword [esp + 0x28], ecx
or ebx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ecx
mov al, byte [esi]
push edi
or edi, ecx
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], edx
test al, al
je 0x45ef27
mov dword [esp + 0x4c], 0x54f4a4
nop dword [eax + eax]
cmp edx, 6
jge 0x45ecbf
mov byte [esp + 0x13], 0
nop
movzx eax, al
push eax
call fcn.0051feca
add esp, 4
test eax, eax
jne 0x45eb48
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45eb30
movzx eax, byte [esi]
push eax
call fcn.0051fefe
add esp, 4
test eax, eax
je 0x45ecd7
lea eax, [esp + 0x58]
xorps xmm0, xmm0
push eax
push str._31_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
push esi
movups xmmword [esp + 0x64], xmm0
movups xmmword [esp + 0x74], xmm0
call fcn.00446510
add esp, 0xc
test eax, eax
je 0x45eb92
lea edi, [esp + 0x58]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x45eb87
sub edi, ecx
jmp 0x45eb94
xor edi, edi
cmp dword [esp + 0x28], 0xffffffff
jne 0x45ebf9
cmp edi, 3
mov byte [esp + 0x13], 0
mov ebp, 0x54f458
mov dword [esp + 0x28], 0
cmova ebp, dword [esp + 0x4c]
push dword [ebp]
lea eax, [esp + 0x5c]
push eax
call fcn.0045e7d0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x28]
jne 0x45ebdc
inc eax
add ebp, 4
mov dword [esp + 0x28], eax
cmp eax, 7
jl 0x45ebb5
jmp 0x45ebe1
mov byte [esp + 0x13], 1
or ecx, 0xffffffff
cmp byte [esp + 0x13], 0
cmovne ecx, eax
mov dword [esp + 0x28], ecx
cmp ecx, 0xffffffff
jne 0x45ec9e
cmp dword [esp + 0x14], 0xffffffff
jne 0x45ec4f
mov eax, 0x54f474
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], eax
xor ebp, ebp
push dword [eax]
lea eax, [esp + 0x5c]
push eax
call fcn.0045e7d0
add esp, 8
test eax, eax
jne 0x45ec36
mov eax, dword [esp + 0x14]
inc ebp
add eax, 4
mov dword [esp + 0x14], eax
cmp ebp, 0xc
jl 0x45ec10
jmp 0x45ec3b
mov byte [esp + 0x13], 1
or eax, 0xffffffff
cmp byte [esp + 0x13], 0
cmovne eax, ebp
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x45ec9e
cmp ebx, 0xffffffff
jne 0x45ec7b
mov ebx, 0x54f4c0
xor ebp, ebp
nop dword [eax + eax]
lea eax, [esp + 0x58]
push ebx
push eax
call fcn.0045e7d0
add esp, 8
test eax, eax
jne 0x45ec91
inc ebp
add ebx, 0xc
cmp ebp, 0x44
jb 0x45ec60
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004d4e68
add esp, 0x6c
ret
mov eax, dword [ebx + 8]
mov ebx, eax
shl ebx, 4
sub ebx, eax
shl ebx, 2
add esi, edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov al, byte [esi]
inc edx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x34], edx
test al, al
jne 0x45eb20
cmp dword [esp + 0x1c], 0xffffffff
je 0x45ef27
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
jmp 0x45ef2f
movzx eax, byte [esi]
push eax
call fcn.0051ff32
add esp, 4
test eax, eax
je 0x45eca4
cmp dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x38], 0
jne 0x45ed5d
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x38]
push eax
push str._02d:_02d:_02d_n
push esi
call fcn.00446510
add esp, 0x18
cmp eax, 3
jne 0x45ed23
add esi, dword [esp + 0x38]
jmp 0x45eca4
cmp dword [esp + 0x1c], 0xffffffff
jne 0x45ed5d
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x34]
push eax
push str._02d:_02d_n
push esi
call fcn.00446510
add esp, 0x14
cmp eax, 2
jne 0x45ed5d
add esi, dword [esp + 0x38]
mov dword [esp + 0x1c], 0
jmp 0x45eca4
call fcn.00517c0f
mov edi, dword [eax]
call fcn.00517c0f
push 0xa
mov dword [eax], 0
lea eax, [esp + 0x40]
push eax
push esi
call fcn.0051fb8f
add esp, 0xc
mov dword [esp + 0x54], eax
call fcn.00517c0f
mov eax, dword [eax]
mov dword [esp + 0x50], eax
call fcn.00517c0f
cmp dword [eax], edi
je 0x45ed9e
call fcn.00517c0f
mov dword [eax], edi
cmp dword [esp + 0x50], 0
jne 0x45ec7b
push dword [esp + 0x54]
call fcn.0045e120
mov ecx, dword [esp + 0x40]
add esp, 4
mov edi, eax
cmp ebx, 0xffffffff
jne 0x45ee1d
mov eax, ecx
sub eax, esi
cmp eax, 4
jne 0x45ee1d
cmp edi, 0x578
jg 0x45ee1d
cmp dword [esp + 0x48], esi
jae 0x45ee1d
mov al, byte [esi - 1]
mov byte [esp + 0x23], al
cmp al, 0x2b
je 0x45ede6
cmp al, 0x2d
jne 0x45ee1d
mov eax, 0x51eb851f
mov byte [esp + 0x13], 1
imul edi
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
shl eax, 3
sub ecx, eax
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
mov ecx, dword [esp + 0x3c]
shl ebx, 2
cmp byte [esp + 0x23], 0x2b
jne 0x45ee1d
neg ebx
mov eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, esi
cmp eax, 8
mov eax, dword [esp + 0x18]
jne 0x45ee93
cmp ebp, 0xffffffff
jne 0x45ee93
cmp ecx, ebp
jne 0x45ee93
cmp eax, ebp
jne 0x45ee93
mov eax, 0x68db8bad
mov esi, dword [esp + 0x3c]
imul edi
mov ecx, edi
sar edx, 0xc
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
imul eax, ebp, 0x2710
mov dword [esp + 0x30], ebp
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
mov eax, 0x51eb851f
sar edx, 5
mov ecx, edx
dec edx
shr ecx, 0x1f
add ecx, edx
imul edi
mov dword [esp + 0x14], ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub edi, eax
mov dword [esp + 0x18], edi
jmp 0x45eca8
cmp byte [esp + 0x13], 0
jne 0x45eece
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x45eedb
cmp eax, 0xffffffff
jne 0x45ec7b
lea eax, [edi - 1]
cmp eax, 0x1e
ja 0x45eebd
mov eax, edi
mov dword [esp + 0x18], eax
mov al, 1
jmp 0x45eec1
mov al, byte [esp + 0x13]
mov edx, 1
mov dword [esp + 0x40], edx
test al, al
je 0x45eee4
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
jmp 0x45eca8
cmp edx, 1
jne 0x45ec7b
cmp ebp, 0xffffffff
jne 0x45ec7b
mov dword [esp + 0x30], edi
cmp edi, 0x76c
jge 0x45ef0e
lea eax, [edi + 0x76c]
cmp edi, 0x46
jg 0x45ef0a
lea eax, [edi + 0x7d0]
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x18]
xor eax, eax
mov esi, dword [esp + 0x3c]
cmp edi, 0xffffffff
cmove edx, eax
mov dword [esp + 0x40], edx
jmp 0x45eca8
xor eax, eax
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], eax
cmp edi, 0xffffffff
je 0x45ec7b
cmp ecx, 0xffffffff
je 0x45ec7b
cmp ebp, 0xffffffff
je 0x45ec7b
cmp ebp, 0x7b2
jge 0x45ef83
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, 2
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004d4e68
add esp, 0x6c
ret
cmp edi, 0x1f
jg 0x45ec7b
cmp ecx, 0xb
jg 0x45ec7b
cmp eax, 0x17
jg 0x45ec7b
cmp edx, 0x3b
jg 0x45ec7b
cmp dword [esp + 0x1c], 0x3c
jg 0x45ec7b
lea eax, [ebp - 0x76c]
cmp eax, 0x46
jge 0x45efc7
or esi, 0xffffffff
or ebp, esi
jmp 0x45f0da
test ecx, ecx
jns 0x45efe9
mov eax, 0xb
mov esi, 0xc
sub eax, ecx
cdq
idiv esi
add ebp, eax
mov eax, 0xb
sub eax, edx
mov dword [esp + 0x24], eax
jmp 0x45f012
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x45f012
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
sub ebp, eax
lea eax, [eax + eax*2]
shl eax, 2
sub edx, eax
mov dword [esp + 0x24], edx
xor eax, eax
mov esi, ebp
cmp ecx, 1
push 0
setle al
sub esi, eax
mov eax, 0x51eb851f
imul esi
mov eax, 0x51eb851f
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul esi
push 0x15180
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, esi
cdq
add ecx, 0xfffffe23
and edx, 3
add eax, edx
sar eax, 2
add eax, ecx
mov ecx, 0x15180
imul ecx
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x2c]
mov edx, 0x15180
mov eax, dword [eax*4 + 0x54f7f0]
imul edx
add esi, eax
lea eax, [ebp - 0x7b2]
adc ecx, edx
mov dword [esp + 0x50], ecx
mov ecx, 0x16d
imul ecx
push edx
push eax
call fcn.004d52e0
mov ebp, dword [esp + 0x48]
add esi, eax
mov ecx, 0x15180
mov eax, edi
adc ebp, edx
imul ecx
mov ecx, 0xe10
add esi, eax
mov eax, dword [esp + 0x34]
adc ebp, edx
imul ecx
mov ecx, 0x3c
add esi, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
imul ecx
add esi, eax
mov eax, dword [esp + 0x1c]
adc ebp, edx
cdq
add esi, eax
adc ebp, edx
sub esi, 0x15180
sbb ebp, 0
cmp esi, 0xffffffff
je 0x45f12d
xor ecx, ecx
cmp ebx, 0xffffffff
cmovne ecx, ebx
test ecx, ecx
jle 0x45f126
mov eax, accept
sub eax, ecx
cdq
cmp ebp, edx
jl 0x45f126
jg 0x45f0fd
cmp esi, eax
jbe 0x45f126
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
mov dword [eax], accept
mov dword [eax + 4], 0
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004d4e68
add esp, 0x6c
ret
mov eax, ecx
cdq
add esi, eax
adc ebp, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
pop edi
mov dword [eax], esi
pop esi
mov dword [eax + 4], ebp
xor eax, eax
pop ebp
pop ebx
xor ecx, esp
call fcn.004d4e68
add esp, 0x6c
ret