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

Disassembly:
push 0xffffffffffffffff
push 0x560c66
mov eax, dword fs:[0]
push eax
mov eax, 0xa430
call fcn.00541260
mov eax, dword [0x5b7a9c]
xor eax, esp
mov dword [esp + 0xa42c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b7a9c]
xor eax, esp
push eax
lea eax, [esp + 0xa444]
mov dword fs:[0], eax
mov edi, dword [esp + 0xa458]
mov ebx, dword [esp + 0xa454]
xor ebp, ebp
mov esi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
cmp dword [0x5ed710], ebp
je 0x445af9
push edi
lea eax, [esp + 0x88c]
push 0x208
push eax
call fcn.0054013c
push 0x578e20
lea ecx, [esp + 0x898]
push 0x208
push ecx
call fcn.005400bf
lea edx, [esp + 0x8a0]
mov eax, edx
push eax
lea ecx, [esp + 0x84]
push 0x208
push ecx
mov dword [esp + 0x38], edx
call fcn.0054013c
push 0x578e1c
lea edx, [esp + 0x90]
push 0x208
push edx
call fcn.005400bf
mov edi, dword [esp + 0x44]
add esp, 0x30
mov eax, dword [esi + 0xb4]
mov dword [esp + 0x38], ebp
cmp eax, 1
je 0x445b0d
cmp eax, 2
jne 0x445b2f
push 0x1a
lea eax, [esp + 0x24]
push eax
push edi
mov ecx, esi
call fcn.00441480
mov dword [esp + 0x38], eax
cmp eax, ebp
jne 0x445c8c
xor eax, eax
jmp 0x445fb1
mov ecx, dword [esp + 0xa45c]
push ecx
mov ecx, esi
call fcn.00441fd0
test eax, eax
je 0x445b28
push edi
mov ecx, esi
call fcn.00443a80
mov edi, eax
lea eax, [esp + 0x478]
xor edx, edx
push eax
mov ecx, esi
mov dword [esp + 0x18], edi
mov word [esp + 0x47c], dx
call fcn.00442a80
test eax, eax
je 0x445bd5
lea ecx, [esp + 0x478]
push ecx
push edi
call fcn.005422d6
add esp, 8
test eax, eax
je 0x445bb9
lea eax, [esp + 0x478]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x445b90
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2]
mov edx, 0x2f
mov dword [esp + 0x14], eax
cmp dx, word [eax]
jne 0x445bb5
add dword [esp + 0x14], 2
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x478]
push eax
lea ecx, [esi + 0x4fc]
push 0x208
push ecx
call fcn.0054013c
add esp, 0xc
push edi
lea edx, [esp + 0x1480]
push str.STOR__s_r_n
push edx
call fcn.0043bbf0
lea eax, [esp + 0x1488]
add esp, 0xc
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x445bf5
push ebp
push ebp
sub eax, edx
push 0x7e1
sar eax, 1
lea ecx, [esp + 0xca4]
push ecx
push eax
mov eax, dword [esi + 0xbc]
neg eax
lea edx, [esp + 0x1490]
push edx
sbb eax, eax
push ebp
and eax, 0xfde9
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea ecx, [esp + 0xc98]
push ecx
mov ecx, esi
mov byte [esp + eax + 0xc9c], 0
call fcn.004ae610
test eax, eax
je 0x445b28
mov ecx, esi
call fcn.00442290
test eax, eax
je 0x445b28
push 0x7e2
lea edx, [esp + 0x1480]
push edx
mov ecx, esi
call fcn.0043c2f0
add eax, 0xffffff9c
cmp eax, 0x63
ja 0x445b28
mov ecx, esi
call fcn.00442260
test eax, eax
je 0x445cc6
lea ecx, [esp + 0x2c]
call fcn.0044fce0
push 1
push ebp
push accept
push ebx
lea ecx, [esp + 0x3c]
mov dword [esp + 0xa45c], ebp
call fcn.00450840
lea ecx, [esp + 0x2c]
test eax, eax
jne 0x445ccd
mov dword [esp + 0xa44c], 0xffffffff
call fcn.0044fd20
xor eax, eax
jmp 0x445fb1
push ebp
call fcn.0044d2f0
mov ebx, eax
mov eax, dword [esi + 0xb4]
mov dword [esp + 0x28], ebx
cmp eax, 1
je 0x445ce9
cmp eax, 2
jne 0x445d14
mov ecx, dword [esi + 0x1ea0]
add ecx, 0xfffffc00
cmp ecx, 0x8000
jg 0x445d14
cmp ecx, 0x400
jge 0x445d0c
mov ecx, 0x400
jmp 0x445d19
cmp ecx, 0x8000
jle 0x445d19
mov ecx, 0x8000
xor edi, edi
mov dword [esp + 0x18], ecx
lea ebp, [edi + 1]
mov dword [esp + 0x1c], edi
test ebx, ebx
jle 0x445dfa
mov edi, edi
cmp dword [esi + 0xd4], 0
jne 0x445df0
cmp ecx, ebx
jle 0x445d47
mov ecx, ebx
mov dword [esp + 0x18], ecx
push 0
push ecx
lea eax, [esp + 0x2448]
push eax
lea ecx, [esp + 0x38]
call fcn.00450970
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jne 0x445df8
mov eax, dword [esi + 0xb4]
cmp eax, 1
je 0x445d77
cmp eax, 2
jne 0x445d94
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
push ecx
push edi
lea ecx, [esp + 0x2448]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00441760
jmp 0x445da6
push 1
push ecx
lea ecx, [esp + 0x2448]
push ecx
mov ecx, esi
call fcn.004adca0
test eax, eax
je 0x445df0
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0xe8]
sub ebx, ecx
add edi, ecx
test eax, eax
je 0x445dd4
mov ecx, dword [esp + 0xa460]
push 4
lea edx, [esp + 0x1c]
push edx
push 0x1f
push ecx
push esi
call eax
mov ecx, dword [esp + 0x18]
cmp dword [esi + 0xd4], 0
jne 0x445de7
test ebx, ebx
jg 0x445d30
jmp 0x445dfa
mov ecx, esi
call fcn.004401f0
jmp 0x445dfa
mov dword [esp + 0x1c], 1
xor ebp, ebp
lea ecx, [esp + 0x2c]
call fcn.0044d2c0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
push edx
push eax
mov ecx, esi
call fcn.00441330
mov ecx, esi
call fcn.004ad8c0
test ebp, ebp
je 0x445e45
cmp dword [esp + 0x28], 0
jle 0x445e45
test ebx, ebx
jle 0x445e45
lea ecx, [esp + 0x2c]
mov dword [esp + 0xa44c], 0xffffffff
call fcn.0044fd20
xor eax, eax
jmp 0x445fb1
cmp dword [esp + 0x1c], 0
jne 0x445e7a
mov eax, dword [esi + 0xb4]
cmp eax, 1
je 0x445e7a
cmp eax, 2
je 0x445e7a
push 0x7e2
lea ecx, [esp + 0x1480]
push ecx
mov ecx, esi
call fcn.0043c2f0
add eax, 0xffffff38
cmp eax, 0x63
ja 0x445e2a
test ebp, ebp
je 0x445f9b
cmp dword [0x5ed710], 0
je 0x445f9b
mov ebp, dword [esp + 0x24]
xor ebx, ebx
push ebx
lea edx, [esp + 0x6c]
push edx
push ebp
mov ecx, esi
call fcn.00444e10
mov edi, eax
test edi, edi
jne 0x445ec5
lea eax, [esp + 0x68]
push eax
mov ecx, esi
call fcn.004431a0
push edi
lea ecx, [esp + 0x6c]
push ecx
push ebp
mov ecx, esi
call fcn.00444e10
mov edi, eax
cmp edi, 1
jne 0x445eec
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.004451e0
mov ebx, eax
mov ecx, dword [esp + 0x14]
push 0
push ebp
push ecx
mov ecx, esi
call fcn.00444e10
mov ebp, eax
dec ebp
neg ebp
sbb ebp, ebp
add ebp, 1
je 0x445f83
test ebx, ebx
je 0x445f64
lea edx, [esp + 0x40]
push edx
mov ecx, esi
call fcn.0043b780
lea ecx, [esp + 0x1c]
mov ebx, eax
call fcn.00401d40
push ebx
lea eax, [esp + 0x20]
push 0x578e00
push eax
mov byte [esp + 0xa458], 1
call fcn.00406020
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
add esp, 0xc
push ecx
push edx
push eax
mov ecx, esi
call fcn.00443400
lea ecx, [esp + 0x1c]
mov byte [esp + 0xa44c], 0
call fcn.00401b70
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004431a0
cmp edi, 1
jne 0x445f9b
lea edx, [esp + 0x68]
push edx
mov ecx, esi
call fcn.004431a0
jmp 0x445f9b
cmp edi, 1
jne 0x445f9b
mov eax, dword [esp + 0x24]
push 0
push eax
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
call fcn.00444e10
lea ecx, [esp + 0x2c]
mov dword [esp + 0xa44c], 0xffffffff
call fcn.0044fd20
mov eax, ebp
mov ecx, dword [esp + 0xa444]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa42c]
xor ecx, esp
call fcn.0053fa67
add esp, 0xa43c
ret 0x10