Function at 0x450950
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x18]
fldz
push ebp
fstp qword [esp + 8]
mov ebp, eax
and eax, 0x3fffffff
push esi
mov esi, eax
mov eax, dword [esp + 0x18]
and ebp, 0xc0000000
test eax, eax
mov dword [esp + 8], 0
jne 0x450989
pop esi
or eax, 0xffffffff
pop ebp
add esp, 0xc
ret 0x10
push edi
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x4509a2
test ebp, ebp
je 0x4509b8
pop edi
pop esi
or eax, 0xffffffff
pop ebp
add esp, 0xc
ret 0x10
test ebp, ebp
jg 0x4509c2
je 0x4509b8
cmp ebp, 0x80000000
je 0x4509be
cmp ebp, 0xc0000000
jne 0x4509ce
lea edx, [esp + 0xc]
jmp 0x4509d2
mov edx, edi
jmp 0x4509d2
cmp ebp, 0x40000000
lea edx, [esp + 0x10]
je 0x4509d2
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp ecx, 0x80120000
jg 0x450ba3
je 0x450b5e
cmp ecx, 0x80090000
jg 0x450b34
je 0x450bdb
cmp ecx, 0x80050000
jg 0x450af4
je 0x450ae5
cmp ecx, 0x80030000
jg 0x450aca
je 0x450abc
cmp ecx, 0x80010000
je 0x450a76
cmp ecx, 0x80020000
jne 0x450d02
test edi, edi
je 0x450cc8
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
mov edx, dword [eax + 0xc]
mov esi, edi
mov dword [edi + 0xc], edx
mov byte [edi + 0x10], 0
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
add esi, 1
test al, al
jne 0x450a60
sub esi, ecx
pop edi
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret 0x10
test edi, edi
je 0x450cc8
mov ecx, dword [eax + 0x10]
mov dword [edi], ecx
mov edx, dword [eax + 0x14]
mov dword [edi + 4], edx
mov ecx, dword [eax + 0x18]
mov dword [edi + 8], ecx
mov dx, word [eax + 0x1c]
mov word [edi + 0xc], dx
mov al, byte [eax + 0x1e]
mov esi, edi
mov byte [edi + 0xe], al
mov byte [edi + 0x10], 0
lea ecx, [esi + 1]
mov al, byte [esi]
add esi, 1
test al, al
jne 0x450aa6
sub esi, ecx
pop edi
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret 0x10
mov ecx, dword [eax]
mov dword [edx], ecx
mov esi, 4
jmp 0x450d67
cmp ecx, 0x80040000
jne 0x450d02
mov eax, dword [eax + 4]
mov dword [edx], eax
mov esi, 4
jmp 0x450d67
mov ecx, dword [eax + 8]
mov dword [edx], ecx
mov esi, 4
jmp 0x450d67
cmp ecx, 0x80060000
je 0x450b25
cmp ecx, 0x80070000
je 0x450b93
cmp ecx, 0x80080000
jne 0x450d02
mov ax, word [eax + 2]
mov word [edx], ax
mov esi, 2
jmp 0x450d67
mov eax, dword [eax + 0xc]
mov dword [edx], eax
mov esi, 4
jmp 0x450d67
cmp ecx, 0x800d0000
jg 0x450b77
je 0x450bf6
cmp ecx, 0x800a0000
je 0x450b66
cmp ecx, 0x800b0000
je 0x450b93
cmp ecx, 0x800c0000
jne 0x450d02
mov al, byte [eax + 2]
jmp 0x450d60
mov ax, word [eax + 6]
mov word [edx], ax
mov esi, 2
jmp 0x450d67
cmp ecx, 0x800e0000
je 0x450bec
cmp ecx, 0x80100000
je 0x450c03
cmp ecx, 0x80110000
jne 0x450d02
mov cx, word [eax]
mov word [edx], cx
mov esi, 2
jmp 0x450d67
cmp ecx, 0x801c0000
jg 0x450ca2
je 0x450c83
cmp ecx, 0x80160000
jg 0x450c39
je 0x450c03
cmp ecx, 0x80130000
je 0x450bf6
cmp ecx, 0x80140000
je 0x450bec
cmp ecx, 0x80150000
jne 0x450d02
mov cx, word [eax + 4]
mov word [edx], cx
mov esi, 2
jmp 0x450d67
mov al, byte [eax + 3]
and al, 0xf
jmp 0x450d60
mov cl, byte [eax + 3]
and cl, 0xf0
mov byte [edx], cl
jmp 0x450d62
test edi, edi
je 0x450cc8
add eax, 6
mov edx, edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x450c12
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
add esi, 1
test al, al
jne 0x450c23
sub esi, ecx
pop edi
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret 0x10
cmp ecx, 0x80180000
je 0x450cc4
cmp ecx, 0x80190000
je 0x450c67
cmp ecx, 0x801b0000
jne 0x450d02
mov eax, dword [eax]
mov dword [edx], eax
mov esi, 4
jmp 0x450d67
movzx esi, word [eax]
push esi
add eax, 2
push eax
push edi
call fcn.00476380
add esp, 0xc
pop edi
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret 0x10
test edi, edi
je 0x450cc8
mov ecx, dword [eax + 4]
mov dword [edi], ecx
mov edx, dword [eax + 8]
mov esi, 8
mov dword [edi + 4], edx
pop edi
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret 0x10
cmp ecx, 0x80270000
jg 0x450cea
je 0x450cc4
cmp ecx, 0x80200000
je 0x450cde
cmp ecx, 0x80210000
je 0x450cd4
cmp ecx, 0x80230000
jne 0x450d02
test edi, edi
jne 0x450c67
pop edi
pop esi
or eax, 0xffffffff
pop ebp
add esp, 0xc
ret 0x10
mov al, byte [eax]
shr al, 2
jmp 0x450d5e
mov cl, byte [eax]
shr cl, 3
and cl, 1
mov byte [edx], cl
jmp 0x450d62
cmp ecx, 0xc0010000
je 0x450d5a
cmp ecx, 0xc0020000
je 0x450d51
cmp ecx, 0xc0030000
je 0x450d4a
cmp ebp, 0x40000000
jne 0x450d1e
cmp esi, 8
jg 0x450cc8
push esi
add eax, ecx
push eax
push edx
call fcn.00476380
add esp, 0xc
jmp 0x450d93
cmp esi, 4
jg 0x450d32
push esi
add eax, ecx
push eax
push edx
call fcn.00476380
add esp, 0xc
jmp 0x450d67
test edi, edi
je 0x450cc8
push esi
add eax, ecx
push eax
push edi
call fcn.00476380
mov ebp, accept
add esp, 0xc
jmp 0x450d67
mov al, byte [eax]
shr al, 6
jmp 0x450d5e
mov cl, byte [eax]
and cl, 1
mov byte [edx], cl
jmp 0x450d62
mov al, byte [eax]
shr al, 1
and al, 1
mov byte [edx], al
mov esi, 1
test ebp, ebp
jne 0x450d78
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebp
add esp, 0xc
ret 0x10
cmp ebp, 0x80000000
jne 0x450d8b
pop edi
mov eax, esi
pop esi
pop ebp
add esp, 0xc
ret 0x10
cmp ebp, 0x40000000
jne 0x450dd4
fld qword [esp + 0x10]
sub esp, 8
fstp qword [esp]
push str.__15.15g
push edi
call fcn.00476c39
mov eax, edi
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x450db0
sub eax, edx
lea eax, [eax + edi - 1]
cmp eax, edi
je 0x450dec
cmp byte [eax], 0x20
jne 0x450dec
mov byte [eax], 0
sub eax, 1
cmp eax, edi
jne 0x450dc3
jmp 0x450dec
cmp ebp, 0xc0000000
jne 0x450dec
mov ecx, dword [esp + 0xc]
push 0xa
push edi
push ecx
call fcn.004745e3
add esp, 0xc
lea ecx, [edi + 1]
nop
mov al, byte [edi]
add edi, 1
test al, al
jne 0x450df0
sub edi, ecx
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0xc
ret 0x10